/*!-----------------------------------------------------------------------------
* 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 = {
	comments: {
		lineComment: "//",
		blockComment: ["/*", "*/"]
	},
	brackets: [
		["{", "}"],
		["[", "]"],
		["(", ")"]
	],
	autoClosingPairs: [
		{
			open: "{",
			close: "}"
		},
		{
			open: "[",
			close: "]"
		},
		{
			open: "(",
			close: ")"
		},
		{
			open: "\"",
			close: "\""
		},
		{
			open: "'",
			close: "'"
		},
		{
			open: "`",
			close: "`"
		}
	],
	surroundingPairs: [
		{
			open: "{",
			close: "}"
		},
		{
			open: "[",
			close: "]"
		},
		{
			open: "(",
			close: ")"
		},
		{
			open: "\"",
			close: "\""
		},
		{
			open: "'",
			close: "'"
		},
		{
			open: "`",
			close: "`"
		}
	]
}, language = {
	defaultToken: "",
	tokenPostfix: ".cypher",
	ignoreCase: !0,
	brackets: [
		{
			open: "{",
			close: "}",
			token: "delimiter.curly"
		},
		{
			open: "[",
			close: "]",
			token: "delimiter.bracket"
		},
		{
			open: "(",
			close: ")",
			token: "delimiter.parenthesis"
		}
	],
	keywords: /* @__PURE__ */ "ALL.AND.AS.ASC.ASCENDING.BY.CALL.CASE.CONTAINS.CREATE.DELETE.DESC.DESCENDING.DETACH.DISTINCT.ELSE.END.ENDS.EXISTS.IN.IS.LIMIT.MANDATORY.MATCH.MERGE.NOT.ON.ON.OPTIONAL.OR.ORDER.REMOVE.RETURN.SET.SKIP.STARTS.THEN.UNION.UNWIND.WHEN.WHERE.WITH.XOR.YIELD".split("."),
	builtinLiterals: [
		"true",
		"TRUE",
		"false",
		"FALSE",
		"null",
		"NULL"
	],
	builtinFunctions: /* @__PURE__ */ "abs.acos.asin.atan.atan2.avg.ceil.coalesce.collect.cos.cot.count.degrees.e.endNode.exists.exp.floor.head.id.keys.labels.last.left.length.log.log10.lTrim.max.min.nodes.percentileCont.percentileDisc.pi.properties.radians.rand.range.relationships.replace.reverse.right.round.rTrim.sign.sin.size.split.sqrt.startNode.stDev.stDevP.substring.sum.tail.tan.timestamp.toBoolean.toFloat.toInteger.toLower.toString.toUpper.trim.type".split("."),
	operators: [
		"+",
		"-",
		"*",
		"/",
		"%",
		"^",
		"=",
		"<>",
		"<",
		">",
		"<=",
		">=",
		"->",
		"<-",
		"-->",
		"<--"
	],
	escapes: /\\(?:[tbnrf\\"'`]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
	digits: /\d+/,
	octaldigits: /[0-7]+/,
	hexdigits: /[0-9a-fA-F]+/,
	tokenizer: {
		root: [[/[{}[\]()]/, "@brackets"], { include: "common" }],
		common: [
			{ include: "@whitespace" },
			{ include: "@numbers" },
			{ include: "@strings" },
			[/:[a-zA-Z_][\w]*/, "type.identifier"],
			[/[a-zA-Z_][\w]*(?=\()/, { cases: { "@builtinFunctions": "predefined.function" } }],
			[/[a-zA-Z_$][\w$]*/, { cases: {
				"@keywords": "keyword",
				"@builtinLiterals": "predefined.literal",
				"@default": "identifier"
			} }],
			[
				/`/,
				"identifier.escape",
				"@identifierBacktick"
			],
			[/[;,.:|]/, "delimiter"],
			[/[<>=%+\-*/^]+/, { cases: {
				"@operators": "delimiter",
				"@default": ""
			} }]
		],
		numbers: [
			[/-?(@digits)[eE](-?(@digits))?/, "number.float"],
			[/-?(@digits)?\.(@digits)([eE]-?(@digits))?/, "number.float"],
			[/-?0x(@hexdigits)/, "number.hex"],
			[/-?0(@octaldigits)/, "number.octal"],
			[/-?(@digits)/, "number"]
		],
		strings: [
			[/"([^"\\]|\\.)*$/, "string.invalid"],
			[/'([^'\\]|\\.)*$/, "string.invalid"],
			[
				/"/,
				"string",
				"@stringDouble"
			],
			[
				/'/,
				"string",
				"@stringSingle"
			]
		],
		whitespace: [
			[/[ \t\r\n]+/, "white"],
			[
				/\/\*/,
				"comment",
				"@comment"
			],
			[/\/\/.*$/, "comment"]
		],
		comment: [
			[/\/\/.*/, "comment"],
			[/[^/*]+/, "comment"],
			[
				/\*\//,
				"comment",
				"@pop"
			],
			[/[/*]/, "comment"]
		],
		stringDouble: [
			[/[^\\"]+/, "string"],
			[/@escapes/, "string"],
			[/\\./, "string.invalid"],
			[
				/"/,
				"string",
				"@pop"
			]
		],
		stringSingle: [
			[/[^\\']+/, "string"],
			[/@escapes/, "string"],
			[/\\./, "string.invalid"],
			[
				/'/,
				"string",
				"@pop"
			]
		],
		identifierBacktick: [
			[/[^\\`]+/, "identifier.escape"],
			[/@escapes/, "identifier.escape"],
			[/\\./, "identifier.escape.invalid"],
			[
				/`/,
				"identifier.escape",
				"@pop"
			]
		]
	}
};
export { conf, language };
