@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.
212 lines (211 loc) • 5.37 kB
JavaScript
import { m as editor_api_exports } from "./editor.api-DPgI1LYm.js";
/*!-----------------------------------------------------------------------------
* 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 __defProp = Object.defineProperty, __getOwnPropDesc = Object.getOwnPropertyDescriptor, __getOwnPropNames = Object.getOwnPropertyNames, __hasOwnProp = Object.prototype.hasOwnProperty, __copyProps = (e, s, c, l) => {
if (s && typeof s == "object" || typeof s == "function") for (let u of __getOwnPropNames(s)) !__hasOwnProp.call(e, u) && u !== c && __defProp(e, u, {
get: () => s[u],
enumerable: !(l = __getOwnPropDesc(s, u)) || l.enumerable
});
return e;
}, __reExport = (e, a, o) => (__copyProps(e, a, "default"), o && __copyProps(o, a, "default")), monaco_editor_core_exports = {};
__reExport(monaco_editor_core_exports, editor_api_exports);
var EMPTY_ELEMENTS = [
"area",
"base",
"br",
"col",
"embed",
"hr",
"img",
"input",
"keygen",
"link",
"menuitem",
"meta",
"param",
"source",
"track",
"wbr"
], conf = {
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,
brackets: [
["<!--", "-->"],
["<", ">"],
["{{", "}}"],
["{%", "%}"],
["{", "}"],
["(", ")"]
],
autoClosingPairs: [
{
open: "{",
close: "}"
},
{
open: "%",
close: "%"
},
{
open: "[",
close: "]"
},
{
open: "(",
close: ")"
},
{
open: "\"",
close: "\""
},
{
open: "'",
close: "'"
}
],
surroundingPairs: [
{
open: "<",
close: ">"
},
{
open: "\"",
close: "\""
},
{
open: "'",
close: "'"
}
],
onEnterRules: [{
beforeText: RegExp(`<(?!(?:${EMPTY_ELEMENTS.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`, "i"),
afterText: /^<\/(\w[\w\d]*)\s*>$/i,
action: { indentAction: monaco_editor_core_exports.languages.IndentAction.IndentOutdent }
}, {
beforeText: RegExp(`<(?!(?:${EMPTY_ELEMENTS.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`, "i"),
action: { indentAction: monaco_editor_core_exports.languages.IndentAction.Indent }
}]
}, language = {
defaultToken: "",
tokenPostfix: "",
builtinTags: /* @__PURE__ */ "if.else.elseif.endif.render.assign.capture.endcapture.case.endcase.comment.endcomment.cycle.decrement.for.endfor.include.increment.layout.raw.endraw.render.tablerow.endtablerow.unless.endunless".split("."),
builtinFilters: /* @__PURE__ */ "abs.append.at_least.at_most.capitalize.ceil.compact.date.default.divided_by.downcase.escape.escape_once.first.floor.join.json.last.lstrip.map.minus.modulo.newline_to_br.plus.prepend.remove.remove_first.replace.replace_first.reverse.round.rstrip.size.slice.sort.sort_natural.split.strip.strip_html.strip_newlines.times.truncate.truncatewords.uniq.upcase.url_decode.url_encode.where".split("."),
constants: ["true", "false"],
operators: [
"==",
"!=",
">",
"<",
">=",
"<="
],
symbol: /[=><!]+/,
identifier: /[a-zA-Z_][\w]*/,
tokenizer: {
root: [
[
/\{\%\s*comment\s*\%\}/,
"comment.start.liquid",
"@comment"
],
[/\{\{/, {
token: "@rematch",
switchTo: "@liquidState.root"
}],
[/\{\%/, {
token: "@rematch",
switchTo: "@liquidState.root"
}],
[/(<)([\w\-]+)(\/>)/, [
"delimiter.html",
"tag.html",
"delimiter.html"
]],
[/(<)([:\w]+)/, ["delimiter.html", {
token: "tag.html",
next: "@otherTag"
}]],
[/(<\/)([\w\-]+)/, ["delimiter.html", {
token: "tag.html",
next: "@otherTag"
}]],
[/</, "delimiter.html"],
[/\{/, "delimiter.html"],
[/[^<{]+/]
],
comment: [[
/\{\%\s*endcomment\s*\%\}/,
"comment.end.liquid",
"@pop"
], [/./, "comment.content.liquid"]],
otherTag: [
[/\{\{/, {
token: "@rematch",
switchTo: "@liquidState.otherTag"
}],
[/\{\%/, {
token: "@rematch",
switchTo: "@liquidState.otherTag"
}],
[
/\/?>/,
"delimiter.html",
"@pop"
],
[/"([^"]*)"/, "attribute.value"],
[/'([^']*)'/, "attribute.value"],
[/[\w\-]+/, "attribute.name"],
[/=/, "delimiter"],
[/[ \t\r\n]+/]
],
liquidState: [
[/\{\{/, "delimiter.output.liquid"],
[/\}\}/, {
token: "delimiter.output.liquid",
switchTo: "@$S2.$S3"
}],
[/\{\%/, "delimiter.tag.liquid"],
[
/raw\s*\%\}/,
"delimiter.tag.liquid",
"@liquidRaw"
],
[/\%\}/, {
token: "delimiter.tag.liquid",
switchTo: "@$S2.$S3"
}],
{ include: "liquidRoot" }
],
liquidRaw: [
[/^(?!\{\%\s*endraw\s*\%\}).+/],
[/\{\%/, "delimiter.tag.liquid"],
[/@identifier/],
[/\%\}/, {
token: "delimiter.tag.liquid",
next: "@root"
}]
],
liquidRoot: [
[/\d+(\.\d+)?/, "number.liquid"],
[/"[^"]*"/, "string.liquid"],
[/'[^']*'/, "string.liquid"],
[/\s+/],
[/@symbol/, { cases: {
"@operators": "operator.liquid",
"@default": ""
} }],
[/\./],
[/@identifier/, { cases: {
"@constants": "keyword.liquid",
"@builtinFilters": "predefined.liquid",
"@builtinTags": "predefined.liquid",
"@default": "variable.liquid"
} }],
[/[^}|%]/, "variable.liquid"]
]
}
};
export { conf, language };