import { m as editor_api_exports } from "./editor.api-erJ7GEVs.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 };
