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.

249 lines (248 loc) • 5.25 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: ".less", 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])))*", identifierPlus: "-?-?([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: "@nestedJSBegin" }, ["[ \\t\\r\\n]+", ""], { include: "@comments" }, { include: "@keyword" }, { include: "@strings" }, { include: "@numbers" }, [ "[*_]?[a-zA-Z\\-\\s]+(?=:.*(;|(\\\\$)))", "attribute.name", "@attribute" ], ["url(\\-prefix)?\\(", { token: "tag", next: "@urldeclaration" }], ["[{}()\\[\\]]", "@brackets"], ["[,:;]", "delimiter"], ["#@identifierPlus", "tag.id"], ["&", "tag"], [ "\\.@identifierPlus(?=\\()", "tag.class", "@attribute" ], ["\\.@identifierPlus", "tag.class"], ["@identifierPlus", "tag"], { include: "@operators" }, [ "@(@identifier(?=[:,\\)]))", "variable", "@attribute" ], ["@(@identifier)", "variable"], [ "@", "key", "@atRules" ] ], nestedJSBegin: [["``", "delimiter.backtick"], ["`", { token: "delimiter.backtick", next: "@nestedJSEnd", nextEmbedded: "text/javascript" }]], nestedJSEnd: [["`", { token: "delimiter.backtick", next: "@pop", nextEmbedded: "@pop" }]], operators: [["[<>=\\+\\-\\*\\/\\^\\|\\~]", "operator"]], keyword: [["(@[\\s]*import|![\\s]*important|true|false|when|iscolor|isnumber|isstring|iskeyword|isurl|ispixel|ispercentage|isem|hue|saturation|lightness|alpha|lighten|darken|saturate|desaturate|fadein|fadeout|fade|spin|mix|round|ceil|floor|percentage)\\b", "keyword"]], urldeclaration: [ { include: "@strings" }, ["[^)\r\n]+", "string"], ["\\)", { token: "tag", next: "@pop" }] ], attribute: [ { include: "@nestedJSBegin" }, { include: "@comments" }, { include: "@strings" }, { include: "@numbers" }, { include: "@keyword" }, [ "[a-zA-Z\\-]+(?=\\()", "attribute.value", "@attribute" ], [ ">", "operator", "@pop" ], ["@identifier", "attribute.value"], { include: "@operators" }, ["@(@identifier)", "variable"], [ "[)\\}]", "@brackets", "@pop" ], ["[{}()\\[\\]>]", "@brackets"], [ "[;]", "delimiter", "@pop" ], ["[,=:]", "delimiter"], ["\\s", ""], [".", "attribute.value"] ], comments: [[ "\\/\\*", "comment", "@comment" ], ["\\/\\/+.*", "comment"]], comment: [[ "\\*\\/", "comment", "@pop" ], [".", "comment"]], numbers: [["(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?", { token: "attribute.value.number", next: "@units" }], ["#[0-9a-fA-F_]+(?!\\w)", "attribute.value.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|%)?", "attribute.value.unit", "@pop" ]], strings: [["~?\"", { token: "string.delimiter", next: "@stringsEndDoubleQuote" }], ["~?'", { token: "string.delimiter", next: "@stringsEndQuote" }]], stringsEndDoubleQuote: [ ["\\\\\"", "string"], ["\"", { token: "string.delimiter", next: "@popall" }], [".", "string"] ], stringsEndQuote: [ ["\\\\'", "string"], ["'", { token: "string.delimiter", next: "@popall" }], [".", "string"] ], atRules: [ { include: "@comments" }, { include: "@strings" }, ["[()]", "delimiter"], [ "[\\{;]", "delimiter", "@pop" ], [".", "key"] ] } }; export { conf, language };