lang-simpleboolean v0.10.0
lang-simpleboolean CodeMirror 6 Language Package
lang-simpleboolean is a language package for CodeMirror 6. It is a simple boolean-based query language that allows for statements such as blue AND red to be parsed to various components via @lezer/lr.

The package comes with code highlighting (Operators are shaded cyan, while Identifiers are magenta, and so on) as per CodeMirror, to enable use a CodeMirror theme such as theme-simple-white.
Language Grammar
In order of precedence in the parse tree generated from @lezer/lr.
expression- any combination of the below grammarAND- operator token for theANDoperationOR- operator token for theORoperationNOT- operator token for theNOToperation(and)- parenthesis for use inApplicationString- anyIdentifersin double quotes (")Boolean-#tor#fare demarcated as true or falseSpace- a" "character is identified in the tree for whitespace-sensitive applicationsTab- a\tcharacter is identified in the tree for whitespace-sensitive applicationsCarriageReturn- a\ncharacter is identified in the tree for whitespace-sensitive applicationsApplication- anexpressionthat is enclosed automatically with(and)BooleanExpression- anexpressionthat contains anIdentifier, an operator token (AND/OR/NOT), and then anIdentifier, can be nestedIdentifier- any character that is not whitespace nor is already an operator token
Example Usage
The language package can be used by adding the following lines to your CodeMirror instance:
import { simpleBooleanCompletion, simpleBoolean } from 'lang-simpleboolean';
...
const state = EditorState.create({
...
extensions: [
...
simpleBoolean(),
simpleBooleanCompletion([
{ label: "example1", type: "constant" }, // these are example custom Completion objects
{ label: "example2", type: "constant" }, // they are autocompletion suggestions you can input
{ label: "example3", type: "constant" },
{ label: "example4", type: "keyword" },
]),
onUpdate,
],
});Refer to the CodeMirror 6 Autocomplete Documentation on Completion objects for more information on what can be passed into simpleBooleanCompletion.
API Reference
Language simpleBooleanLanguage
See Language class documentation.
function simpleBooleanCompletion(completeFromListParameter: Completion[]=[]) => Extension
See Extension class documentation and Code Mirror 6 autocomplete documentation.
function simpleBoolean() => LanguageSupport
See LanguageSupport class documentation.
License
MIT License © Shreyas Tallamraju