|
@@ -1,22 +1,30 @@
|
|
|
-import {parser} from "./syntax.grammar"
|
|
|
-import {LRLanguage, LanguageSupport, indentNodeProp, foldNodeProp, foldInside, delimitedIndent} from "@codemirror/language"
|
|
|
-import {styleTags, tags as t} from "@codemirror/highlight"
|
|
|
+import { parser } from "./syntax.grammar"
|
|
|
+import {
|
|
|
+ LRLanguage,
|
|
|
+ LanguageSupport,
|
|
|
+ indentNodeProp,
|
|
|
+ foldNodeProp,
|
|
|
+ foldInside,
|
|
|
+ delimitedIndent,
|
|
|
+} from "@codemirror/language"
|
|
|
+import { styleTags, tags as t } from "@codemirror/highlight"
|
|
|
|
|
|
export const GQLLanguage = LRLanguage.define({
|
|
|
parser: parser.configure({
|
|
|
props: [
|
|
|
indentNodeProp.add({
|
|
|
- "SelectionSet FieldsDefinition ObjectValue SchemaDefinition RootTypeDef": delimitedIndent({ closing: "}", align: true }),
|
|
|
+ "SelectionSet FieldsDefinition ObjectValue SchemaDefinition RootTypeDef":
|
|
|
+ delimitedIndent({ closing: "}", align: true }),
|
|
|
}),
|
|
|
foldNodeProp.add({
|
|
|
Application: foldInside,
|
|
|
- "SelectionSet FieldsDefinition ObjectValue RootOperationTypeDefinition RootTypeDef": (node) => {
|
|
|
- return {
|
|
|
- from: node.from,
|
|
|
- to: node.to
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
+ "SelectionSet FieldsDefinition ObjectValue RootOperationTypeDefinition RootTypeDef":
|
|
|
+ (node) => {
|
|
|
+ return {
|
|
|
+ from: node.from,
|
|
|
+ to: node.to,
|
|
|
+ }
|
|
|
+ },
|
|
|
}),
|
|
|
styleTags({
|
|
|
Name: t.definition(t.variableName),
|
|
@@ -29,13 +37,13 @@ export const GQLLanguage = LRLanguage.define({
|
|
|
NullValue: t.null,
|
|
|
ObjectValue: t.brace,
|
|
|
Comment: t.lineComment,
|
|
|
- })
|
|
|
- ]
|
|
|
+ }),
|
|
|
+ ],
|
|
|
}),
|
|
|
languageData: {
|
|
|
commentTokens: { line: "#" },
|
|
|
- closeBrackets: { brackets: ["(", "[", "{", '"', '"""'] }
|
|
|
- }
|
|
|
+ closeBrackets: { brackets: ["(", "[", "{", '"', '"""'] },
|
|
|
+ },
|
|
|
})
|
|
|
|
|
|
export function GQL() {
|