mx-ui-components
Version:
mobius ui library
246 lines (245 loc) • 5.76 kB
JavaScript
/*!-----------------------------------------------------------------------------
* 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 e = {
// the default separators except `$-`
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
comments: {
lineComment: "#",
blockComment: ["<#", "#>"]
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"', notIn: ["string"] },
{ open: "'", close: "'", notIn: ["string", "comment"] }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
],
folding: {
markers: {
start: new RegExp("^\\s*#region\\b"),
end: new RegExp("^\\s*#endregion\\b")
}
}
}, n = {
defaultToken: "",
ignoreCase: !0,
tokenPostfix: ".ps1",
brackets: [
{ token: "delimiter.curly", open: "{", close: "}" },
{ token: "delimiter.square", open: "[", close: "]" },
{ token: "delimiter.parenthesis", open: "(", close: ")" }
],
keywords: [
"begin",
"break",
"catch",
"class",
"continue",
"data",
"define",
"do",
"dynamicparam",
"else",
"elseif",
"end",
"exit",
"filter",
"finally",
"for",
"foreach",
"from",
"function",
"if",
"in",
"param",
"process",
"return",
"switch",
"throw",
"trap",
"try",
"until",
"using",
"var",
"while",
"workflow",
"parallel",
"sequence",
"inlinescript",
"configuration"
],
helpKeywords: /SYNOPSIS|DESCRIPTION|PARAMETER|EXAMPLE|INPUTS|OUTPUTS|NOTES|LINK|COMPONENT|ROLE|FUNCTIONALITY|FORWARDHELPTARGETNAME|FORWARDHELPCATEGORY|REMOTEHELPRUNSPACE|EXTERNALHELP/,
// we include these common regular expressions
symbols: /[=><!~?&%|+\-*\/\^;\.,]+/,
escapes: /`(?:[abfnrtv\\"'$]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
// The main tokenizer for our languages
tokenizer: {
root: [
// commands and keywords
[
/[a-zA-Z_][\w-]*/,
{
cases: {
"@keywords": { token: "keyword.$0" },
"@default": ""
}
}
],
// whitespace
[/[ \t\r\n]+/, ""],
// labels
[/^:\w*/, "metatag"],
// variables
[
/\$(\{((global|local|private|script|using):)?[\w]+\}|((global|local|private|script|using):)?[\w]+)/,
"variable"
],
// Comments
[/<#/, "comment", "@comment"],
[/#.*$/, "comment"],
// delimiters
[/[{}()\[\]]/, "@brackets"],
[/@symbols/, "delimiter"],
// numbers
[/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/, "number.hex"],
[/\d+?/, "number"],
// delimiter: after number because of .\d floats
[/[;,.]/, "delimiter"],
// strings:
[/\@"/, "string", '."'],
[/\@'/, "string", ".'"],
[
/"/,
{
cases: {
"@eos": "string",
"@default": { token: "string", next: '."' }
}
}
],
[
/'/,
{
cases: {
"": "string",
"": { token: "string", next: ".'" }
}
}
]
],
string: [
[
/[^"'\$`]+/,
{
cases: {
"@eos": { token: "string", next: "@popall" },
"@default": "string"
}
}
],
[
/@escapes/,
{
cases: {
"@eos": { token: "string.escape", next: "@popall" },
"@default": "string.escape"
}
}
],
[
/`./,
{
cases: {
"@eos": {
token: "string.escape.invalid",
next: "@popall"
},
"@default": "string.escape.invalid"
}
}
],
[
/\$[\w]+$/,
{
cases: {
'$S2=="': { token: "variable", next: "" },
"": { token: "string", next: "" }
}
}
],
[
/\$[\w]+/,
{
cases: {
'$S2=="': "variable",
"@default": "string"
}
}
],
[
/["']/,
{
cases: {
"$#==$S2": { token: "string", next: "@pop" },
"@default": {
cases: {
"@eos": { token: "string", next: "@popall" },
"@default": "string"
}
}
}
}
]
],
herestring: [
[
/^\s*(["'])@/,
{
cases: {
"$1==$S2": { token: "string", next: "@pop" },
"@default": "string"
}
}
],
[/[^\$`]+/, "string"],
[/@escapes/, "string.escape"],
[/`./, "string.escape.invalid"],
[
/\$[\w]+/,
{
cases: {
'$S2=="': "variable",
"": "string"
}
}
]
],
comment: [
[/[^#\.]+/, "comment"],
[/#>/, "comment", ""],
[/(\.)(@helpKeywords)(?!\w)/, { token: "comment.keyword.$2" }],
[/[\.#]/, "comment"]
]
}
};
export {
e as conf,
n as language
};