@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.
425 lines (424 loc) • 9.35 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,
comments: { blockComment: ["{{!--", "--}}"] },
brackets: [
["<!--", "-->"],
["<", ">"],
["{{", "}}"],
["{", "}"],
["(", ")"]
],
autoClosingPairs: [
{
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: "",
tokenizer: {
root: [
[
/\{\{!--/,
"comment.block.start.handlebars",
"@commentBlock"
],
[
/\{\{!/,
"comment.start.handlebars",
"@comment"
],
[/\{\{/, {
token: "@rematch",
switchTo: "@handlebarsInSimpleState.root"
}],
[
/<!DOCTYPE/,
"metatag.html",
"@doctype"
],
[
/<!--/,
"comment.html",
"@commentHtml"
],
[/(<)(\w+)(\/>)/, [
"delimiter.html",
"tag.html",
"delimiter.html"
]],
[/(<)(script)/, ["delimiter.html", {
token: "tag.html",
next: "@script"
}]],
[/(<)(style)/, ["delimiter.html", {
token: "tag.html",
next: "@style"
}]],
[/(<)([:\w]+)/, ["delimiter.html", {
token: "tag.html",
next: "@otherTag"
}]],
[/(<\/)(\w+)/, ["delimiter.html", {
token: "tag.html",
next: "@otherTag"
}]],
[/</, "delimiter.html"],
[/\{/, "delimiter.html"],
[/[^<{]+/]
],
doctype: [
[/\{\{/, {
token: "@rematch",
switchTo: "@handlebarsInSimpleState.comment"
}],
[/[^>]+/, "metatag.content.html"],
[
/>/,
"metatag.html",
"@pop"
]
],
comment: [[
/\}\}/,
"comment.end.handlebars",
"@pop"
], [/./, "comment.content.handlebars"]],
commentBlock: [[
/--\}\}/,
"comment.block.end.handlebars",
"@pop"
], [/./, "comment.content.handlebars"]],
commentHtml: [
[/\{\{/, {
token: "@rematch",
switchTo: "@handlebarsInSimpleState.comment"
}],
[
/-->/,
"comment.html",
"@pop"
],
[/[^-]+/, "comment.content.html"],
[/./, "comment.content.html"]
],
otherTag: [
[/\{\{/, {
token: "@rematch",
switchTo: "@handlebarsInSimpleState.otherTag"
}],
[
/\/?>/,
"delimiter.html",
"@pop"
],
[/"([^"]*)"/, "attribute.value"],
[/'([^']*)'/, "attribute.value"],
[/[\w\-]+/, "attribute.name"],
[/=/, "delimiter"],
[/[ \t\r\n]+/]
],
script: [
[/\{\{/, {
token: "@rematch",
switchTo: "@handlebarsInSimpleState.script"
}],
[
/type/,
"attribute.name",
"@scriptAfterType"
],
[/"([^"]*)"/, "attribute.value"],
[/'([^']*)'/, "attribute.value"],
[/[\w\-]+/, "attribute.name"],
[/=/, "delimiter"],
[/>/, {
token: "delimiter.html",
next: "@scriptEmbedded.text/javascript",
nextEmbedded: "text/javascript"
}],
[/[ \t\r\n]+/],
[/(<\/)(script\s*)(>)/, [
"delimiter.html",
"tag.html",
{
token: "delimiter.html",
next: "@pop"
}
]]
],
scriptAfterType: [
[/\{\{/, {
token: "@rematch",
switchTo: "@handlebarsInSimpleState.scriptAfterType"
}],
[
/=/,
"delimiter",
"@scriptAfterTypeEquals"
],
[/>/, {
token: "delimiter.html",
next: "@scriptEmbedded.text/javascript",
nextEmbedded: "text/javascript"
}],
[/[ \t\r\n]+/],
[/<\/script\s*>/, {
token: "@rematch",
next: "@pop"
}]
],
scriptAfterTypeEquals: [
[/\{\{/, {
token: "@rematch",
switchTo: "@handlebarsInSimpleState.scriptAfterTypeEquals"
}],
[/"([^"]*)"/, {
token: "attribute.value",
switchTo: "@scriptWithCustomType.$1"
}],
[/'([^']*)'/, {
token: "attribute.value",
switchTo: "@scriptWithCustomType.$1"
}],
[/>/, {
token: "delimiter.html",
next: "@scriptEmbedded.text/javascript",
nextEmbedded: "text/javascript"
}],
[/[ \t\r\n]+/],
[/<\/script\s*>/, {
token: "@rematch",
next: "@pop"
}]
],
scriptWithCustomType: [
[/\{\{/, {
token: "@rematch",
switchTo: "@handlebarsInSimpleState.scriptWithCustomType.$S2"
}],
[/>/, {
token: "delimiter.html",
next: "@scriptEmbedded.$S2",
nextEmbedded: "$S2"
}],
[/"([^"]*)"/, "attribute.value"],
[/'([^']*)'/, "attribute.value"],
[/[\w\-]+/, "attribute.name"],
[/=/, "delimiter"],
[/[ \t\r\n]+/],
[/<\/script\s*>/, {
token: "@rematch",
next: "@pop"
}]
],
scriptEmbedded: [[/\{\{/, {
token: "@rematch",
switchTo: "@handlebarsInEmbeddedState.scriptEmbedded.$S2",
nextEmbedded: "@pop"
}], [/<\/script/, {
token: "@rematch",
next: "@pop",
nextEmbedded: "@pop"
}]],
style: [
[/\{\{/, {
token: "@rematch",
switchTo: "@handlebarsInSimpleState.style"
}],
[
/type/,
"attribute.name",
"@styleAfterType"
],
[/"([^"]*)"/, "attribute.value"],
[/'([^']*)'/, "attribute.value"],
[/[\w\-]+/, "attribute.name"],
[/=/, "delimiter"],
[/>/, {
token: "delimiter.html",
next: "@styleEmbedded.text/css",
nextEmbedded: "text/css"
}],
[/[ \t\r\n]+/],
[/(<\/)(style\s*)(>)/, [
"delimiter.html",
"tag.html",
{
token: "delimiter.html",
next: "@pop"
}
]]
],
styleAfterType: [
[/\{\{/, {
token: "@rematch",
switchTo: "@handlebarsInSimpleState.styleAfterType"
}],
[
/=/,
"delimiter",
"@styleAfterTypeEquals"
],
[/>/, {
token: "delimiter.html",
next: "@styleEmbedded.text/css",
nextEmbedded: "text/css"
}],
[/[ \t\r\n]+/],
[/<\/style\s*>/, {
token: "@rematch",
next: "@pop"
}]
],
styleAfterTypeEquals: [
[/\{\{/, {
token: "@rematch",
switchTo: "@handlebarsInSimpleState.styleAfterTypeEquals"
}],
[/"([^"]*)"/, {
token: "attribute.value",
switchTo: "@styleWithCustomType.$1"
}],
[/'([^']*)'/, {
token: "attribute.value",
switchTo: "@styleWithCustomType.$1"
}],
[/>/, {
token: "delimiter.html",
next: "@styleEmbedded.text/css",
nextEmbedded: "text/css"
}],
[/[ \t\r\n]+/],
[/<\/style\s*>/, {
token: "@rematch",
next: "@pop"
}]
],
styleWithCustomType: [
[/\{\{/, {
token: "@rematch",
switchTo: "@handlebarsInSimpleState.styleWithCustomType.$S2"
}],
[/>/, {
token: "delimiter.html",
next: "@styleEmbedded.$S2",
nextEmbedded: "$S2"
}],
[/"([^"]*)"/, "attribute.value"],
[/'([^']*)'/, "attribute.value"],
[/[\w\-]+/, "attribute.name"],
[/=/, "delimiter"],
[/[ \t\r\n]+/],
[/<\/style\s*>/, {
token: "@rematch",
next: "@pop"
}]
],
styleEmbedded: [[/\{\{/, {
token: "@rematch",
switchTo: "@handlebarsInEmbeddedState.styleEmbedded.$S2",
nextEmbedded: "@pop"
}], [/<\/style/, {
token: "@rematch",
next: "@pop",
nextEmbedded: "@pop"
}]],
handlebarsInSimpleState: [
[/\{\{\{?/, "delimiter.handlebars"],
[/\}\}\}?/, {
token: "delimiter.handlebars",
switchTo: "@$S2.$S3"
}],
{ include: "handlebarsRoot" }
],
handlebarsInEmbeddedState: [
[/\{\{\{?/, "delimiter.handlebars"],
[/\}\}\}?/, {
token: "delimiter.handlebars",
switchTo: "@$S2.$S3",
nextEmbedded: "$S3"
}],
{ include: "handlebarsRoot" }
],
handlebarsRoot: [
[/"[^"]*"/, "string.handlebars"],
[/[#/][^\s}]+/, "keyword.helper.handlebars"],
[/else\b/, "keyword.helper.handlebars"],
[/[\s]+/],
[/[^}]/, "variable.parameter.handlebars"]
]
}
};
export { conf, language };