clone of github.com/decent-newsroom/newsroom
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
silberengel 5021ba7335 initial attempt 18 hours ago
..
.github/workflows initial attempt 18 hours ago
dist initial attempt 18 hours ago
CHANGELOG.md initial attempt 18 hours ago
LICENSE initial attempt 18 hours ago
README.md initial attempt 18 hours ago
package.json initial attempt 18 hours ago

README.md

@codemirror/language NPM version

[ WEBSITE | DOCS | ISSUES | FORUM | CHANGELOG ]

This package implements the language support infrastructure for the CodeMirror code editor.

The project page has more information, a number of examples and the documentation.

This code is released under an MIT license.

We aim to be an inclusive, welcoming community. To make that explicit, we have a code of conduct that applies to communication around the project.

Usage

Setting up a language from a Lezer parser looks like this:

import {parser} from "@lezer/json"
import {LRLanguage, continuedIndent, indentNodeProp,
        foldNodeProp, foldInside} from "@codemirror/language"

export const jsonLanguage = LRLanguage.define({
  name: "json",
  parser: parser.configure({
    props: [
      indentNodeProp.add({
        Object: continuedIndent({except: /^\s*\}/}),
        Array: continuedIndent({except: /^\s*\]/})
      }),
      foldNodeProp.add({
        "Object Array": foldInside
      })
    ]
  }),
  languageData: {
    closeBrackets: {brackets: ["[", "{", '"']},
    indentOnInput: /^\s*[\}\]]$/
  }
})

Often, you'll also use this package just to access some specific language-related features, such as accessing the editor's syntax tree...

import {syntaxTree} from "@codemirror/language"

const tree = syntaxTree(view)

... or computing the appriate indentation at a given point.

import {getIndentation} from "@codemirror/language"

console.log(getIndentation(view.state, view.state.selection.main.head))