UNPKG

@graphql-hive/laboratory

Version:

[Hive](https://the-guild.dev/graphql/hive) is a fully open-source schema registry, analytics, metrics and gateway for [GraphQL federation](https://the-guild.dev/graphql/hive/federation) and other GraphQL APIs.

424 lines (423 loc) • 8.66 kB
/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ var conf = { wordPattern: /(#?-?\d*\.\d\w*%?)|([@$#!.:]?[\w-?]+%?)|[@#!.]/g, comments: { blockComment: ["/*", "*/"], lineComment: "//" }, brackets: [ ["{", "}"], ["[", "]"], ["(", ")"] ], autoClosingPairs: [ { open: "{", close: "}", notIn: ["string", "comment"] }, { open: "[", close: "]", notIn: ["string", "comment"] }, { open: "(", close: ")", notIn: ["string", "comment"] }, { open: "\"", close: "\"", notIn: ["string", "comment"] }, { open: "'", close: "'", notIn: ["string", "comment"] } ], surroundingPairs: [ { open: "{", close: "}" }, { open: "[", close: "]" }, { open: "(", close: ")" }, { open: "\"", close: "\"" }, { open: "'", close: "'" } ], folding: { markers: { start: /* @__PURE__ */ RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"), end: /* @__PURE__ */ RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/") } } }, language = { defaultToken: "", tokenPostfix: ".scss", ws: "[ \n\r\f]*", identifier: "-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*", brackets: [ { open: "{", close: "}", token: "delimiter.curly" }, { open: "[", close: "]", token: "delimiter.bracket" }, { open: "(", close: ")", token: "delimiter.parenthesis" }, { open: "<", close: ">", token: "delimiter.angle" } ], tokenizer: { root: [{ include: "@selector" }], selector: [ { include: "@comments" }, { include: "@import" }, { include: "@variabledeclaration" }, { include: "@warndebug" }, ["[@](include)", { token: "keyword", next: "@includedeclaration" }], ["[@](keyframes|-webkit-keyframes|-moz-keyframes|-o-keyframes)", { token: "keyword", next: "@keyframedeclaration" }], ["[@](page|content|font-face|-moz-document)", { token: "keyword" }], ["[@](charset|namespace)", { token: "keyword", next: "@declarationbody" }], ["[@](function)", { token: "keyword", next: "@functiondeclaration" }], ["[@](mixin)", { token: "keyword", next: "@mixindeclaration" }], ["url(\\-prefix)?\\(", { token: "meta", next: "@urldeclaration" }], { include: "@controlstatement" }, { include: "@selectorname" }, ["[&\\*]", "tag"], ["[>\\+,]", "delimiter"], ["\\[", { token: "delimiter.bracket", next: "@selectorattribute" }], ["{", { token: "delimiter.curly", next: "@selectorbody" }] ], selectorbody: [ [ "[*_]?@identifier@ws:(?=(\\s|\\d|[^{;}]*[;}]))", "attribute.name", "@rulevalue" ], { include: "@selector" }, ["[@](extend)", { token: "keyword", next: "@extendbody" }], ["[@](return)", { token: "keyword", next: "@declarationbody" }], ["}", { token: "delimiter.curly", next: "@pop" }] ], selectorname: [["#{", { token: "meta", next: "@variableinterpolation" }], ["(\\.|#(?=[^{])|%|(@identifier)|:)+", "tag"]], selectorattribute: [{ include: "@term" }, ["]", { token: "delimiter.bracket", next: "@pop" }]], term: [ { include: "@comments" }, ["url(\\-prefix)?\\(", { token: "meta", next: "@urldeclaration" }], { include: "@functioninvocation" }, { include: "@numbers" }, { include: "@strings" }, { include: "@variablereference" }, ["(and\\b|or\\b|not\\b)", "operator"], { include: "@name" }, ["([<>=\\+\\-\\*\\/\\^\\|\\~,])", "operator"], [",", "delimiter"], ["!default", "literal"], ["\\(", { token: "delimiter.parenthesis", next: "@parenthizedterm" }] ], rulevalue: [ { include: "@term" }, ["!important", "literal"], [ ";", "delimiter", "@pop" ], ["{", { token: "delimiter.curly", switchTo: "@nestedproperty" }], ["(?=})", { token: "", next: "@pop" }] ], nestedproperty: [ [ "[*_]?@identifier@ws:", "attribute.name", "@rulevalue" ], { include: "@comments" }, ["}", { token: "delimiter.curly", next: "@pop" }] ], warndebug: [["[@](warn|debug)", { token: "keyword", next: "@declarationbody" }]], import: [["[@](import)", { token: "keyword", next: "@declarationbody" }]], variabledeclaration: [[ "\\$@identifier@ws:", "variable.decl", "@declarationbody" ]], urldeclaration: [ { include: "@strings" }, ["[^)\r\n]+", "string"], ["\\)", { token: "meta", next: "@pop" }] ], parenthizedterm: [{ include: "@term" }, ["\\)", { token: "delimiter.parenthesis", next: "@pop" }]], declarationbody: [ { include: "@term" }, [ ";", "delimiter", "@pop" ], ["(?=})", { token: "", next: "@pop" }] ], extendbody: [ { include: "@selectorname" }, ["!optional", "literal"], [ ";", "delimiter", "@pop" ], ["(?=})", { token: "", next: "@pop" }] ], variablereference: [ ["\\$@identifier", "variable.ref"], ["\\.\\.\\.", "operator"], ["#{", { token: "meta", next: "@variableinterpolation" }] ], variableinterpolation: [{ include: "@variablereference" }, ["}", { token: "meta", next: "@pop" }]], comments: [[ "\\/\\*", "comment", "@comment" ], ["\\/\\/+.*", "comment"]], comment: [[ "\\*\\/", "comment", "@pop" ], [".", "comment"]], name: [["@identifier", "attribute.value"]], numbers: [["(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?", { token: "number", next: "@units" }], ["#[0-9a-fA-F_]+(?!\\w)", "number.hex"]], units: [[ "(em|ex|ch|rem|fr|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?", "number", "@pop" ]], functiondeclaration: [["@identifier@ws\\(", { token: "meta", next: "@parameterdeclaration" }], ["{", { token: "delimiter.curly", switchTo: "@functionbody" }]], mixindeclaration: [ ["@identifier@ws\\(", { token: "meta", next: "@parameterdeclaration" }], ["@identifier", "meta"], ["{", { token: "delimiter.curly", switchTo: "@selectorbody" }] ], parameterdeclaration: [ ["\\$@identifier@ws:", "variable.decl"], ["\\.\\.\\.", "operator"], [",", "delimiter"], { include: "@term" }, ["\\)", { token: "meta", next: "@pop" }] ], includedeclaration: [ { include: "@functioninvocation" }, ["@identifier", "meta"], [ ";", "delimiter", "@pop" ], ["(?=})", { token: "", next: "@pop" }], ["{", { token: "delimiter.curly", switchTo: "@selectorbody" }] ], keyframedeclaration: [["@identifier", "meta"], ["{", { token: "delimiter.curly", switchTo: "@keyframebody" }]], keyframebody: [ { include: "@term" }, ["{", { token: "delimiter.curly", next: "@selectorbody" }], ["}", { token: "delimiter.curly", next: "@pop" }] ], controlstatement: [["[@](if|else|for|while|each|media)", { token: "keyword.flow", next: "@controlstatementdeclaration" }]], controlstatementdeclaration: [ ["(in|from|through|if|to)\\b", { token: "keyword.flow" }], { include: "@term" }, ["{", { token: "delimiter.curly", switchTo: "@selectorbody" }] ], functionbody: [ ["[@](return)", { token: "keyword" }], { include: "@variabledeclaration" }, { include: "@term" }, { include: "@controlstatement" }, [";", "delimiter"], ["}", { token: "delimiter.curly", next: "@pop" }] ], functioninvocation: [["@identifier\\(", { token: "meta", next: "@functionarguments" }]], functionarguments: [ ["\\$@identifier@ws:", "attribute.name"], ["[,]", "delimiter"], { include: "@term" }, ["\\)", { token: "meta", next: "@pop" }] ], strings: [["~?\"", { token: "string.delimiter", next: "@stringenddoublequote" }], ["~?'", { token: "string.delimiter", next: "@stringendquote" }]], stringenddoublequote: [ ["\\\\.", "string"], ["\"", { token: "string.delimiter", next: "@pop" }], [".", "string"] ], stringendquote: [ ["\\\\.", "string"], ["'", { token: "string.delimiter", next: "@pop" }], [".", "string"] ] } }; export { conf, language };