awa
This commit is contained in:
1676
_internal/editor/CHANGELOG.md
Normal file
1676
_internal/editor/CHANGELOG.md
Normal file
File diff suppressed because it is too large
Load Diff
21
_internal/editor/LICENSE
Normal file
21
_internal/editor/LICENSE
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
The MIT License (MIT)
|
||||||
|
|
||||||
|
Copyright (c) 2016 - present Microsoft Corporation
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
114
_internal/editor/README.md
Normal file
114
_internal/editor/README.md
Normal file
@@ -0,0 +1,114 @@
|
|||||||
|
# Monaco Editor
|
||||||
|
|
||||||
|
[](https://www.npmjs.com/package/monaco-editor)
|
||||||
|
[](https://www.npmjs.com/package/monaco-editor)
|
||||||
|
[](https://github.com/microsoft/monaco-editor/issues?q=is%3Aopen+is%3Aissue+label%3Afeature-request+sort%3Areactions-%2B1-desc)
|
||||||
|
[](https://github.com/microsoft/monaco-editor/issues?utf8=✓&q=is%3Aissue+is%3Aopen+label%3Abug)
|
||||||
|
|
||||||
|
The Monaco Editor is the fully featured code editor from [VS Code](https://github.com/microsoft/vscode). Check out the [VS Code docs](https://code.visualstudio.com/docs/editor/editingevolved) to see some of the supported features.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Try it out
|
||||||
|
|
||||||
|
Try out the editor and see various examples [in our interactive playground](https://microsoft.github.io/monaco-editor/playground.html).
|
||||||
|
|
||||||
|
The playground is the best way to learn about how to use the editor, which features is supports, to try out different versions and to create minimal reproducible examples for bug reports.
|
||||||
|
|
||||||
|
## Installing
|
||||||
|
|
||||||
|
```
|
||||||
|
> npm install monaco-editor
|
||||||
|
```
|
||||||
|
|
||||||
|
You will get:
|
||||||
|
|
||||||
|
- inside `/esm`: ESM version of the editor (compatible with e.g. webpack)
|
||||||
|
- `monaco.d.ts`: this specifies the API of the editor (this is what is actually versioned, everything else is considered private and might break with any release).
|
||||||
|
|
||||||
|
:warning: The monaco editor also ships an `AMD` build for backwards-compatibility reasons, but the `AMD` support is deprecated and will be removed in future versions.
|
||||||
|
|
||||||
|
## Concepts
|
||||||
|
|
||||||
|
Monaco editor is best known for being the text editor that powers VS Code. However, it's a bit more nuanced. Some basic understanding about the underlying concepts is needed to use Monaco editor effectively.
|
||||||
|
|
||||||
|
### Models
|
||||||
|
|
||||||
|
Models are at the heart of Monaco editor. It's what you interact with when managing content. A model represents a file that has been opened. This could represent a file that exists on a file system, but it doesn't have to. For example, the model holds the text content, determines the language of the content, and tracks the edit history of the content.
|
||||||
|
|
||||||
|
### URIs
|
||||||
|
|
||||||
|
Each model is identified by a URI. This is why it's not possible for two models to have the same URI. Ideally when you represent content in Monaco editor, you should think of a virtual file system that matches the files your users are editing. For example, you could use `file:///` as a base path. If a model is created without a URI, its URI will be `inmemory://model/1`. The number increases as more models are created.
|
||||||
|
|
||||||
|
### Editors
|
||||||
|
|
||||||
|
An editor is a user facing view of the model. This is what gets attached to the DOM and what your users see visually. Typical editor operations are displaying a model, managing the view state, or executing actions or commands.
|
||||||
|
|
||||||
|
### Providers
|
||||||
|
|
||||||
|
Providers provide smart editor features. For example, this includes completion and hover information. It is not the same as, but often maps to [language server protocol](https://microsoft.github.io/language-server-protocol) features.
|
||||||
|
|
||||||
|
Providers work on models. Some smart features depends on the file URI. For example, for TypeScript to resolve imports, or for JSON IntelliSense to determine which JSON schema to apply to which model. So it's important to choose proper model URIs.
|
||||||
|
|
||||||
|
### Disposables
|
||||||
|
|
||||||
|
Many Monaco related objects often implement the `.dispose()` method. This method is intended to perform cleanups when a resource is no longer needed. For example, calling `model.dispose()` will unregister it, freeing up the URI for a new model. Editors should be disposed to free up resources and remove their model listeners.
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
- Learn how to integrate the editor with these [complete samples](./samples/).
|
||||||
|
- [Integrate the ESM version](./docs/integrate-esm.md)
|
||||||
|
- Learn how to use the editor API and try out your own customizations in the [playground](https://microsoft.github.io/monaco-editor/playground.html).
|
||||||
|
- Explore the [API docs](https://microsoft.github.io/monaco-editor/docs.html) or read them straight from [`monaco.d.ts`](https://github.com/microsoft/monaco-editor/blob/gh-pages/node_modules/monaco-editor/monaco.d.ts).
|
||||||
|
- Read [this guide](https://github.com/microsoft/monaco-editor/wiki/Accessibility-Guide-for-Integrators) to ensure the editor is accessible to all your users!
|
||||||
|
- Create a Monarch tokenizer for a new programming language [in the Monarch playground](https://microsoft.github.io/monaco-editor/monarch.html).
|
||||||
|
- Ask questions on [StackOverflow](https://stackoverflow.com/questions/tagged/monaco-editor)! Search open and closed issues, there are a lot of tips in there!
|
||||||
|
|
||||||
|
## Issues
|
||||||
|
|
||||||
|
Create [issues](https://github.com/microsoft/monaco-editor/issues) in this repository for anything related to the Monaco Editor. Please search for existing issues to avoid duplicates.
|
||||||
|
|
||||||
|
## FAQ
|
||||||
|
|
||||||
|
❓ **What is the relationship between VS Code and the Monaco Editor?**
|
||||||
|
|
||||||
|
The Monaco Editor is generated straight from VS Code's sources with some shims around services the code needs to make it run in a web browser outside of its home.
|
||||||
|
|
||||||
|
❓ **What is the relationship between VS Code's version and the Monaco Editor's version?**
|
||||||
|
|
||||||
|
None. The Monaco Editor is a library and it reflects directly the source code.
|
||||||
|
|
||||||
|
❓ **I've written an extension for VS Code, will it work on the Monaco Editor in a browser?**
|
||||||
|
|
||||||
|
No.
|
||||||
|
|
||||||
|
> Note: If the extension is fully based on the [LSP](https://microsoft.github.io/language-server-protocol/) and if the language server is authored in JavaScript, then it would be possible.
|
||||||
|
|
||||||
|
❓ **Why all these web workers and why should I care?**
|
||||||
|
|
||||||
|
Language services create web workers to compute heavy stuff outside of the UI thread. They cost hardly anything in terms of resource overhead and you shouldn't worry too much about them, as long as you get them to work (see above the cross-domain case).
|
||||||
|
|
||||||
|
❓ **I see the warning "Could not create web worker". What should I do?**
|
||||||
|
|
||||||
|
HTML5 does not allow pages loaded on `file://` to create web workers. Please load the editor with a web server on `http://` or `https://` schemes.
|
||||||
|
|
||||||
|
❓ **Is the editor supported in mobile browsers or mobile web app frameworks?**
|
||||||
|
|
||||||
|
No.
|
||||||
|
|
||||||
|
❓ **Why doesn't the editor support TextMate grammars?**
|
||||||
|
|
||||||
|
- Please see https://github.com/bolinfest/monaco-tm which puts together `monaco-editor`, `vscode-oniguruma` and `vscode-textmate` to get TM grammar support in the editor.
|
||||||
|
|
||||||
|
## Contributing / Local Development
|
||||||
|
|
||||||
|
We are welcoming contributions from the community!
|
||||||
|
Please see [CONTRIBUTING](./CONTRIBUTING.md) for details how you can contribute effectively, how you can run the editor from sources and how you can debug and fix issues.
|
||||||
|
|
||||||
|
## Code of Conduct
|
||||||
|
|
||||||
|
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
Licensed under the [MIT](https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt) License.
|
||||||
448
_internal/editor/ThirdPartyNotices.txt
Normal file
448
_internal/editor/ThirdPartyNotices.txt
Normal file
File diff suppressed because one or more lines are too long
7
_internal/editor/dev/vs/_commonjsHelpers-98qg88fe.js
Normal file
7
_internal/editor/dev/vs/_commonjsHelpers-98qg88fe.js
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
define("vs/_commonjsHelpers-98qg88fe", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
function getDefaultExportFromCjs(x) {
|
||||||
|
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
|
||||||
|
}
|
||||||
|
exports.getDefaultExportFromCjs = getDefaultExportFromCjs;
|
||||||
|
}));
|
||||||
1401
_internal/editor/dev/vs/abap-BxE6jMvt.js
Normal file
1401
_internal/editor/dev/vs/abap-BxE6jMvt.js
Normal file
File diff suppressed because it is too large
Load Diff
333
_internal/editor/dev/vs/apex-Jqcmv7eP.js
Normal file
333
_internal/editor/dev/vs/apex-Jqcmv7eP.js
Normal file
@@ -0,0 +1,333 @@
|
|||||||
|
define("vs/apex-Jqcmv7eP", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
// the default separators except `@$`
|
||||||
|
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
|
||||||
|
comments: {
|
||||||
|
lineComment: "//",
|
||||||
|
blockComment: ["/*", "*/"]
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" },
|
||||||
|
{ open: "<", close: ">" }
|
||||||
|
],
|
||||||
|
folding: {
|
||||||
|
markers: {
|
||||||
|
start: new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))"),
|
||||||
|
end: new RegExp("^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const keywords = [
|
||||||
|
"abstract",
|
||||||
|
"activate",
|
||||||
|
"and",
|
||||||
|
"any",
|
||||||
|
"array",
|
||||||
|
"as",
|
||||||
|
"asc",
|
||||||
|
"assert",
|
||||||
|
"autonomous",
|
||||||
|
"begin",
|
||||||
|
"bigdecimal",
|
||||||
|
"blob",
|
||||||
|
"boolean",
|
||||||
|
"break",
|
||||||
|
"bulk",
|
||||||
|
"by",
|
||||||
|
"case",
|
||||||
|
"cast",
|
||||||
|
"catch",
|
||||||
|
"char",
|
||||||
|
"class",
|
||||||
|
"collect",
|
||||||
|
"commit",
|
||||||
|
"const",
|
||||||
|
"continue",
|
||||||
|
"convertcurrency",
|
||||||
|
"decimal",
|
||||||
|
"default",
|
||||||
|
"delete",
|
||||||
|
"desc",
|
||||||
|
"do",
|
||||||
|
"double",
|
||||||
|
"else",
|
||||||
|
"end",
|
||||||
|
"enum",
|
||||||
|
"exception",
|
||||||
|
"exit",
|
||||||
|
"export",
|
||||||
|
"extends",
|
||||||
|
"false",
|
||||||
|
"final",
|
||||||
|
"finally",
|
||||||
|
"float",
|
||||||
|
"for",
|
||||||
|
"from",
|
||||||
|
"future",
|
||||||
|
"get",
|
||||||
|
"global",
|
||||||
|
"goto",
|
||||||
|
"group",
|
||||||
|
"having",
|
||||||
|
"hint",
|
||||||
|
"if",
|
||||||
|
"implements",
|
||||||
|
"import",
|
||||||
|
"in",
|
||||||
|
"inner",
|
||||||
|
"insert",
|
||||||
|
"instanceof",
|
||||||
|
"int",
|
||||||
|
"interface",
|
||||||
|
"into",
|
||||||
|
"join",
|
||||||
|
"last_90_days",
|
||||||
|
"last_month",
|
||||||
|
"last_n_days",
|
||||||
|
"last_week",
|
||||||
|
"like",
|
||||||
|
"limit",
|
||||||
|
"list",
|
||||||
|
"long",
|
||||||
|
"loop",
|
||||||
|
"map",
|
||||||
|
"merge",
|
||||||
|
"native",
|
||||||
|
"new",
|
||||||
|
"next_90_days",
|
||||||
|
"next_month",
|
||||||
|
"next_n_days",
|
||||||
|
"next_week",
|
||||||
|
"not",
|
||||||
|
"null",
|
||||||
|
"nulls",
|
||||||
|
"number",
|
||||||
|
"object",
|
||||||
|
"of",
|
||||||
|
"on",
|
||||||
|
"or",
|
||||||
|
"outer",
|
||||||
|
"override",
|
||||||
|
"package",
|
||||||
|
"parallel",
|
||||||
|
"pragma",
|
||||||
|
"private",
|
||||||
|
"protected",
|
||||||
|
"public",
|
||||||
|
"retrieve",
|
||||||
|
"return",
|
||||||
|
"returning",
|
||||||
|
"rollback",
|
||||||
|
"savepoint",
|
||||||
|
"search",
|
||||||
|
"select",
|
||||||
|
"set",
|
||||||
|
"short",
|
||||||
|
"sort",
|
||||||
|
"stat",
|
||||||
|
"static",
|
||||||
|
"strictfp",
|
||||||
|
"super",
|
||||||
|
"switch",
|
||||||
|
"synchronized",
|
||||||
|
"system",
|
||||||
|
"testmethod",
|
||||||
|
"then",
|
||||||
|
"this",
|
||||||
|
"this_month",
|
||||||
|
"this_week",
|
||||||
|
"throw",
|
||||||
|
"throws",
|
||||||
|
"today",
|
||||||
|
"tolabel",
|
||||||
|
"tomorrow",
|
||||||
|
"transaction",
|
||||||
|
"transient",
|
||||||
|
"trigger",
|
||||||
|
"true",
|
||||||
|
"try",
|
||||||
|
"type",
|
||||||
|
"undelete",
|
||||||
|
"update",
|
||||||
|
"upsert",
|
||||||
|
"using",
|
||||||
|
"virtual",
|
||||||
|
"void",
|
||||||
|
"volatile",
|
||||||
|
"webservice",
|
||||||
|
"when",
|
||||||
|
"where",
|
||||||
|
"while",
|
||||||
|
"yesterday"
|
||||||
|
];
|
||||||
|
const uppercaseFirstLetter = (lowercase) => lowercase.charAt(0).toUpperCase() + lowercase.substr(1);
|
||||||
|
let keywordsWithCaseVariations = [];
|
||||||
|
keywords.forEach((lowercase) => {
|
||||||
|
keywordsWithCaseVariations.push(lowercase);
|
||||||
|
keywordsWithCaseVariations.push(lowercase.toUpperCase());
|
||||||
|
keywordsWithCaseVariations.push(uppercaseFirstLetter(lowercase));
|
||||||
|
});
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".apex",
|
||||||
|
keywords: keywordsWithCaseVariations,
|
||||||
|
operators: [
|
||||||
|
"=",
|
||||||
|
">",
|
||||||
|
"<",
|
||||||
|
"!",
|
||||||
|
"~",
|
||||||
|
"?",
|
||||||
|
":",
|
||||||
|
"==",
|
||||||
|
"<=",
|
||||||
|
">=",
|
||||||
|
"!=",
|
||||||
|
"&&",
|
||||||
|
"||",
|
||||||
|
"++",
|
||||||
|
"--",
|
||||||
|
"+",
|
||||||
|
"-",
|
||||||
|
"*",
|
||||||
|
"/",
|
||||||
|
"&",
|
||||||
|
"|",
|
||||||
|
"^",
|
||||||
|
"%",
|
||||||
|
"<<",
|
||||||
|
">>",
|
||||||
|
">>>",
|
||||||
|
"+=",
|
||||||
|
"-=",
|
||||||
|
"*=",
|
||||||
|
"/=",
|
||||||
|
"&=",
|
||||||
|
"|=",
|
||||||
|
"^=",
|
||||||
|
"%=",
|
||||||
|
"<<=",
|
||||||
|
">>=",
|
||||||
|
">>>="
|
||||||
|
],
|
||||||
|
// 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})/,
|
||||||
|
digits: /\d+(_+\d+)*/,
|
||||||
|
octaldigits: /[0-7]+(_+[0-7]+)*/,
|
||||||
|
binarydigits: /[0-1]+(_+[0-1]+)*/,
|
||||||
|
hexdigits: /[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,
|
||||||
|
// The main tokenizer for our languages
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
// identifiers and keywords
|
||||||
|
[
|
||||||
|
/[a-z_$][\w$]*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@keywords": { token: "keyword.$0" },
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// assume that identifiers starting with an uppercase letter are types
|
||||||
|
[
|
||||||
|
/[A-Z][\w\$]*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@keywords": { token: "keyword.$0" },
|
||||||
|
"@default": "type.identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// whitespace
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
// delimiters and operators
|
||||||
|
[/[{}()\[\]]/, "@brackets"],
|
||||||
|
[/[<>](?!@symbols)/, "@brackets"],
|
||||||
|
[
|
||||||
|
/@symbols/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@operators": "delimiter",
|
||||||
|
"@default": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// @ annotations.
|
||||||
|
[/@\s*[a-zA-Z_\$][\w\$]*/, "annotation"],
|
||||||
|
// numbers
|
||||||
|
[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/, "number.float"],
|
||||||
|
[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/, "number.float"],
|
||||||
|
[/(@digits)[fFdD]/, "number.float"],
|
||||||
|
[/(@digits)[lL]?/, "number"],
|
||||||
|
// delimiter: after number because of .\d floats
|
||||||
|
[/[;,.]/, "delimiter"],
|
||||||
|
// strings
|
||||||
|
[/"([^"\\]|\\.)*$/, "string.invalid"],
|
||||||
|
// non-teminated string
|
||||||
|
[/'([^'\\]|\\.)*$/, "string.invalid"],
|
||||||
|
// non-teminated string
|
||||||
|
[/"/, "string", '@string."'],
|
||||||
|
[/'/, "string", "@string.'"],
|
||||||
|
// characters
|
||||||
|
[/'[^\\']'/, "string"],
|
||||||
|
[/(')(@escapes)(')/, ["string", "string.escape", "string"]],
|
||||||
|
[/'/, "string.invalid"]
|
||||||
|
],
|
||||||
|
whitespace: [
|
||||||
|
[/[ \t\r\n]+/, ""],
|
||||||
|
[/\/\*\*(?!\/)/, "comment.doc", "@apexdoc"],
|
||||||
|
[/\/\*/, "comment", "@comment"],
|
||||||
|
[/\/\/.*$/, "comment"]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
[/[^\/*]+/, "comment"],
|
||||||
|
// [/\/\*/, 'comment', '@push' ], // nested comment not allowed :-(
|
||||||
|
// [/\/\*/, 'comment.invalid' ], // this breaks block comments in the shape of /* //*/
|
||||||
|
[/\*\//, "comment", "@pop"],
|
||||||
|
[/[\/*]/, "comment"]
|
||||||
|
],
|
||||||
|
//Identical copy of comment above, except for the addition of .doc
|
||||||
|
apexdoc: [
|
||||||
|
[/[^\/*]+/, "comment.doc"],
|
||||||
|
[/\*\//, "comment.doc", "@pop"],
|
||||||
|
[/[\/*]/, "comment.doc"]
|
||||||
|
],
|
||||||
|
string: [
|
||||||
|
[/[^\\"']+/, "string"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/\\./, "string.escape.invalid"],
|
||||||
|
[
|
||||||
|
/["']/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$#==$S2": { token: "string", next: "@pop" },
|
||||||
|
"@default": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
53466
_internal/editor/dev/vs/assets/css.worker-UBouhlx6.js
Normal file
53466
_internal/editor/dev/vs/assets/css.worker-UBouhlx6.js
Normal file
File diff suppressed because one or more lines are too long
13608
_internal/editor/dev/vs/assets/editor.worker-Dt-rrJKL.js
Normal file
13608
_internal/editor/dev/vs/assets/editor.worker-Dt-rrJKL.js
Normal file
File diff suppressed because one or more lines are too long
29676
_internal/editor/dev/vs/assets/html.worker-z9P_0-Yg.js
Normal file
29676
_internal/editor/dev/vs/assets/html.worker-z9P_0-Yg.js
Normal file
File diff suppressed because one or more lines are too long
21325
_internal/editor/dev/vs/assets/json.worker-DL8PoUrj.js
Normal file
21325
_internal/editor/dev/vs/assets/json.worker-DL8PoUrj.js
Normal file
File diff suppressed because one or more lines are too long
256079
_internal/editor/dev/vs/assets/ts.worker-CcnreaRY.js
Normal file
256079
_internal/editor/dev/vs/assets/ts.worker-CcnreaRY.js
Normal file
File diff suppressed because one or more lines are too long
71
_internal/editor/dev/vs/azcli-DlDxj3-g.js
Normal file
71
_internal/editor/dev/vs/azcli-DlDxj3-g.js
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
define("vs/azcli-DlDxj3-g", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: "#"
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "keyword",
|
||||||
|
ignoreCase: true,
|
||||||
|
tokenPostfix: ".azcli",
|
||||||
|
str: /[^#\s]/,
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
{ include: "@comment" },
|
||||||
|
[
|
||||||
|
/\s-+@str*\s*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@eos": { token: "key.identifier", next: "@popall" },
|
||||||
|
"@default": { token: "key.identifier", next: "@type" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/^-+@str*\s*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@eos": { token: "key.identifier", next: "@popall" },
|
||||||
|
"@default": { token: "key.identifier", next: "@type" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
type: [
|
||||||
|
{ include: "@comment" },
|
||||||
|
[
|
||||||
|
/-+@str*\s*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@eos": { token: "key.identifier", next: "@popall" },
|
||||||
|
"@default": "key.identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/@str+\s*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@eos": { token: "string", next: "@popall" },
|
||||||
|
"@default": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
[
|
||||||
|
/#.*$/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@eos": { token: "comment", next: "@popall" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
978
_internal/editor/dev/vs/basic-languages/monaco.contribution.js
Normal file
978
_internal/editor/dev/vs/basic-languages/monaco.contribution.js
Normal file
@@ -0,0 +1,978 @@
|
|||||||
|
define("vs/basic-languages/monaco.contribution", ["require", "../editor.api-BhD7pWdi"], (function(require, editor_api) {
|
||||||
|
"use strict";
|
||||||
|
const languageDefinitions = {};
|
||||||
|
const lazyLanguageLoaders = {};
|
||||||
|
class LazyLanguageLoader {
|
||||||
|
static getOrCreate(languageId) {
|
||||||
|
if (!lazyLanguageLoaders[languageId]) {
|
||||||
|
lazyLanguageLoaders[languageId] = new LazyLanguageLoader(languageId);
|
||||||
|
}
|
||||||
|
return lazyLanguageLoaders[languageId];
|
||||||
|
}
|
||||||
|
constructor(languageId) {
|
||||||
|
this._languageId = languageId;
|
||||||
|
this._loadingTriggered = false;
|
||||||
|
this._lazyLoadPromise = new Promise((resolve, reject) => {
|
||||||
|
this._lazyLoadPromiseResolve = resolve;
|
||||||
|
this._lazyLoadPromiseReject = reject;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
load() {
|
||||||
|
if (!this._loadingTriggered) {
|
||||||
|
this._loadingTriggered = true;
|
||||||
|
languageDefinitions[this._languageId].loader().then(
|
||||||
|
(mod) => this._lazyLoadPromiseResolve(mod),
|
||||||
|
(err) => this._lazyLoadPromiseReject(err)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return this._lazyLoadPromise;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function registerLanguage(def) {
|
||||||
|
const languageId = def.id;
|
||||||
|
languageDefinitions[languageId] = def;
|
||||||
|
editor_api.languages.register(def);
|
||||||
|
const lazyLanguageLoader = LazyLanguageLoader.getOrCreate(languageId);
|
||||||
|
editor_api.languages.registerTokensProviderFactory(languageId, {
|
||||||
|
create: async () => {
|
||||||
|
const mod = await lazyLanguageLoader.load();
|
||||||
|
return mod.language;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
editor_api.languages.onLanguageEncountered(languageId, async () => {
|
||||||
|
const mod = await lazyLanguageLoader.load();
|
||||||
|
editor_api.languages.setLanguageConfiguration(languageId, mod.conf);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
registerLanguage({
|
||||||
|
id: "abap",
|
||||||
|
extensions: [".abap"],
|
||||||
|
aliases: ["abap", "ABAP"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../abap-BxE6jMvt"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "apex",
|
||||||
|
extensions: [".cls"],
|
||||||
|
aliases: ["Apex", "apex"],
|
||||||
|
mimetypes: ["text/x-apex-source", "text/x-apex"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../apex-Jqcmv7eP"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "azcli",
|
||||||
|
extensions: [".azcli"],
|
||||||
|
aliases: ["Azure CLI", "azcli"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../azcli-DlDxj3-g"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "bat",
|
||||||
|
extensions: [".bat", ".cmd"],
|
||||||
|
aliases: ["Batch", "bat"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../bat-gO9qKzUo"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "bicep",
|
||||||
|
extensions: [".bicep"],
|
||||||
|
aliases: ["Bicep"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../bicep-XOQLqtWX"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "cameligo",
|
||||||
|
extensions: [".mligo"],
|
||||||
|
aliases: ["Cameligo"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../cameligo-DCtn5844"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "clojure",
|
||||||
|
extensions: [".clj", ".cljs", ".cljc", ".edn"],
|
||||||
|
aliases: ["clojure", "Clojure"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../clojure-DyYtgmYv"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "coffeescript",
|
||||||
|
extensions: [".coffee"],
|
||||||
|
aliases: ["CoffeeScript", "coffeescript", "coffee"],
|
||||||
|
mimetypes: ["text/x-coffeescript", "text/coffeescript"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../coffee-C8bOs6Uz"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "c",
|
||||||
|
extensions: [".c", ".h"],
|
||||||
|
aliases: ["C", "c"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../cpp-9dJI961u"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "cpp",
|
||||||
|
extensions: [".cpp", ".cc", ".cxx", ".hpp", ".hh", ".hxx"],
|
||||||
|
aliases: ["C++", "Cpp", "cpp"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../cpp-9dJI961u"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "csharp",
|
||||||
|
extensions: [".cs", ".csx", ".cake"],
|
||||||
|
aliases: ["C#", "csharp"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../csharp-NZNtYXm3"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "csp",
|
||||||
|
extensions: [".csp"],
|
||||||
|
aliases: ["CSP", "csp"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../csp-CtMdzNMY"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "css",
|
||||||
|
extensions: [".css"],
|
||||||
|
aliases: ["CSS", "css"],
|
||||||
|
mimetypes: ["text/css"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../css-t68wsr0f"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "cypher",
|
||||||
|
extensions: [".cypher", ".cyp"],
|
||||||
|
aliases: ["Cypher", "OpenCypher"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../cypher-DyfRGA23"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "dart",
|
||||||
|
extensions: [".dart"],
|
||||||
|
aliases: ["Dart", "dart"],
|
||||||
|
mimetypes: ["text/x-dart-source", "text/x-dart"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../dart-eN3E5CF0"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "dockerfile",
|
||||||
|
extensions: [".dockerfile"],
|
||||||
|
filenames: ["Dockerfile"],
|
||||||
|
aliases: ["Dockerfile"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../dockerfile-A7JJbAuF"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "ecl",
|
||||||
|
extensions: [".ecl"],
|
||||||
|
aliases: ["ECL", "Ecl", "ecl"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../ecl-BJgqfLSq"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "elixir",
|
||||||
|
extensions: [".ex", ".exs"],
|
||||||
|
aliases: ["Elixir", "elixir", "ex"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../elixir-BxvNo5o6"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "flow9",
|
||||||
|
extensions: [".flow"],
|
||||||
|
aliases: ["Flow9", "Flow", "flow9", "flow"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../flow9-BNnUn-_8"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "fsharp",
|
||||||
|
extensions: [".fs", ".fsi", ".ml", ".mli", ".fsx", ".fsscript"],
|
||||||
|
aliases: ["F#", "FSharp", "fsharp"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../fsharp-DHdXPb1O"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "freemarker2",
|
||||||
|
extensions: [".ftl", ".ftlh", ".ftlx"],
|
||||||
|
aliases: ["FreeMarker2", "Apache FreeMarker2"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../freemarker2-Ci5s7p-k"], resolve, reject)).then((m) => m.TagAutoInterpolationDollar);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "freemarker2.tag-angle.interpolation-dollar",
|
||||||
|
aliases: ["FreeMarker2 (Angle/Dollar)", "Apache FreeMarker2 (Angle/Dollar)"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../freemarker2-Ci5s7p-k"], resolve, reject)).then((m) => m.TagAngleInterpolationDollar);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "freemarker2.tag-bracket.interpolation-dollar",
|
||||||
|
aliases: ["FreeMarker2 (Bracket/Dollar)", "Apache FreeMarker2 (Bracket/Dollar)"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../freemarker2-Ci5s7p-k"], resolve, reject)).then((m) => m.TagBracketInterpolationDollar);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "freemarker2.tag-angle.interpolation-bracket",
|
||||||
|
aliases: ["FreeMarker2 (Angle/Bracket)", "Apache FreeMarker2 (Angle/Bracket)"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../freemarker2-Ci5s7p-k"], resolve, reject)).then((m) => m.TagAngleInterpolationBracket);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "freemarker2.tag-bracket.interpolation-bracket",
|
||||||
|
aliases: ["FreeMarker2 (Bracket/Bracket)", "Apache FreeMarker2 (Bracket/Bracket)"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../freemarker2-Ci5s7p-k"], resolve, reject)).then((m) => m.TagBracketInterpolationBracket);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "freemarker2.tag-auto.interpolation-dollar",
|
||||||
|
aliases: ["FreeMarker2 (Auto/Dollar)", "Apache FreeMarker2 (Auto/Dollar)"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../freemarker2-Ci5s7p-k"], resolve, reject)).then((m) => m.TagAutoInterpolationDollar);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "freemarker2.tag-auto.interpolation-bracket",
|
||||||
|
aliases: ["FreeMarker2 (Auto/Bracket)", "Apache FreeMarker2 (Auto/Bracket)"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../freemarker2-Ci5s7p-k"], resolve, reject)).then((m) => m.TagAutoInterpolationBracket);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "go",
|
||||||
|
extensions: [".go"],
|
||||||
|
aliases: ["Go"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../go-DcS9_gMe"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "graphql",
|
||||||
|
extensions: [".graphql", ".gql"],
|
||||||
|
aliases: ["GraphQL", "graphql", "gql"],
|
||||||
|
mimetypes: ["application/graphql"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../graphql-CHzgmf8E"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "handlebars",
|
||||||
|
extensions: [".handlebars", ".hbs"],
|
||||||
|
aliases: ["Handlebars", "handlebars", "hbs"],
|
||||||
|
mimetypes: ["text/x-handlebars-template"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../handlebars-Cpd6mzVL"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "hcl",
|
||||||
|
extensions: [".tf", ".tfvars", ".hcl"],
|
||||||
|
aliases: ["Terraform", "tf", "HCL", "hcl"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../hcl-ChD4paVH"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "html",
|
||||||
|
extensions: [".html", ".htm", ".shtml", ".xhtml", ".mdoc", ".jsp", ".asp", ".aspx", ".jshtm"],
|
||||||
|
aliases: ["HTML", "htm", "html", "xhtml"],
|
||||||
|
mimetypes: ["text/html", "text/x-jshtm", "text/template", "text/ng-template"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../html-L3fuhF-c"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "ini",
|
||||||
|
extensions: [".ini", ".properties", ".gitconfig"],
|
||||||
|
filenames: ["config", ".gitattributes", ".gitconfig", ".editorconfig"],
|
||||||
|
aliases: ["Ini", "ini"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../ini-CdZgSnLI"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "java",
|
||||||
|
extensions: [".java", ".jav"],
|
||||||
|
aliases: ["Java", "java"],
|
||||||
|
mimetypes: ["text/x-java-source", "text/x-java"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../java-vwwkdu2k"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "javascript",
|
||||||
|
extensions: [".js", ".es6", ".jsx", ".mjs", ".cjs"],
|
||||||
|
firstLine: "^#!.*\\bnode",
|
||||||
|
filenames: ["jakefile"],
|
||||||
|
aliases: ["JavaScript", "javascript", "js"],
|
||||||
|
mimetypes: ["text/javascript"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../javascript-DtYAOqDf"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "julia",
|
||||||
|
extensions: [".jl"],
|
||||||
|
aliases: ["julia", "Julia"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../julia-DrYN6c6i"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "kotlin",
|
||||||
|
extensions: [".kt", ".kts"],
|
||||||
|
aliases: ["Kotlin", "kotlin"],
|
||||||
|
mimetypes: ["text/x-kotlin-source", "text/x-kotlin"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../kotlin-BlB-2Ilc"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "less",
|
||||||
|
extensions: [".less"],
|
||||||
|
aliases: ["Less", "less"],
|
||||||
|
mimetypes: ["text/x-less", "text/less"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../less-B7KFvseP"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "lexon",
|
||||||
|
extensions: [".lex"],
|
||||||
|
aliases: ["Lexon"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../lexon-BmRNXYWC"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "lua",
|
||||||
|
extensions: [".lua"],
|
||||||
|
aliases: ["Lua", "lua"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../lua-BYAO5Img"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "liquid",
|
||||||
|
extensions: [".liquid", ".html.liquid"],
|
||||||
|
aliases: ["Liquid", "liquid"],
|
||||||
|
mimetypes: ["application/liquid"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../liquid-CDz0dGHZ"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "m3",
|
||||||
|
extensions: [".m3", ".i3", ".mg", ".ig"],
|
||||||
|
aliases: ["Modula-3", "Modula3", "modula3", "m3"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../m3-B1KqSpyY"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "markdown",
|
||||||
|
extensions: [".md", ".markdown", ".mdown", ".mkdn", ".mkd", ".mdwn", ".mdtxt", ".mdtext"],
|
||||||
|
aliases: ["Markdown", "markdown"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../markdown-BXo7NBdp"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "mdx",
|
||||||
|
extensions: [".mdx"],
|
||||||
|
aliases: ["MDX", "mdx"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../mdx-CRukMuk2"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "mips",
|
||||||
|
extensions: [".s"],
|
||||||
|
aliases: ["MIPS", "MIPS-V"],
|
||||||
|
mimetypes: ["text/x-mips", "text/mips", "text/plaintext"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../mips-zX62smW0"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "msdax",
|
||||||
|
extensions: [".dax", ".msdax"],
|
||||||
|
aliases: ["DAX", "MSDAX"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../msdax-MzEb-8sD"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "mysql",
|
||||||
|
extensions: [],
|
||||||
|
aliases: ["MySQL", "mysql"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../mysql-Drs0JCLT"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "objective-c",
|
||||||
|
extensions: [".m"],
|
||||||
|
aliases: ["Objective-C"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../objective-c-DZzj24DI"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "pascal",
|
||||||
|
extensions: [".pas", ".p", ".pp"],
|
||||||
|
aliases: ["Pascal", "pas"],
|
||||||
|
mimetypes: ["text/x-pascal-source", "text/x-pascal"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../pascal-Ek4lERtt"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "pascaligo",
|
||||||
|
extensions: [".ligo"],
|
||||||
|
aliases: ["Pascaligo", "ligo"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../pascaligo-BhBiNdI2"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "perl",
|
||||||
|
extensions: [".pl", ".pm"],
|
||||||
|
aliases: ["Perl", "pl"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../perl-BZM3Cl3T"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "pgsql",
|
||||||
|
extensions: [],
|
||||||
|
aliases: ["PostgreSQL", "postgres", "pg", "postgre"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../pgsql-BAYS0xjf"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "php",
|
||||||
|
extensions: [".php", ".php4", ".php5", ".phtml", ".ctp"],
|
||||||
|
aliases: ["PHP", "php"],
|
||||||
|
mimetypes: ["application/x-php"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../php-DK3ktPH8"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "pla",
|
||||||
|
extensions: [".pla"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../pla-DbBZgOrT"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "postiats",
|
||||||
|
extensions: [".dats", ".sats", ".hats"],
|
||||||
|
aliases: ["ATS", "ATS/Postiats"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../postiats-OtZm4COL"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "powerquery",
|
||||||
|
extensions: [".pq", ".pqm"],
|
||||||
|
aliases: ["PQ", "M", "Power Query", "Power Query M"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../powerquery-Du80-tps"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "powershell",
|
||||||
|
extensions: [".ps1", ".psm1", ".psd1"],
|
||||||
|
aliases: ["PowerShell", "powershell", "ps", "ps1"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../powershell-mk7ECzLJ"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "proto",
|
||||||
|
extensions: [".proto"],
|
||||||
|
aliases: ["protobuf", "Protocol Buffers"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../protobuf-Bn1ftnRe"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "pug",
|
||||||
|
extensions: [".jade", ".pug"],
|
||||||
|
aliases: ["Pug", "Jade", "jade"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../pug-BIApPNjT"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "python",
|
||||||
|
extensions: [".py", ".rpy", ".pyw", ".cpy", ".gyp", ".gypi"],
|
||||||
|
aliases: ["Python", "py"],
|
||||||
|
firstLine: "^#!/.*\\bpython[0-9.-]*\\b",
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../python-CSlobbnO"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "qsharp",
|
||||||
|
extensions: [".qs"],
|
||||||
|
aliases: ["Q#", "qsharp"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../qsharp-BzyhV8V4"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "r",
|
||||||
|
extensions: [".r", ".rhistory", ".rmd", ".rprofile", ".rt"],
|
||||||
|
aliases: ["R", "r"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../r-BZ_VXAR1"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "razor",
|
||||||
|
extensions: [".cshtml"],
|
||||||
|
aliases: ["Razor", "razor"],
|
||||||
|
mimetypes: ["text/x-cshtml"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../razor-CcKFJPeA"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "redis",
|
||||||
|
extensions: [".redis"],
|
||||||
|
aliases: ["redis"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../redis-BVpHZsxd"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "redshift",
|
||||||
|
extensions: [],
|
||||||
|
aliases: ["Redshift", "redshift"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../redshift-DMeYiY_v"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "restructuredtext",
|
||||||
|
extensions: [".rst"],
|
||||||
|
aliases: ["reStructuredText", "restructuredtext"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../restructuredtext-CmsqpaZy"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "ruby",
|
||||||
|
extensions: [".rb", ".rbx", ".rjs", ".gemspec", ".pp"],
|
||||||
|
filenames: ["rakefile", "Gemfile"],
|
||||||
|
aliases: ["Ruby", "rb"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../ruby-qQzGPz_6"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "rust",
|
||||||
|
extensions: [".rs", ".rlib"],
|
||||||
|
aliases: ["Rust", "rust"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../rust-DIvkf86i"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "sb",
|
||||||
|
extensions: [".sb"],
|
||||||
|
aliases: ["Small Basic", "sb"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../sb-DUCWDbCb"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "scala",
|
||||||
|
extensions: [".scala", ".sc", ".sbt"],
|
||||||
|
aliases: ["Scala", "scala", "SBT", "Sbt", "sbt", "Dotty", "dotty"],
|
||||||
|
mimetypes: ["text/x-scala-source", "text/x-scala", "text/x-sbt", "text/x-dotty"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../scala-Cs4aXuOD"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "scheme",
|
||||||
|
extensions: [".scm", ".ss", ".sch", ".rkt"],
|
||||||
|
aliases: ["scheme", "Scheme"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../scheme-DM9P8uKD"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "scss",
|
||||||
|
extensions: [".scss"],
|
||||||
|
aliases: ["Sass", "sass", "scss"],
|
||||||
|
mimetypes: ["text/x-scss", "text/scss"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../scss-DijLV5ju"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "shell",
|
||||||
|
extensions: [".sh", ".bash"],
|
||||||
|
aliases: ["Shell", "sh"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../shell-BmIjpZz5"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "sol",
|
||||||
|
extensions: [".sol"],
|
||||||
|
aliases: ["sol", "solidity", "Solidity"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../solidity-ClNCm0U5"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "aes",
|
||||||
|
extensions: [".aes"],
|
||||||
|
aliases: ["aes", "sophia", "Sophia"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../sophia-DRm4eves"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "sparql",
|
||||||
|
extensions: [".rq"],
|
||||||
|
aliases: ["sparql", "SPARQL"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../sparql-O5ONewYs"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "sql",
|
||||||
|
extensions: [".sql"],
|
||||||
|
aliases: ["SQL"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../sql-RAEyXdQG"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "st",
|
||||||
|
extensions: [".st", ".iecst", ".iecplc", ".lc3lib", ".TcPOU", ".TcDUT", ".TcGVL", ".TcIO"],
|
||||||
|
aliases: ["StructuredText", "scl", "stl"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../st-UObc-eRR"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "swift",
|
||||||
|
aliases: ["Swift", "swift"],
|
||||||
|
extensions: [".swift"],
|
||||||
|
mimetypes: ["text/swift"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../swift-CXsb7aR5"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "systemverilog",
|
||||||
|
extensions: [".sv", ".svh"],
|
||||||
|
aliases: ["SV", "sv", "SystemVerilog", "systemverilog"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../systemverilog-D8uKG36_"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "verilog",
|
||||||
|
extensions: [".v", ".vh"],
|
||||||
|
aliases: ["V", "v", "Verilog", "verilog"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../systemverilog-D8uKG36_"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "tcl",
|
||||||
|
extensions: [".tcl"],
|
||||||
|
aliases: ["tcl", "Tcl", "tcltk", "TclTk", "tcl/tk", "Tcl/Tk"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../tcl-BiHOeboY"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "twig",
|
||||||
|
extensions: [".twig"],
|
||||||
|
aliases: ["Twig", "twig"],
|
||||||
|
mimetypes: ["text/x-twig"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../twig-DDbyWOW2"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "typescript",
|
||||||
|
extensions: [".ts", ".tsx", ".cts", ".mts"],
|
||||||
|
aliases: ["TypeScript", "ts", "typescript"],
|
||||||
|
mimetypes: ["text/typescript"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../typescript-qRP7tyf4"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "typespec",
|
||||||
|
extensions: [".tsp"],
|
||||||
|
aliases: ["TypeSpec"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../typespec-BoPQuPjQ"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "vb",
|
||||||
|
extensions: [".vb"],
|
||||||
|
aliases: ["Visual Basic", "vb"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../vb-Dj0rva7R"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "wgsl",
|
||||||
|
extensions: [".wgsl"],
|
||||||
|
aliases: ["WebGPU Shading Language", "WGSL", "wgsl"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../wgsl-C6G-1Rhr"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "xml",
|
||||||
|
extensions: [
|
||||||
|
".xml",
|
||||||
|
".xsd",
|
||||||
|
".dtd",
|
||||||
|
".ascx",
|
||||||
|
".csproj",
|
||||||
|
".config",
|
||||||
|
".props",
|
||||||
|
".targets",
|
||||||
|
".wxi",
|
||||||
|
".wxl",
|
||||||
|
".wxs",
|
||||||
|
".xaml",
|
||||||
|
".svg",
|
||||||
|
".svgz",
|
||||||
|
".opf",
|
||||||
|
".xslt",
|
||||||
|
".xsl"
|
||||||
|
],
|
||||||
|
firstLine: "(\\<\\?xml.*)|(\\<svg)|(\\<\\!doctype\\s+svg)",
|
||||||
|
aliases: ["XML", "xml"],
|
||||||
|
mimetypes: ["text/xml", "application/xml", "application/xaml+xml", "application/xml-dtd"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../xml-CSLddLaW"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
registerLanguage({
|
||||||
|
id: "yaml",
|
||||||
|
extensions: [".yaml", ".yml"],
|
||||||
|
aliases: ["YAML", "yaml", "YML", "yml"],
|
||||||
|
mimetypes: ["application/x-yaml", "text/x-yaml"],
|
||||||
|
loader: () => {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../yaml-TB97xlnI"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}));
|
||||||
103
_internal/editor/dev/vs/bat-gO9qKzUo.js
Normal file
103
_internal/editor/dev/vs/bat-gO9qKzUo.js
Normal file
@@ -0,0 +1,103 @@
|
|||||||
|
define("vs/bat-gO9qKzUo", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: "REM"
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' }
|
||||||
|
],
|
||||||
|
folding: {
|
||||||
|
markers: {
|
||||||
|
start: new RegExp("^\\s*(::\\s*|REM\\s+)#region"),
|
||||||
|
end: new RegExp("^\\s*(::\\s*|REM\\s+)#endregion")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
ignoreCase: true,
|
||||||
|
tokenPostfix: ".bat",
|
||||||
|
brackets: [
|
||||||
|
{ token: "delimiter.bracket", open: "{", close: "}" },
|
||||||
|
{ token: "delimiter.parenthesis", open: "(", close: ")" },
|
||||||
|
{ token: "delimiter.square", open: "[", close: "]" }
|
||||||
|
],
|
||||||
|
keywords: /call|defined|echo|errorlevel|exist|for|goto|if|pause|set|shift|start|title|not|pushd|popd/,
|
||||||
|
// 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: [
|
||||||
|
[/^(\s*)(rem(?:\s.*|))$/, ["", "comment"]],
|
||||||
|
[/(\@?)(@keywords)(?!\w)/, [{ token: "keyword" }, { token: "keyword.$2" }]],
|
||||||
|
// whitespace
|
||||||
|
[/[ \t\r\n]+/, ""],
|
||||||
|
// blocks
|
||||||
|
[/setlocal(?!\w)/, "keyword.tag-setlocal"],
|
||||||
|
[/endlocal(?!\w)/, "keyword.tag-setlocal"],
|
||||||
|
// words
|
||||||
|
[/[a-zA-Z_]\w*/, ""],
|
||||||
|
// labels
|
||||||
|
[/:\w*/, "metatag"],
|
||||||
|
// variables
|
||||||
|
[/%[^%]+%/, "variable"],
|
||||||
|
[/%%[\w]+(?!\w)/, "variable"],
|
||||||
|
// punctuations
|
||||||
|
[/[{}()\[\]]/, "@brackets"],
|
||||||
|
[/@symbols/, "delimiter"],
|
||||||
|
// numbers
|
||||||
|
[/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
|
||||||
|
[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/, "number.hex"],
|
||||||
|
[/\d+/, "number"],
|
||||||
|
// punctuation: after number because of .\d floats
|
||||||
|
[/[;,.]/, "delimiter"],
|
||||||
|
// strings:
|
||||||
|
[/"/, "string", '@string."'],
|
||||||
|
[/'/, "string", "@string.'"]
|
||||||
|
],
|
||||||
|
string: [
|
||||||
|
[
|
||||||
|
/[^\\"'%]+/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@eos": { token: "string", next: "@popall" },
|
||||||
|
"@default": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/\\./, "string.escape.invalid"],
|
||||||
|
[/%[\w ]+%/, "variable"],
|
||||||
|
[/%%[\w]+(?!\w)/, "variable"],
|
||||||
|
[
|
||||||
|
/["']/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$#==$S2": { token: "string", next: "@pop" },
|
||||||
|
"@default": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/$/, "string", "@popall"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
112
_internal/editor/dev/vs/bicep-XOQLqtWX.js
Normal file
112
_internal/editor/dev/vs/bicep-XOQLqtWX.js
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
define("vs/bicep-XOQLqtWX", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const bounded = (text) => `\\b${text}\\b`;
|
||||||
|
const identifierStart = "[_a-zA-Z]";
|
||||||
|
const identifierContinue = "[_a-zA-Z0-9]";
|
||||||
|
const identifier = bounded(`${identifierStart}${identifierContinue}*`);
|
||||||
|
const keywords = [
|
||||||
|
"targetScope",
|
||||||
|
"resource",
|
||||||
|
"module",
|
||||||
|
"param",
|
||||||
|
"var",
|
||||||
|
"output",
|
||||||
|
"for",
|
||||||
|
"in",
|
||||||
|
"if",
|
||||||
|
"existing"
|
||||||
|
];
|
||||||
|
const namedLiterals = ["true", "false", "null"];
|
||||||
|
const nonCommentWs = `[ \\t\\r\\n]`;
|
||||||
|
const numericLiteral = `[0-9]+`;
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: "//",
|
||||||
|
blockComment: ["/*", "*/"]
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: "'", close: "'" },
|
||||||
|
{ open: "'''", close: "'''" }
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: "'", close: "'", notIn: ["string", "comment"] },
|
||||||
|
{ open: "'''", close: "'''", notIn: ["string", "comment"] }
|
||||||
|
],
|
||||||
|
autoCloseBefore: ":.,=}])' \n ",
|
||||||
|
indentationRules: {
|
||||||
|
increaseIndentPattern: new RegExp("^((?!\\/\\/).)*(\\{[^}\"'`]*|\\([^)\"'`]*|\\[[^\\]\"'`]*)$"),
|
||||||
|
decreaseIndentPattern: new RegExp("^((?!.*?\\/\\*).*\\*/)?\\s*[\\}\\]].*$")
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".bicep",
|
||||||
|
brackets: [
|
||||||
|
{ open: "{", close: "}", token: "delimiter.curly" },
|
||||||
|
{ open: "[", close: "]", token: "delimiter.square" },
|
||||||
|
{ open: "(", close: ")", token: "delimiter.parenthesis" }
|
||||||
|
],
|
||||||
|
symbols: /[=><!~?:&|+\-*/^%]+/,
|
||||||
|
keywords,
|
||||||
|
namedLiterals,
|
||||||
|
escapes: `\\\\(u{[0-9A-Fa-f]+}|n|r|t|\\\\|'|\\\${)`,
|
||||||
|
tokenizer: {
|
||||||
|
root: [{ include: "@expression" }, { include: "@whitespace" }],
|
||||||
|
stringVerbatim: [
|
||||||
|
{ regex: `(|'|'')[^']`, action: { token: "string" } },
|
||||||
|
{ regex: `'''`, action: { token: "string.quote", next: "@pop" } }
|
||||||
|
],
|
||||||
|
stringLiteral: [
|
||||||
|
{ regex: `\\\${`, action: { token: "delimiter.bracket", next: "@bracketCounting" } },
|
||||||
|
{ regex: `[^\\\\'$]+`, action: { token: "string" } },
|
||||||
|
{ regex: "@escapes", action: { token: "string.escape" } },
|
||||||
|
{ regex: `\\\\.`, action: { token: "string.escape.invalid" } },
|
||||||
|
{ regex: `'`, action: { token: "string", next: "@pop" } }
|
||||||
|
],
|
||||||
|
bracketCounting: [
|
||||||
|
{ regex: `{`, action: { token: "delimiter.bracket", next: "@bracketCounting" } },
|
||||||
|
{ regex: `}`, action: { token: "delimiter.bracket", next: "@pop" } },
|
||||||
|
{ include: "expression" }
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
{ regex: `[^\\*]+`, action: { token: "comment" } },
|
||||||
|
{ regex: `\\*\\/`, action: { token: "comment", next: "@pop" } },
|
||||||
|
{ regex: `[\\/*]`, action: { token: "comment" } }
|
||||||
|
],
|
||||||
|
whitespace: [
|
||||||
|
{ regex: nonCommentWs },
|
||||||
|
{ regex: `\\/\\*`, action: { token: "comment", next: "@comment" } },
|
||||||
|
{ regex: `\\/\\/.*$`, action: { token: "comment" } }
|
||||||
|
],
|
||||||
|
expression: [
|
||||||
|
{ regex: `'''`, action: { token: "string.quote", next: "@stringVerbatim" } },
|
||||||
|
{ regex: `'`, action: { token: "string.quote", next: "@stringLiteral" } },
|
||||||
|
{ regex: numericLiteral, action: { token: "number" } },
|
||||||
|
{
|
||||||
|
regex: identifier,
|
||||||
|
action: {
|
||||||
|
cases: {
|
||||||
|
"@keywords": { token: "keyword" },
|
||||||
|
"@namedLiterals": { token: "keyword" },
|
||||||
|
"@default": { token: "identifier" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
177
_internal/editor/dev/vs/cameligo-DCtn5844.js
Normal file
177
_internal/editor/dev/vs/cameligo-DCtn5844.js
Normal file
@@ -0,0 +1,177 @@
|
|||||||
|
define("vs/cameligo-DCtn5844", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: "//",
|
||||||
|
blockComment: ["(*", "*)"]
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"],
|
||||||
|
["<", ">"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ 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: '"' },
|
||||||
|
{ open: "(*", close: "*)" }
|
||||||
|
]
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".cameligo",
|
||||||
|
ignoreCase: true,
|
||||||
|
brackets: [
|
||||||
|
{ open: "{", close: "}", token: "delimiter.curly" },
|
||||||
|
{ open: "[", close: "]", token: "delimiter.square" },
|
||||||
|
{ open: "(", close: ")", token: "delimiter.parenthesis" },
|
||||||
|
{ open: "<", close: ">", token: "delimiter.angle" }
|
||||||
|
],
|
||||||
|
keywords: [
|
||||||
|
"abs",
|
||||||
|
"assert",
|
||||||
|
"block",
|
||||||
|
"Bytes",
|
||||||
|
"case",
|
||||||
|
"Crypto",
|
||||||
|
"Current",
|
||||||
|
"else",
|
||||||
|
"failwith",
|
||||||
|
"false",
|
||||||
|
"for",
|
||||||
|
"fun",
|
||||||
|
"if",
|
||||||
|
"in",
|
||||||
|
"let",
|
||||||
|
"let%entry",
|
||||||
|
"let%init",
|
||||||
|
"List",
|
||||||
|
"list",
|
||||||
|
"Map",
|
||||||
|
"map",
|
||||||
|
"match",
|
||||||
|
"match%nat",
|
||||||
|
"mod",
|
||||||
|
"not",
|
||||||
|
"operation",
|
||||||
|
"Operation",
|
||||||
|
"of",
|
||||||
|
"record",
|
||||||
|
"Set",
|
||||||
|
"set",
|
||||||
|
"sender",
|
||||||
|
"skip",
|
||||||
|
"source",
|
||||||
|
"String",
|
||||||
|
"then",
|
||||||
|
"to",
|
||||||
|
"true",
|
||||||
|
"type",
|
||||||
|
"with"
|
||||||
|
],
|
||||||
|
typeKeywords: ["int", "unit", "string", "tz", "nat", "bool"],
|
||||||
|
operators: [
|
||||||
|
"=",
|
||||||
|
">",
|
||||||
|
"<",
|
||||||
|
"<=",
|
||||||
|
">=",
|
||||||
|
"<>",
|
||||||
|
":",
|
||||||
|
":=",
|
||||||
|
"and",
|
||||||
|
"mod",
|
||||||
|
"or",
|
||||||
|
"+",
|
||||||
|
"-",
|
||||||
|
"*",
|
||||||
|
"/",
|
||||||
|
"@",
|
||||||
|
"&",
|
||||||
|
"^",
|
||||||
|
"%",
|
||||||
|
"->",
|
||||||
|
"<-",
|
||||||
|
"&&",
|
||||||
|
"||"
|
||||||
|
],
|
||||||
|
// we include these common regular expressions
|
||||||
|
symbols: /[=><:@\^&|+\-*\/\^%]+/,
|
||||||
|
// The main tokenizer for our languages
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
// identifiers and keywords
|
||||||
|
[
|
||||||
|
/[a-zA-Z_][\w]*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@keywords": { token: "keyword.$0" },
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// whitespace
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
// delimiters and operators
|
||||||
|
[/[{}()\[\]]/, "@brackets"],
|
||||||
|
[/[<>](?!@symbols)/, "@brackets"],
|
||||||
|
[
|
||||||
|
/@symbols/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@operators": "delimiter",
|
||||||
|
"@default": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// numbers
|
||||||
|
[/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
|
||||||
|
[/\$[0-9a-fA-F]{1,16}/, "number.hex"],
|
||||||
|
[/\d+/, "number"],
|
||||||
|
// delimiter: after number because of .\d floats
|
||||||
|
[/[;,.]/, "delimiter"],
|
||||||
|
// strings
|
||||||
|
[/'([^'\\]|\\.)*$/, "string.invalid"],
|
||||||
|
// non-teminated string
|
||||||
|
[/'/, "string", "@string"],
|
||||||
|
// characters
|
||||||
|
[/'[^\\']'/, "string"],
|
||||||
|
[/'/, "string.invalid"],
|
||||||
|
[/\#\d+/, "string"]
|
||||||
|
],
|
||||||
|
/* */
|
||||||
|
comment: [
|
||||||
|
[/[^\(\*]+/, "comment"],
|
||||||
|
//[/\(\*/, 'comment', '@push' ], // nested comment not allowed :-(
|
||||||
|
[/\*\)/, "comment", "@pop"],
|
||||||
|
[/\(\*/, "comment"]
|
||||||
|
],
|
||||||
|
string: [
|
||||||
|
[/[^\\']+/, "string"],
|
||||||
|
[/\\./, "string.escape.invalid"],
|
||||||
|
[/'/, { token: "string.quote", bracket: "@close", next: "@pop" }]
|
||||||
|
],
|
||||||
|
whitespace: [
|
||||||
|
[/[ \t\r\n]+/, "white"],
|
||||||
|
[/\(\*/, "comment", "@comment"],
|
||||||
|
[/\/\/.*$/, "comment"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
764
_internal/editor/dev/vs/clojure-DyYtgmYv.js
Normal file
764
_internal/editor/dev/vs/clojure-DyYtgmYv.js
Normal file
@@ -0,0 +1,764 @@
|
|||||||
|
define("vs/clojure-DyYtgmYv", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: ";;"
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"],
|
||||||
|
["{", "}"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: "{", close: "}" }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: "{", close: "}" }
|
||||||
|
]
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
ignoreCase: true,
|
||||||
|
tokenPostfix: ".clj",
|
||||||
|
brackets: [
|
||||||
|
{ open: "[", close: "]", token: "delimiter.square" },
|
||||||
|
{ open: "(", close: ")", token: "delimiter.parenthesis" },
|
||||||
|
{ open: "{", close: "}", token: "delimiter.curly" }
|
||||||
|
],
|
||||||
|
constants: ["true", "false", "nil"],
|
||||||
|
// delimiters: /[\\\[\]\s"#'(),;@^`{}~]|$/,
|
||||||
|
numbers: /^(?:[+\-]?\d+(?:(?:N|(?:[eE][+\-]?\d+))|(?:\.?\d*(?:M|(?:[eE][+\-]?\d+))?)|\/\d+|[xX][0-9a-fA-F]+|r[0-9a-zA-Z]+)?(?=[\\\[\]\s"#'(),;@^`{}~]|$))/,
|
||||||
|
characters: /^(?:\\(?:backspace|formfeed|newline|return|space|tab|o[0-7]{3}|u[0-9A-Fa-f]{4}|x[0-9A-Fa-f]{4}|.)?(?=[\\\[\]\s"(),;@^`{}~]|$))/,
|
||||||
|
escapes: /^\\(?:["'\\bfnrt]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
|
||||||
|
// simple-namespace := /^[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*/
|
||||||
|
// simple-symbol := /^(?:\/|[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)/
|
||||||
|
// qualified-symbol := (<simple-namespace>(<.><simple-namespace>)*</>)?<simple-symbol>
|
||||||
|
qualifiedSymbols: /^(?:(?:[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*(?:\.[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*\/)?(?:\/|[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*(?=[\\\[\]\s"(),;@^`{}~]|$))/,
|
||||||
|
specialForms: [
|
||||||
|
".",
|
||||||
|
"catch",
|
||||||
|
"def",
|
||||||
|
"do",
|
||||||
|
"if",
|
||||||
|
"monitor-enter",
|
||||||
|
"monitor-exit",
|
||||||
|
"new",
|
||||||
|
"quote",
|
||||||
|
"recur",
|
||||||
|
"set!",
|
||||||
|
"throw",
|
||||||
|
"try",
|
||||||
|
"var"
|
||||||
|
],
|
||||||
|
coreSymbols: [
|
||||||
|
"*",
|
||||||
|
"*'",
|
||||||
|
"*1",
|
||||||
|
"*2",
|
||||||
|
"*3",
|
||||||
|
"*agent*",
|
||||||
|
"*allow-unresolved-vars*",
|
||||||
|
"*assert*",
|
||||||
|
"*clojure-version*",
|
||||||
|
"*command-line-args*",
|
||||||
|
"*compile-files*",
|
||||||
|
"*compile-path*",
|
||||||
|
"*compiler-options*",
|
||||||
|
"*data-readers*",
|
||||||
|
"*default-data-reader-fn*",
|
||||||
|
"*e",
|
||||||
|
"*err*",
|
||||||
|
"*file*",
|
||||||
|
"*flush-on-newline*",
|
||||||
|
"*fn-loader*",
|
||||||
|
"*in*",
|
||||||
|
"*math-context*",
|
||||||
|
"*ns*",
|
||||||
|
"*out*",
|
||||||
|
"*print-dup*",
|
||||||
|
"*print-length*",
|
||||||
|
"*print-level*",
|
||||||
|
"*print-meta*",
|
||||||
|
"*print-namespace-maps*",
|
||||||
|
"*print-readably*",
|
||||||
|
"*read-eval*",
|
||||||
|
"*reader-resolver*",
|
||||||
|
"*source-path*",
|
||||||
|
"*suppress-read*",
|
||||||
|
"*unchecked-math*",
|
||||||
|
"*use-context-classloader*",
|
||||||
|
"*verbose-defrecords*",
|
||||||
|
"*warn-on-reflection*",
|
||||||
|
"+",
|
||||||
|
"+'",
|
||||||
|
"-",
|
||||||
|
"-'",
|
||||||
|
"->",
|
||||||
|
"->>",
|
||||||
|
"->ArrayChunk",
|
||||||
|
"->Eduction",
|
||||||
|
"->Vec",
|
||||||
|
"->VecNode",
|
||||||
|
"->VecSeq",
|
||||||
|
"-cache-protocol-fn",
|
||||||
|
"-reset-methods",
|
||||||
|
"..",
|
||||||
|
"/",
|
||||||
|
"<",
|
||||||
|
"<=",
|
||||||
|
"=",
|
||||||
|
"==",
|
||||||
|
">",
|
||||||
|
">=",
|
||||||
|
"EMPTY-NODE",
|
||||||
|
"Inst",
|
||||||
|
"StackTraceElement->vec",
|
||||||
|
"Throwable->map",
|
||||||
|
"accessor",
|
||||||
|
"aclone",
|
||||||
|
"add-classpath",
|
||||||
|
"add-watch",
|
||||||
|
"agent",
|
||||||
|
"agent-error",
|
||||||
|
"agent-errors",
|
||||||
|
"aget",
|
||||||
|
"alength",
|
||||||
|
"alias",
|
||||||
|
"all-ns",
|
||||||
|
"alter",
|
||||||
|
"alter-meta!",
|
||||||
|
"alter-var-root",
|
||||||
|
"amap",
|
||||||
|
"ancestors",
|
||||||
|
"and",
|
||||||
|
"any?",
|
||||||
|
"apply",
|
||||||
|
"areduce",
|
||||||
|
"array-map",
|
||||||
|
"as->",
|
||||||
|
"aset",
|
||||||
|
"aset-boolean",
|
||||||
|
"aset-byte",
|
||||||
|
"aset-char",
|
||||||
|
"aset-double",
|
||||||
|
"aset-float",
|
||||||
|
"aset-int",
|
||||||
|
"aset-long",
|
||||||
|
"aset-short",
|
||||||
|
"assert",
|
||||||
|
"assoc",
|
||||||
|
"assoc!",
|
||||||
|
"assoc-in",
|
||||||
|
"associative?",
|
||||||
|
"atom",
|
||||||
|
"await",
|
||||||
|
"await-for",
|
||||||
|
"await1",
|
||||||
|
"bases",
|
||||||
|
"bean",
|
||||||
|
"bigdec",
|
||||||
|
"bigint",
|
||||||
|
"biginteger",
|
||||||
|
"binding",
|
||||||
|
"bit-and",
|
||||||
|
"bit-and-not",
|
||||||
|
"bit-clear",
|
||||||
|
"bit-flip",
|
||||||
|
"bit-not",
|
||||||
|
"bit-or",
|
||||||
|
"bit-set",
|
||||||
|
"bit-shift-left",
|
||||||
|
"bit-shift-right",
|
||||||
|
"bit-test",
|
||||||
|
"bit-xor",
|
||||||
|
"boolean",
|
||||||
|
"boolean-array",
|
||||||
|
"boolean?",
|
||||||
|
"booleans",
|
||||||
|
"bound-fn",
|
||||||
|
"bound-fn*",
|
||||||
|
"bound?",
|
||||||
|
"bounded-count",
|
||||||
|
"butlast",
|
||||||
|
"byte",
|
||||||
|
"byte-array",
|
||||||
|
"bytes",
|
||||||
|
"bytes?",
|
||||||
|
"case",
|
||||||
|
"cast",
|
||||||
|
"cat",
|
||||||
|
"char",
|
||||||
|
"char-array",
|
||||||
|
"char-escape-string",
|
||||||
|
"char-name-string",
|
||||||
|
"char?",
|
||||||
|
"chars",
|
||||||
|
"chunk",
|
||||||
|
"chunk-append",
|
||||||
|
"chunk-buffer",
|
||||||
|
"chunk-cons",
|
||||||
|
"chunk-first",
|
||||||
|
"chunk-next",
|
||||||
|
"chunk-rest",
|
||||||
|
"chunked-seq?",
|
||||||
|
"class",
|
||||||
|
"class?",
|
||||||
|
"clear-agent-errors",
|
||||||
|
"clojure-version",
|
||||||
|
"coll?",
|
||||||
|
"comment",
|
||||||
|
"commute",
|
||||||
|
"comp",
|
||||||
|
"comparator",
|
||||||
|
"compare",
|
||||||
|
"compare-and-set!",
|
||||||
|
"compile",
|
||||||
|
"complement",
|
||||||
|
"completing",
|
||||||
|
"concat",
|
||||||
|
"cond",
|
||||||
|
"cond->",
|
||||||
|
"cond->>",
|
||||||
|
"condp",
|
||||||
|
"conj",
|
||||||
|
"conj!",
|
||||||
|
"cons",
|
||||||
|
"constantly",
|
||||||
|
"construct-proxy",
|
||||||
|
"contains?",
|
||||||
|
"count",
|
||||||
|
"counted?",
|
||||||
|
"create-ns",
|
||||||
|
"create-struct",
|
||||||
|
"cycle",
|
||||||
|
"dec",
|
||||||
|
"dec'",
|
||||||
|
"decimal?",
|
||||||
|
"declare",
|
||||||
|
"dedupe",
|
||||||
|
"default-data-readers",
|
||||||
|
"definline",
|
||||||
|
"definterface",
|
||||||
|
"defmacro",
|
||||||
|
"defmethod",
|
||||||
|
"defmulti",
|
||||||
|
"defn",
|
||||||
|
"defn-",
|
||||||
|
"defonce",
|
||||||
|
"defprotocol",
|
||||||
|
"defrecord",
|
||||||
|
"defstruct",
|
||||||
|
"deftype",
|
||||||
|
"delay",
|
||||||
|
"delay?",
|
||||||
|
"deliver",
|
||||||
|
"denominator",
|
||||||
|
"deref",
|
||||||
|
"derive",
|
||||||
|
"descendants",
|
||||||
|
"destructure",
|
||||||
|
"disj",
|
||||||
|
"disj!",
|
||||||
|
"dissoc",
|
||||||
|
"dissoc!",
|
||||||
|
"distinct",
|
||||||
|
"distinct?",
|
||||||
|
"doall",
|
||||||
|
"dorun",
|
||||||
|
"doseq",
|
||||||
|
"dosync",
|
||||||
|
"dotimes",
|
||||||
|
"doto",
|
||||||
|
"double",
|
||||||
|
"double-array",
|
||||||
|
"double?",
|
||||||
|
"doubles",
|
||||||
|
"drop",
|
||||||
|
"drop-last",
|
||||||
|
"drop-while",
|
||||||
|
"eduction",
|
||||||
|
"empty",
|
||||||
|
"empty?",
|
||||||
|
"ensure",
|
||||||
|
"ensure-reduced",
|
||||||
|
"enumeration-seq",
|
||||||
|
"error-handler",
|
||||||
|
"error-mode",
|
||||||
|
"eval",
|
||||||
|
"even?",
|
||||||
|
"every-pred",
|
||||||
|
"every?",
|
||||||
|
"ex-data",
|
||||||
|
"ex-info",
|
||||||
|
"extend",
|
||||||
|
"extend-protocol",
|
||||||
|
"extend-type",
|
||||||
|
"extenders",
|
||||||
|
"extends?",
|
||||||
|
"false?",
|
||||||
|
"ffirst",
|
||||||
|
"file-seq",
|
||||||
|
"filter",
|
||||||
|
"filterv",
|
||||||
|
"find",
|
||||||
|
"find-keyword",
|
||||||
|
"find-ns",
|
||||||
|
"find-protocol-impl",
|
||||||
|
"find-protocol-method",
|
||||||
|
"find-var",
|
||||||
|
"first",
|
||||||
|
"flatten",
|
||||||
|
"float",
|
||||||
|
"float-array",
|
||||||
|
"float?",
|
||||||
|
"floats",
|
||||||
|
"flush",
|
||||||
|
"fn",
|
||||||
|
"fn?",
|
||||||
|
"fnext",
|
||||||
|
"fnil",
|
||||||
|
"for",
|
||||||
|
"force",
|
||||||
|
"format",
|
||||||
|
"frequencies",
|
||||||
|
"future",
|
||||||
|
"future-call",
|
||||||
|
"future-cancel",
|
||||||
|
"future-cancelled?",
|
||||||
|
"future-done?",
|
||||||
|
"future?",
|
||||||
|
"gen-class",
|
||||||
|
"gen-interface",
|
||||||
|
"gensym",
|
||||||
|
"get",
|
||||||
|
"get-in",
|
||||||
|
"get-method",
|
||||||
|
"get-proxy-class",
|
||||||
|
"get-thread-bindings",
|
||||||
|
"get-validator",
|
||||||
|
"group-by",
|
||||||
|
"halt-when",
|
||||||
|
"hash",
|
||||||
|
"hash-combine",
|
||||||
|
"hash-map",
|
||||||
|
"hash-ordered-coll",
|
||||||
|
"hash-set",
|
||||||
|
"hash-unordered-coll",
|
||||||
|
"ident?",
|
||||||
|
"identical?",
|
||||||
|
"identity",
|
||||||
|
"if-let",
|
||||||
|
"if-not",
|
||||||
|
"if-some",
|
||||||
|
"ifn?",
|
||||||
|
"import",
|
||||||
|
"in-ns",
|
||||||
|
"inc",
|
||||||
|
"inc'",
|
||||||
|
"indexed?",
|
||||||
|
"init-proxy",
|
||||||
|
"inst-ms",
|
||||||
|
"inst-ms*",
|
||||||
|
"inst?",
|
||||||
|
"instance?",
|
||||||
|
"int",
|
||||||
|
"int-array",
|
||||||
|
"int?",
|
||||||
|
"integer?",
|
||||||
|
"interleave",
|
||||||
|
"intern",
|
||||||
|
"interpose",
|
||||||
|
"into",
|
||||||
|
"into-array",
|
||||||
|
"ints",
|
||||||
|
"io!",
|
||||||
|
"isa?",
|
||||||
|
"iterate",
|
||||||
|
"iterator-seq",
|
||||||
|
"juxt",
|
||||||
|
"keep",
|
||||||
|
"keep-indexed",
|
||||||
|
"key",
|
||||||
|
"keys",
|
||||||
|
"keyword",
|
||||||
|
"keyword?",
|
||||||
|
"last",
|
||||||
|
"lazy-cat",
|
||||||
|
"lazy-seq",
|
||||||
|
"let",
|
||||||
|
"letfn",
|
||||||
|
"line-seq",
|
||||||
|
"list",
|
||||||
|
"list*",
|
||||||
|
"list?",
|
||||||
|
"load",
|
||||||
|
"load-file",
|
||||||
|
"load-reader",
|
||||||
|
"load-string",
|
||||||
|
"loaded-libs",
|
||||||
|
"locking",
|
||||||
|
"long",
|
||||||
|
"long-array",
|
||||||
|
"longs",
|
||||||
|
"loop",
|
||||||
|
"macroexpand",
|
||||||
|
"macroexpand-1",
|
||||||
|
"make-array",
|
||||||
|
"make-hierarchy",
|
||||||
|
"map",
|
||||||
|
"map-entry?",
|
||||||
|
"map-indexed",
|
||||||
|
"map?",
|
||||||
|
"mapcat",
|
||||||
|
"mapv",
|
||||||
|
"max",
|
||||||
|
"max-key",
|
||||||
|
"memfn",
|
||||||
|
"memoize",
|
||||||
|
"merge",
|
||||||
|
"merge-with",
|
||||||
|
"meta",
|
||||||
|
"method-sig",
|
||||||
|
"methods",
|
||||||
|
"min",
|
||||||
|
"min-key",
|
||||||
|
"mix-collection-hash",
|
||||||
|
"mod",
|
||||||
|
"munge",
|
||||||
|
"name",
|
||||||
|
"namespace",
|
||||||
|
"namespace-munge",
|
||||||
|
"nat-int?",
|
||||||
|
"neg-int?",
|
||||||
|
"neg?",
|
||||||
|
"newline",
|
||||||
|
"next",
|
||||||
|
"nfirst",
|
||||||
|
"nil?",
|
||||||
|
"nnext",
|
||||||
|
"not",
|
||||||
|
"not-any?",
|
||||||
|
"not-empty",
|
||||||
|
"not-every?",
|
||||||
|
"not=",
|
||||||
|
"ns",
|
||||||
|
"ns-aliases",
|
||||||
|
"ns-imports",
|
||||||
|
"ns-interns",
|
||||||
|
"ns-map",
|
||||||
|
"ns-name",
|
||||||
|
"ns-publics",
|
||||||
|
"ns-refers",
|
||||||
|
"ns-resolve",
|
||||||
|
"ns-unalias",
|
||||||
|
"ns-unmap",
|
||||||
|
"nth",
|
||||||
|
"nthnext",
|
||||||
|
"nthrest",
|
||||||
|
"num",
|
||||||
|
"number?",
|
||||||
|
"numerator",
|
||||||
|
"object-array",
|
||||||
|
"odd?",
|
||||||
|
"or",
|
||||||
|
"parents",
|
||||||
|
"partial",
|
||||||
|
"partition",
|
||||||
|
"partition-all",
|
||||||
|
"partition-by",
|
||||||
|
"pcalls",
|
||||||
|
"peek",
|
||||||
|
"persistent!",
|
||||||
|
"pmap",
|
||||||
|
"pop",
|
||||||
|
"pop!",
|
||||||
|
"pop-thread-bindings",
|
||||||
|
"pos-int?",
|
||||||
|
"pos?",
|
||||||
|
"pr",
|
||||||
|
"pr-str",
|
||||||
|
"prefer-method",
|
||||||
|
"prefers",
|
||||||
|
"primitives-classnames",
|
||||||
|
"print",
|
||||||
|
"print-ctor",
|
||||||
|
"print-dup",
|
||||||
|
"print-method",
|
||||||
|
"print-simple",
|
||||||
|
"print-str",
|
||||||
|
"printf",
|
||||||
|
"println",
|
||||||
|
"println-str",
|
||||||
|
"prn",
|
||||||
|
"prn-str",
|
||||||
|
"promise",
|
||||||
|
"proxy",
|
||||||
|
"proxy-call-with-super",
|
||||||
|
"proxy-mappings",
|
||||||
|
"proxy-name",
|
||||||
|
"proxy-super",
|
||||||
|
"push-thread-bindings",
|
||||||
|
"pvalues",
|
||||||
|
"qualified-ident?",
|
||||||
|
"qualified-keyword?",
|
||||||
|
"qualified-symbol?",
|
||||||
|
"quot",
|
||||||
|
"rand",
|
||||||
|
"rand-int",
|
||||||
|
"rand-nth",
|
||||||
|
"random-sample",
|
||||||
|
"range",
|
||||||
|
"ratio?",
|
||||||
|
"rational?",
|
||||||
|
"rationalize",
|
||||||
|
"re-find",
|
||||||
|
"re-groups",
|
||||||
|
"re-matcher",
|
||||||
|
"re-matches",
|
||||||
|
"re-pattern",
|
||||||
|
"re-seq",
|
||||||
|
"read",
|
||||||
|
"read-line",
|
||||||
|
"read-string",
|
||||||
|
"reader-conditional",
|
||||||
|
"reader-conditional?",
|
||||||
|
"realized?",
|
||||||
|
"record?",
|
||||||
|
"reduce",
|
||||||
|
"reduce-kv",
|
||||||
|
"reduced",
|
||||||
|
"reduced?",
|
||||||
|
"reductions",
|
||||||
|
"ref",
|
||||||
|
"ref-history-count",
|
||||||
|
"ref-max-history",
|
||||||
|
"ref-min-history",
|
||||||
|
"ref-set",
|
||||||
|
"refer",
|
||||||
|
"refer-clojure",
|
||||||
|
"reify",
|
||||||
|
"release-pending-sends",
|
||||||
|
"rem",
|
||||||
|
"remove",
|
||||||
|
"remove-all-methods",
|
||||||
|
"remove-method",
|
||||||
|
"remove-ns",
|
||||||
|
"remove-watch",
|
||||||
|
"repeat",
|
||||||
|
"repeatedly",
|
||||||
|
"replace",
|
||||||
|
"replicate",
|
||||||
|
"require",
|
||||||
|
"reset!",
|
||||||
|
"reset-meta!",
|
||||||
|
"reset-vals!",
|
||||||
|
"resolve",
|
||||||
|
"rest",
|
||||||
|
"restart-agent",
|
||||||
|
"resultset-seq",
|
||||||
|
"reverse",
|
||||||
|
"reversible?",
|
||||||
|
"rseq",
|
||||||
|
"rsubseq",
|
||||||
|
"run!",
|
||||||
|
"satisfies?",
|
||||||
|
"second",
|
||||||
|
"select-keys",
|
||||||
|
"send",
|
||||||
|
"send-off",
|
||||||
|
"send-via",
|
||||||
|
"seq",
|
||||||
|
"seq?",
|
||||||
|
"seqable?",
|
||||||
|
"seque",
|
||||||
|
"sequence",
|
||||||
|
"sequential?",
|
||||||
|
"set",
|
||||||
|
"set-agent-send-executor!",
|
||||||
|
"set-agent-send-off-executor!",
|
||||||
|
"set-error-handler!",
|
||||||
|
"set-error-mode!",
|
||||||
|
"set-validator!",
|
||||||
|
"set?",
|
||||||
|
"short",
|
||||||
|
"short-array",
|
||||||
|
"shorts",
|
||||||
|
"shuffle",
|
||||||
|
"shutdown-agents",
|
||||||
|
"simple-ident?",
|
||||||
|
"simple-keyword?",
|
||||||
|
"simple-symbol?",
|
||||||
|
"slurp",
|
||||||
|
"some",
|
||||||
|
"some->",
|
||||||
|
"some->>",
|
||||||
|
"some-fn",
|
||||||
|
"some?",
|
||||||
|
"sort",
|
||||||
|
"sort-by",
|
||||||
|
"sorted-map",
|
||||||
|
"sorted-map-by",
|
||||||
|
"sorted-set",
|
||||||
|
"sorted-set-by",
|
||||||
|
"sorted?",
|
||||||
|
"special-symbol?",
|
||||||
|
"spit",
|
||||||
|
"split-at",
|
||||||
|
"split-with",
|
||||||
|
"str",
|
||||||
|
"string?",
|
||||||
|
"struct",
|
||||||
|
"struct-map",
|
||||||
|
"subs",
|
||||||
|
"subseq",
|
||||||
|
"subvec",
|
||||||
|
"supers",
|
||||||
|
"swap!",
|
||||||
|
"swap-vals!",
|
||||||
|
"symbol",
|
||||||
|
"symbol?",
|
||||||
|
"sync",
|
||||||
|
"tagged-literal",
|
||||||
|
"tagged-literal?",
|
||||||
|
"take",
|
||||||
|
"take-last",
|
||||||
|
"take-nth",
|
||||||
|
"take-while",
|
||||||
|
"test",
|
||||||
|
"the-ns",
|
||||||
|
"thread-bound?",
|
||||||
|
"time",
|
||||||
|
"to-array",
|
||||||
|
"to-array-2d",
|
||||||
|
"trampoline",
|
||||||
|
"transduce",
|
||||||
|
"transient",
|
||||||
|
"tree-seq",
|
||||||
|
"true?",
|
||||||
|
"type",
|
||||||
|
"unchecked-add",
|
||||||
|
"unchecked-add-int",
|
||||||
|
"unchecked-byte",
|
||||||
|
"unchecked-char",
|
||||||
|
"unchecked-dec",
|
||||||
|
"unchecked-dec-int",
|
||||||
|
"unchecked-divide-int",
|
||||||
|
"unchecked-double",
|
||||||
|
"unchecked-float",
|
||||||
|
"unchecked-inc",
|
||||||
|
"unchecked-inc-int",
|
||||||
|
"unchecked-int",
|
||||||
|
"unchecked-long",
|
||||||
|
"unchecked-multiply",
|
||||||
|
"unchecked-multiply-int",
|
||||||
|
"unchecked-negate",
|
||||||
|
"unchecked-negate-int",
|
||||||
|
"unchecked-remainder-int",
|
||||||
|
"unchecked-short",
|
||||||
|
"unchecked-subtract",
|
||||||
|
"unchecked-subtract-int",
|
||||||
|
"underive",
|
||||||
|
"unquote",
|
||||||
|
"unquote-splicing",
|
||||||
|
"unreduced",
|
||||||
|
"unsigned-bit-shift-right",
|
||||||
|
"update",
|
||||||
|
"update-in",
|
||||||
|
"update-proxy",
|
||||||
|
"uri?",
|
||||||
|
"use",
|
||||||
|
"uuid?",
|
||||||
|
"val",
|
||||||
|
"vals",
|
||||||
|
"var-get",
|
||||||
|
"var-set",
|
||||||
|
"var?",
|
||||||
|
"vary-meta",
|
||||||
|
"vec",
|
||||||
|
"vector",
|
||||||
|
"vector-of",
|
||||||
|
"vector?",
|
||||||
|
"volatile!",
|
||||||
|
"volatile?",
|
||||||
|
"vreset!",
|
||||||
|
"vswap!",
|
||||||
|
"when",
|
||||||
|
"when-first",
|
||||||
|
"when-let",
|
||||||
|
"when-not",
|
||||||
|
"when-some",
|
||||||
|
"while",
|
||||||
|
"with-bindings",
|
||||||
|
"with-bindings*",
|
||||||
|
"with-in-str",
|
||||||
|
"with-loading-context",
|
||||||
|
"with-local-vars",
|
||||||
|
"with-meta",
|
||||||
|
"with-open",
|
||||||
|
"with-out-str",
|
||||||
|
"with-precision",
|
||||||
|
"with-redefs",
|
||||||
|
"with-redefs-fn",
|
||||||
|
"xml-seq",
|
||||||
|
"zero?",
|
||||||
|
"zipmap"
|
||||||
|
],
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
// whitespaces and comments
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
// numbers
|
||||||
|
[/@numbers/, "number"],
|
||||||
|
// characters
|
||||||
|
[/@characters/, "string"],
|
||||||
|
// strings
|
||||||
|
{ include: "@string" },
|
||||||
|
// brackets
|
||||||
|
[/[()\[\]{}]/, "@brackets"],
|
||||||
|
// regular expressions
|
||||||
|
[/\/#"(?:\.|(?:")|[^"\n])*"\/g/, "regexp"],
|
||||||
|
// reader macro characters
|
||||||
|
[/[#'@^`~]/, "meta"],
|
||||||
|
// symbols
|
||||||
|
[
|
||||||
|
/@qualifiedSymbols/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"^:.+$": "constant",
|
||||||
|
// Clojure keywords (e.g., `:foo/bar`)
|
||||||
|
"@specialForms": "keyword",
|
||||||
|
"@coreSymbols": "keyword",
|
||||||
|
"@constants": "constant",
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
whitespace: [
|
||||||
|
[/[\s,]+/, "white"],
|
||||||
|
[/;.*$/, "comment"],
|
||||||
|
[/\(comment\b/, "comment", "@comment"]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
[/\(/, "comment", "@push"],
|
||||||
|
[/\)/, "comment", "@pop"],
|
||||||
|
[/[^()]/, "comment"]
|
||||||
|
],
|
||||||
|
string: [[/"/, "string", "@multiLineString"]],
|
||||||
|
multiLineString: [
|
||||||
|
[/"/, "string", "@popall"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/./, "string"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
235
_internal/editor/dev/vs/coffee-C8bOs6Uz.js
Normal file
235
_internal/editor/dev/vs/coffee-C8bOs6Uz.js
Normal file
@@ -0,0 +1,235 @@
|
|||||||
|
define("vs/coffee-C8bOs6Uz", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\$\-\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
|
||||||
|
comments: {
|
||||||
|
blockComment: ["###", "###"],
|
||||||
|
lineComment: "#"
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
],
|
||||||
|
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")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
ignoreCase: true,
|
||||||
|
tokenPostfix: ".coffee",
|
||||||
|
brackets: [
|
||||||
|
{ open: "{", close: "}", token: "delimiter.curly" },
|
||||||
|
{ open: "[", close: "]", token: "delimiter.square" },
|
||||||
|
{ open: "(", close: ")", token: "delimiter.parenthesis" }
|
||||||
|
],
|
||||||
|
regEx: /\/(?!\/\/)(?:[^\/\\]|\\.)*\/[igm]*/,
|
||||||
|
keywords: [
|
||||||
|
"and",
|
||||||
|
"or",
|
||||||
|
"is",
|
||||||
|
"isnt",
|
||||||
|
"not",
|
||||||
|
"on",
|
||||||
|
"yes",
|
||||||
|
"@",
|
||||||
|
"no",
|
||||||
|
"off",
|
||||||
|
"true",
|
||||||
|
"false",
|
||||||
|
"null",
|
||||||
|
"this",
|
||||||
|
"new",
|
||||||
|
"delete",
|
||||||
|
"typeof",
|
||||||
|
"in",
|
||||||
|
"instanceof",
|
||||||
|
"return",
|
||||||
|
"throw",
|
||||||
|
"break",
|
||||||
|
"continue",
|
||||||
|
"debugger",
|
||||||
|
"if",
|
||||||
|
"else",
|
||||||
|
"switch",
|
||||||
|
"for",
|
||||||
|
"while",
|
||||||
|
"do",
|
||||||
|
"try",
|
||||||
|
"catch",
|
||||||
|
"finally",
|
||||||
|
"class",
|
||||||
|
"extends",
|
||||||
|
"super",
|
||||||
|
"undefined",
|
||||||
|
"then",
|
||||||
|
"unless",
|
||||||
|
"until",
|
||||||
|
"loop",
|
||||||
|
"of",
|
||||||
|
"by",
|
||||||
|
"when"
|
||||||
|
],
|
||||||
|
// 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: [
|
||||||
|
// identifiers and keywords
|
||||||
|
[/\@[a-zA-Z_]\w*/, "variable.predefined"],
|
||||||
|
[
|
||||||
|
/[a-zA-Z_]\w*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
this: "variable.predefined",
|
||||||
|
"@keywords": { token: "keyword.$0" },
|
||||||
|
"@default": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// whitespace
|
||||||
|
[/[ \t\r\n]+/, ""],
|
||||||
|
// Comments
|
||||||
|
[/###/, "comment", "@comment"],
|
||||||
|
[/#.*$/, "comment"],
|
||||||
|
// regular expressions
|
||||||
|
["///", { token: "regexp", next: "@hereregexp" }],
|
||||||
|
[/^(\s*)(@regEx)/, ["", "regexp"]],
|
||||||
|
[/(\()(\s*)(@regEx)/, ["@brackets", "", "regexp"]],
|
||||||
|
[/(\,)(\s*)(@regEx)/, ["delimiter", "", "regexp"]],
|
||||||
|
[/(\=)(\s*)(@regEx)/, ["delimiter", "", "regexp"]],
|
||||||
|
[/(\:)(\s*)(@regEx)/, ["delimiter", "", "regexp"]],
|
||||||
|
[/(\[)(\s*)(@regEx)/, ["@brackets", "", "regexp"]],
|
||||||
|
[/(\!)(\s*)(@regEx)/, ["delimiter", "", "regexp"]],
|
||||||
|
[/(\&)(\s*)(@regEx)/, ["delimiter", "", "regexp"]],
|
||||||
|
[/(\|)(\s*)(@regEx)/, ["delimiter", "", "regexp"]],
|
||||||
|
[/(\?)(\s*)(@regEx)/, ["delimiter", "", "regexp"]],
|
||||||
|
[/(\{)(\s*)(@regEx)/, ["@brackets", "", "regexp"]],
|
||||||
|
[/(\;)(\s*)(@regEx)/, ["", "", "regexp"]],
|
||||||
|
// delimiters
|
||||||
|
[
|
||||||
|
/}/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$S2==interpolatedstring": {
|
||||||
|
token: "string",
|
||||||
|
next: "@pop"
|
||||||
|
},
|
||||||
|
"@default": "@brackets"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/[{}()\[\]]/, "@brackets"],
|
||||||
|
[/@symbols/, "delimiter"],
|
||||||
|
// numbers
|
||||||
|
[/\d+[eE]([\-+]?\d+)?/, "number.float"],
|
||||||
|
[/\d+\.\d+([eE][\-+]?\d+)?/, "number.float"],
|
||||||
|
[/0[xX][0-9a-fA-F]+/, "number.hex"],
|
||||||
|
[/0[0-7]+(?!\d)/, "number.octal"],
|
||||||
|
[/\d+/, "number"],
|
||||||
|
// delimiter: after number because of .\d floats
|
||||||
|
[/[,.]/, "delimiter"],
|
||||||
|
// strings:
|
||||||
|
[/"""/, "string", '@herestring."""'],
|
||||||
|
[/'''/, "string", "@herestring.'''"],
|
||||||
|
[
|
||||||
|
/"/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@eos": "string",
|
||||||
|
"@default": { token: "string", next: '@string."' }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/'/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@eos": "string",
|
||||||
|
"@default": { token: "string", next: "@string.'" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
string: [
|
||||||
|
[/[^"'\#\\]+/, "string"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/\./, "string.escape.invalid"],
|
||||||
|
[/\./, "string.escape.invalid"],
|
||||||
|
[
|
||||||
|
/#{/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
'$S2=="': {
|
||||||
|
token: "string",
|
||||||
|
next: "root.interpolatedstring"
|
||||||
|
},
|
||||||
|
"@default": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/["']/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$#==$S2": { token: "string", next: "@pop" },
|
||||||
|
"@default": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/#/, "string"]
|
||||||
|
],
|
||||||
|
herestring: [
|
||||||
|
[
|
||||||
|
/("""|''')/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$1==$S2": { token: "string", next: "@pop" },
|
||||||
|
"@default": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/[^#\\'"]+/, "string"],
|
||||||
|
[/['"]+/, "string"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/\./, "string.escape.invalid"],
|
||||||
|
[/#{/, { token: "string.quote", next: "root.interpolatedstring" }],
|
||||||
|
[/#/, "string"]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
[/[^#]+/, "comment"],
|
||||||
|
[/###/, "comment", "@pop"],
|
||||||
|
[/#/, "comment"]
|
||||||
|
],
|
||||||
|
hereregexp: [
|
||||||
|
[/[^\\\/#]+/, "regexp"],
|
||||||
|
[/\\./, "regexp"],
|
||||||
|
[/#.*$/, "comment"],
|
||||||
|
["///[igm]*", { token: "regexp", next: "@pop" }],
|
||||||
|
[/\//, "regexp"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
392
_internal/editor/dev/vs/cpp-9dJI961u.js
Normal file
392
_internal/editor/dev/vs/cpp-9dJI961u.js
Normal file
@@ -0,0 +1,392 @@
|
|||||||
|
define("vs/cpp-9dJI961u", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: "//",
|
||||||
|
blockComment: ["/*", "*/"]
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: "'", close: "'", notIn: ["string", "comment"] },
|
||||||
|
{ open: '"', close: '"', notIn: ["string"] }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
],
|
||||||
|
folding: {
|
||||||
|
markers: {
|
||||||
|
start: new RegExp("^\\s*#pragma\\s+region\\b"),
|
||||||
|
end: new RegExp("^\\s*#pragma\\s+endregion\\b")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".cpp",
|
||||||
|
brackets: [
|
||||||
|
{ token: "delimiter.curly", open: "{", close: "}" },
|
||||||
|
{ token: "delimiter.parenthesis", open: "(", close: ")" },
|
||||||
|
{ token: "delimiter.square", open: "[", close: "]" },
|
||||||
|
{ token: "delimiter.angle", open: "<", close: ">" }
|
||||||
|
],
|
||||||
|
keywords: [
|
||||||
|
"abstract",
|
||||||
|
"amp",
|
||||||
|
"array",
|
||||||
|
"auto",
|
||||||
|
"bool",
|
||||||
|
"break",
|
||||||
|
"case",
|
||||||
|
"catch",
|
||||||
|
"char",
|
||||||
|
"class",
|
||||||
|
"const",
|
||||||
|
"constexpr",
|
||||||
|
"const_cast",
|
||||||
|
"continue",
|
||||||
|
"cpu",
|
||||||
|
"decltype",
|
||||||
|
"default",
|
||||||
|
"delegate",
|
||||||
|
"delete",
|
||||||
|
"do",
|
||||||
|
"double",
|
||||||
|
"dynamic_cast",
|
||||||
|
"each",
|
||||||
|
"else",
|
||||||
|
"enum",
|
||||||
|
"event",
|
||||||
|
"explicit",
|
||||||
|
"export",
|
||||||
|
"extern",
|
||||||
|
"false",
|
||||||
|
"final",
|
||||||
|
"finally",
|
||||||
|
"float",
|
||||||
|
"for",
|
||||||
|
"friend",
|
||||||
|
"gcnew",
|
||||||
|
"generic",
|
||||||
|
"goto",
|
||||||
|
"if",
|
||||||
|
"in",
|
||||||
|
"initonly",
|
||||||
|
"inline",
|
||||||
|
"int",
|
||||||
|
"interface",
|
||||||
|
"interior_ptr",
|
||||||
|
"internal",
|
||||||
|
"literal",
|
||||||
|
"long",
|
||||||
|
"mutable",
|
||||||
|
"namespace",
|
||||||
|
"new",
|
||||||
|
"noexcept",
|
||||||
|
"nullptr",
|
||||||
|
"__nullptr",
|
||||||
|
"operator",
|
||||||
|
"override",
|
||||||
|
"partial",
|
||||||
|
"pascal",
|
||||||
|
"pin_ptr",
|
||||||
|
"private",
|
||||||
|
"property",
|
||||||
|
"protected",
|
||||||
|
"public",
|
||||||
|
"ref",
|
||||||
|
"register",
|
||||||
|
"reinterpret_cast",
|
||||||
|
"restrict",
|
||||||
|
"return",
|
||||||
|
"safe_cast",
|
||||||
|
"sealed",
|
||||||
|
"short",
|
||||||
|
"signed",
|
||||||
|
"sizeof",
|
||||||
|
"static",
|
||||||
|
"static_assert",
|
||||||
|
"static_cast",
|
||||||
|
"struct",
|
||||||
|
"switch",
|
||||||
|
"template",
|
||||||
|
"this",
|
||||||
|
"thread_local",
|
||||||
|
"throw",
|
||||||
|
"tile_static",
|
||||||
|
"true",
|
||||||
|
"try",
|
||||||
|
"typedef",
|
||||||
|
"typeid",
|
||||||
|
"typename",
|
||||||
|
"union",
|
||||||
|
"unsigned",
|
||||||
|
"using",
|
||||||
|
"virtual",
|
||||||
|
"void",
|
||||||
|
"volatile",
|
||||||
|
"wchar_t",
|
||||||
|
"where",
|
||||||
|
"while",
|
||||||
|
"_asm",
|
||||||
|
// reserved word with one underscores
|
||||||
|
"_based",
|
||||||
|
"_cdecl",
|
||||||
|
"_declspec",
|
||||||
|
"_fastcall",
|
||||||
|
"_if_exists",
|
||||||
|
"_if_not_exists",
|
||||||
|
"_inline",
|
||||||
|
"_multiple_inheritance",
|
||||||
|
"_pascal",
|
||||||
|
"_single_inheritance",
|
||||||
|
"_stdcall",
|
||||||
|
"_virtual_inheritance",
|
||||||
|
"_w64",
|
||||||
|
"__abstract",
|
||||||
|
// reserved word with two underscores
|
||||||
|
"__alignof",
|
||||||
|
"__asm",
|
||||||
|
"__assume",
|
||||||
|
"__based",
|
||||||
|
"__box",
|
||||||
|
"__builtin_alignof",
|
||||||
|
"__cdecl",
|
||||||
|
"__clrcall",
|
||||||
|
"__declspec",
|
||||||
|
"__delegate",
|
||||||
|
"__event",
|
||||||
|
"__except",
|
||||||
|
"__fastcall",
|
||||||
|
"__finally",
|
||||||
|
"__forceinline",
|
||||||
|
"__gc",
|
||||||
|
"__hook",
|
||||||
|
"__identifier",
|
||||||
|
"__if_exists",
|
||||||
|
"__if_not_exists",
|
||||||
|
"__inline",
|
||||||
|
"__int128",
|
||||||
|
"__int16",
|
||||||
|
"__int32",
|
||||||
|
"__int64",
|
||||||
|
"__int8",
|
||||||
|
"__interface",
|
||||||
|
"__leave",
|
||||||
|
"__m128",
|
||||||
|
"__m128d",
|
||||||
|
"__m128i",
|
||||||
|
"__m256",
|
||||||
|
"__m256d",
|
||||||
|
"__m256i",
|
||||||
|
"__m512",
|
||||||
|
"__m512d",
|
||||||
|
"__m512i",
|
||||||
|
"__m64",
|
||||||
|
"__multiple_inheritance",
|
||||||
|
"__newslot",
|
||||||
|
"__nogc",
|
||||||
|
"__noop",
|
||||||
|
"__nounwind",
|
||||||
|
"__novtordisp",
|
||||||
|
"__pascal",
|
||||||
|
"__pin",
|
||||||
|
"__pragma",
|
||||||
|
"__property",
|
||||||
|
"__ptr32",
|
||||||
|
"__ptr64",
|
||||||
|
"__raise",
|
||||||
|
"__restrict",
|
||||||
|
"__resume",
|
||||||
|
"__sealed",
|
||||||
|
"__single_inheritance",
|
||||||
|
"__stdcall",
|
||||||
|
"__super",
|
||||||
|
"__thiscall",
|
||||||
|
"__try",
|
||||||
|
"__try_cast",
|
||||||
|
"__typeof",
|
||||||
|
"__unaligned",
|
||||||
|
"__unhook",
|
||||||
|
"__uuidof",
|
||||||
|
"__value",
|
||||||
|
"__virtual_inheritance",
|
||||||
|
"__w64",
|
||||||
|
"__wchar_t"
|
||||||
|
],
|
||||||
|
operators: [
|
||||||
|
"=",
|
||||||
|
">",
|
||||||
|
"<",
|
||||||
|
"!",
|
||||||
|
"~",
|
||||||
|
"?",
|
||||||
|
":",
|
||||||
|
"==",
|
||||||
|
"<=",
|
||||||
|
">=",
|
||||||
|
"!=",
|
||||||
|
"&&",
|
||||||
|
"||",
|
||||||
|
"++",
|
||||||
|
"--",
|
||||||
|
"+",
|
||||||
|
"-",
|
||||||
|
"*",
|
||||||
|
"/",
|
||||||
|
"&",
|
||||||
|
"|",
|
||||||
|
"^",
|
||||||
|
"%",
|
||||||
|
"<<",
|
||||||
|
">>",
|
||||||
|
"+=",
|
||||||
|
"-=",
|
||||||
|
"*=",
|
||||||
|
"/=",
|
||||||
|
"&=",
|
||||||
|
"|=",
|
||||||
|
"^=",
|
||||||
|
"%=",
|
||||||
|
"<<=",
|
||||||
|
">>="
|
||||||
|
],
|
||||||
|
// we include these common regular expressions
|
||||||
|
symbols: /[=><!~?:&|+\-*\/\^%]+/,
|
||||||
|
escapes: /\\(?:[0abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
|
||||||
|
integersuffix: /([uU](ll|LL|l|L)|(ll|LL|l|L)?[uU]?)/,
|
||||||
|
floatsuffix: /[fFlL]?/,
|
||||||
|
encoding: /u|u8|U|L/,
|
||||||
|
// The main tokenizer for our languages
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
// C++ 11 Raw String
|
||||||
|
[/@encoding?R\"(?:([^ ()\\\t]*))\(/, { token: "string.raw.begin", next: "@raw.$1" }],
|
||||||
|
// identifiers and keywords
|
||||||
|
[
|
||||||
|
/[a-zA-Z_]\w*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@keywords": { token: "keyword.$0" },
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// The preprocessor checks must be before whitespace as they check /^\s*#/ which
|
||||||
|
// otherwise fails to match later after other whitespace has been removed.
|
||||||
|
// Inclusion
|
||||||
|
[/^\s*#\s*include/, { token: "keyword.directive.include", next: "@include" }],
|
||||||
|
// Preprocessor directive
|
||||||
|
[/^\s*#\s*\w+/, "keyword.directive"],
|
||||||
|
// whitespace
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
// [[ attributes ]].
|
||||||
|
[/\[\s*\[/, { token: "annotation", next: "@annotation" }],
|
||||||
|
// delimiters and operators
|
||||||
|
[/[{}()<>\[\]]/, "@brackets"],
|
||||||
|
[
|
||||||
|
/@symbols/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@operators": "delimiter",
|
||||||
|
"@default": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// numbers
|
||||||
|
[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/, "number.float"],
|
||||||
|
[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/, "number.float"],
|
||||||
|
[/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/, "number.hex"],
|
||||||
|
[/0[0-7']*[0-7](@integersuffix)/, "number.octal"],
|
||||||
|
[/0[bB][0-1']*[0-1](@integersuffix)/, "number.binary"],
|
||||||
|
[/\d[\d']*\d(@integersuffix)/, "number"],
|
||||||
|
[/\d(@integersuffix)/, "number"],
|
||||||
|
// delimiter: after number because of .\d floats
|
||||||
|
[/[;,.]/, "delimiter"],
|
||||||
|
// strings
|
||||||
|
[/"([^"\\]|\\.)*$/, "string.invalid"],
|
||||||
|
// non-teminated string
|
||||||
|
[/"/, "string", "@string"],
|
||||||
|
// characters
|
||||||
|
[/'[^\\']'/, "string"],
|
||||||
|
[/(')(@escapes)(')/, ["string", "string.escape", "string"]],
|
||||||
|
[/'/, "string.invalid"]
|
||||||
|
],
|
||||||
|
whitespace: [
|
||||||
|
[/[ \t\r\n]+/, ""],
|
||||||
|
[/\/\*\*(?!\/)/, "comment.doc", "@doccomment"],
|
||||||
|
[/\/\*/, "comment", "@comment"],
|
||||||
|
[/\/\/.*\\$/, "comment", "@linecomment"],
|
||||||
|
[/\/\/.*$/, "comment"]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
[/[^\/*]+/, "comment"],
|
||||||
|
[/\*\//, "comment", "@pop"],
|
||||||
|
[/[\/*]/, "comment"]
|
||||||
|
],
|
||||||
|
//For use with continuous line comments
|
||||||
|
linecomment: [
|
||||||
|
[/.*[^\\]$/, "comment", "@pop"],
|
||||||
|
[/[^]+/, "comment"]
|
||||||
|
],
|
||||||
|
//Identical copy of comment above, except for the addition of .doc
|
||||||
|
doccomment: [
|
||||||
|
[/[^\/*]+/, "comment.doc"],
|
||||||
|
[/\*\//, "comment.doc", "@pop"],
|
||||||
|
[/[\/*]/, "comment.doc"]
|
||||||
|
],
|
||||||
|
string: [
|
||||||
|
[/[^\\"]+/, "string"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/\\./, "string.escape.invalid"],
|
||||||
|
[/"/, "string", "@pop"]
|
||||||
|
],
|
||||||
|
raw: [
|
||||||
|
[/[^)]+/, "string.raw"],
|
||||||
|
[/\)$S2\"/, { token: "string.raw.end", next: "@pop" }],
|
||||||
|
[/\)/, "string.raw"]
|
||||||
|
],
|
||||||
|
annotation: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
[/using|alignas/, "keyword"],
|
||||||
|
[/[a-zA-Z0-9_]+/, "annotation"],
|
||||||
|
[/[,:]/, "delimiter"],
|
||||||
|
[/[()]/, "@brackets"],
|
||||||
|
[/\]\s*\]/, { token: "annotation", next: "@pop" }]
|
||||||
|
],
|
||||||
|
include: [
|
||||||
|
[
|
||||||
|
/(\s*)(<)([^<>]*)(>)/,
|
||||||
|
[
|
||||||
|
"",
|
||||||
|
"keyword.directive.include.begin",
|
||||||
|
"string.include.identifier",
|
||||||
|
{ token: "keyword.directive.include.end", next: "@pop" }
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/(\s*)(")([^"]*)(")/,
|
||||||
|
[
|
||||||
|
"",
|
||||||
|
"keyword.directive.include.begin",
|
||||||
|
"string.include.identifier",
|
||||||
|
{ token: "keyword.directive.include.end", next: "@pop" }
|
||||||
|
]
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
329
_internal/editor/dev/vs/csharp-NZNtYXm3.js
Normal file
329
_internal/editor/dev/vs/csharp-NZNtYXm3.js
Normal file
@@ -0,0 +1,329 @@
|
|||||||
|
define("vs/csharp-NZNtYXm3", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\#\$\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
|
||||||
|
comments: {
|
||||||
|
lineComment: "//",
|
||||||
|
blockComment: ["/*", "*/"]
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: "'", close: "'", notIn: ["string", "comment"] },
|
||||||
|
{ open: '"', close: '"', notIn: ["string", "comment"] }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: "<", close: ">" },
|
||||||
|
{ open: "'", close: "'" },
|
||||||
|
{ open: '"', close: '"' }
|
||||||
|
],
|
||||||
|
folding: {
|
||||||
|
markers: {
|
||||||
|
start: new RegExp("^\\s*#region\\b"),
|
||||||
|
end: new RegExp("^\\s*#endregion\\b")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".cs",
|
||||||
|
brackets: [
|
||||||
|
{ open: "{", close: "}", token: "delimiter.curly" },
|
||||||
|
{ open: "[", close: "]", token: "delimiter.square" },
|
||||||
|
{ open: "(", close: ")", token: "delimiter.parenthesis" },
|
||||||
|
{ open: "<", close: ">", token: "delimiter.angle" }
|
||||||
|
],
|
||||||
|
keywords: [
|
||||||
|
"extern",
|
||||||
|
"alias",
|
||||||
|
"using",
|
||||||
|
"bool",
|
||||||
|
"decimal",
|
||||||
|
"sbyte",
|
||||||
|
"byte",
|
||||||
|
"short",
|
||||||
|
"ushort",
|
||||||
|
"int",
|
||||||
|
"uint",
|
||||||
|
"long",
|
||||||
|
"ulong",
|
||||||
|
"char",
|
||||||
|
"float",
|
||||||
|
"double",
|
||||||
|
"object",
|
||||||
|
"dynamic",
|
||||||
|
"string",
|
||||||
|
"assembly",
|
||||||
|
"is",
|
||||||
|
"as",
|
||||||
|
"ref",
|
||||||
|
"out",
|
||||||
|
"this",
|
||||||
|
"base",
|
||||||
|
"new",
|
||||||
|
"typeof",
|
||||||
|
"void",
|
||||||
|
"checked",
|
||||||
|
"unchecked",
|
||||||
|
"default",
|
||||||
|
"delegate",
|
||||||
|
"var",
|
||||||
|
"const",
|
||||||
|
"if",
|
||||||
|
"else",
|
||||||
|
"switch",
|
||||||
|
"case",
|
||||||
|
"while",
|
||||||
|
"do",
|
||||||
|
"for",
|
||||||
|
"foreach",
|
||||||
|
"in",
|
||||||
|
"break",
|
||||||
|
"continue",
|
||||||
|
"goto",
|
||||||
|
"return",
|
||||||
|
"throw",
|
||||||
|
"try",
|
||||||
|
"catch",
|
||||||
|
"finally",
|
||||||
|
"lock",
|
||||||
|
"yield",
|
||||||
|
"from",
|
||||||
|
"let",
|
||||||
|
"where",
|
||||||
|
"join",
|
||||||
|
"on",
|
||||||
|
"equals",
|
||||||
|
"into",
|
||||||
|
"orderby",
|
||||||
|
"ascending",
|
||||||
|
"descending",
|
||||||
|
"select",
|
||||||
|
"group",
|
||||||
|
"by",
|
||||||
|
"namespace",
|
||||||
|
"partial",
|
||||||
|
"class",
|
||||||
|
"field",
|
||||||
|
"event",
|
||||||
|
"method",
|
||||||
|
"param",
|
||||||
|
"public",
|
||||||
|
"protected",
|
||||||
|
"internal",
|
||||||
|
"private",
|
||||||
|
"abstract",
|
||||||
|
"sealed",
|
||||||
|
"static",
|
||||||
|
"struct",
|
||||||
|
"readonly",
|
||||||
|
"volatile",
|
||||||
|
"virtual",
|
||||||
|
"override",
|
||||||
|
"params",
|
||||||
|
"get",
|
||||||
|
"set",
|
||||||
|
"add",
|
||||||
|
"remove",
|
||||||
|
"operator",
|
||||||
|
"true",
|
||||||
|
"false",
|
||||||
|
"implicit",
|
||||||
|
"explicit",
|
||||||
|
"interface",
|
||||||
|
"enum",
|
||||||
|
"null",
|
||||||
|
"async",
|
||||||
|
"await",
|
||||||
|
"fixed",
|
||||||
|
"sizeof",
|
||||||
|
"stackalloc",
|
||||||
|
"unsafe",
|
||||||
|
"nameof",
|
||||||
|
"when"
|
||||||
|
],
|
||||||
|
namespaceFollows: ["namespace", "using"],
|
||||||
|
parenFollows: ["if", "for", "while", "switch", "foreach", "using", "catch", "when"],
|
||||||
|
operators: [
|
||||||
|
"=",
|
||||||
|
"??",
|
||||||
|
"||",
|
||||||
|
"&&",
|
||||||
|
"|",
|
||||||
|
"^",
|
||||||
|
"&",
|
||||||
|
"==",
|
||||||
|
"!=",
|
||||||
|
"<=",
|
||||||
|
">=",
|
||||||
|
"<<",
|
||||||
|
"+",
|
||||||
|
"-",
|
||||||
|
"*",
|
||||||
|
"/",
|
||||||
|
"%",
|
||||||
|
"!",
|
||||||
|
"~",
|
||||||
|
"++",
|
||||||
|
"--",
|
||||||
|
"+=",
|
||||||
|
"-=",
|
||||||
|
"*=",
|
||||||
|
"/=",
|
||||||
|
"%=",
|
||||||
|
"&=",
|
||||||
|
"|=",
|
||||||
|
"^=",
|
||||||
|
"<<=",
|
||||||
|
">>=",
|
||||||
|
">>",
|
||||||
|
"=>"
|
||||||
|
],
|
||||||
|
symbols: /[=><!~?:&|+\-*\/\^%]+/,
|
||||||
|
// escape sequences
|
||||||
|
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: [
|
||||||
|
// identifiers and keywords
|
||||||
|
[
|
||||||
|
/\@?[a-zA-Z_]\w*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@namespaceFollows": {
|
||||||
|
token: "keyword.$0",
|
||||||
|
next: "@namespace"
|
||||||
|
},
|
||||||
|
"@keywords": {
|
||||||
|
token: "keyword.$0",
|
||||||
|
next: "@qualified"
|
||||||
|
},
|
||||||
|
"@default": { token: "identifier", next: "@qualified" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// whitespace
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
// delimiters and operators
|
||||||
|
[
|
||||||
|
/}/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$S2==interpolatedstring": {
|
||||||
|
token: "string.quote",
|
||||||
|
next: "@pop"
|
||||||
|
},
|
||||||
|
"$S2==litinterpstring": {
|
||||||
|
token: "string.quote",
|
||||||
|
next: "@pop"
|
||||||
|
},
|
||||||
|
"@default": "@brackets"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/[{}()\[\]]/, "@brackets"],
|
||||||
|
[/[<>](?!@symbols)/, "@brackets"],
|
||||||
|
[
|
||||||
|
/@symbols/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@operators": "delimiter",
|
||||||
|
"@default": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// numbers
|
||||||
|
[/[0-9_]*\.[0-9_]+([eE][\-+]?\d+)?[fFdD]?/, "number.float"],
|
||||||
|
[/0[xX][0-9a-fA-F_]+/, "number.hex"],
|
||||||
|
[/0[bB][01_]+/, "number.hex"],
|
||||||
|
// binary: use same theme style as hex
|
||||||
|
[/[0-9_]+/, "number"],
|
||||||
|
// delimiter: after number because of .\d floats
|
||||||
|
[/[;,.]/, "delimiter"],
|
||||||
|
// strings
|
||||||
|
[/"([^"\\]|\\.)*$/, "string.invalid"],
|
||||||
|
// non-teminated string
|
||||||
|
[/"/, { token: "string.quote", next: "@string" }],
|
||||||
|
[/\$\@"/, { token: "string.quote", next: "@litinterpstring" }],
|
||||||
|
[/\@"/, { token: "string.quote", next: "@litstring" }],
|
||||||
|
[/\$"/, { token: "string.quote", next: "@interpolatedstring" }],
|
||||||
|
// characters
|
||||||
|
[/'[^\\']'/, "string"],
|
||||||
|
[/(')(@escapes)(')/, ["string", "string.escape", "string"]],
|
||||||
|
[/'/, "string.invalid"]
|
||||||
|
],
|
||||||
|
qualified: [
|
||||||
|
[
|
||||||
|
/[a-zA-Z_][\w]*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@keywords": { token: "keyword.$0" },
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/\./, "delimiter"],
|
||||||
|
["", "", "@pop"]
|
||||||
|
],
|
||||||
|
namespace: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
[/[A-Z]\w*/, "namespace"],
|
||||||
|
[/[\.=]/, "delimiter"],
|
||||||
|
["", "", "@pop"]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
[/[^\/*]+/, "comment"],
|
||||||
|
// [/\/\*/, 'comment', '@push' ], // no nested comments :-(
|
||||||
|
["\\*/", "comment", "@pop"],
|
||||||
|
[/[\/*]/, "comment"]
|
||||||
|
],
|
||||||
|
string: [
|
||||||
|
[/[^\\"]+/, "string"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/\\./, "string.escape.invalid"],
|
||||||
|
[/"/, { token: "string.quote", next: "@pop" }]
|
||||||
|
],
|
||||||
|
litstring: [
|
||||||
|
[/[^"]+/, "string"],
|
||||||
|
[/""/, "string.escape"],
|
||||||
|
[/"/, { token: "string.quote", next: "@pop" }]
|
||||||
|
],
|
||||||
|
litinterpstring: [
|
||||||
|
[/[^"{]+/, "string"],
|
||||||
|
[/""/, "string.escape"],
|
||||||
|
[/{{/, "string.escape"],
|
||||||
|
[/}}/, "string.escape"],
|
||||||
|
[/{/, { token: "string.quote", next: "root.litinterpstring" }],
|
||||||
|
[/"/, { token: "string.quote", next: "@pop" }]
|
||||||
|
],
|
||||||
|
interpolatedstring: [
|
||||||
|
[/[^\\"{]+/, "string"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/\\./, "string.escape.invalid"],
|
||||||
|
[/{{/, "string.escape"],
|
||||||
|
[/}}/, "string.escape"],
|
||||||
|
[/{/, { token: "string.quote", next: "root.interpolatedstring" }],
|
||||||
|
[/"/, { token: "string.quote", next: "@pop" }]
|
||||||
|
],
|
||||||
|
whitespace: [
|
||||||
|
[/^[ \t\v\f]*#((r)|(load))(?=\s)/, "directive.csx"],
|
||||||
|
[/^[ \t\v\f]*#\w.*$/, "namespace.cpp"],
|
||||||
|
[/[ \t\v\f\r\n]+/, ""],
|
||||||
|
[/\/\*/, "comment", "@comment"],
|
||||||
|
[/\/\/.*$/, "comment"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
56
_internal/editor/dev/vs/csp-CtMdzNMY.js
Normal file
56
_internal/editor/dev/vs/csp-CtMdzNMY.js
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
define("vs/csp-CtMdzNMY", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
brackets: [],
|
||||||
|
autoClosingPairs: [],
|
||||||
|
surroundingPairs: []
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
// Set defaultToken to invalid to see what you do not tokenize yet
|
||||||
|
// defaultToken: 'invalid',
|
||||||
|
keywords: [],
|
||||||
|
typeKeywords: [],
|
||||||
|
tokenPostfix: ".csp",
|
||||||
|
operators: [],
|
||||||
|
symbols: /[=><!~?:&|+\-*\/\^%]+/,
|
||||||
|
escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
[/child-src/, "string.quote"],
|
||||||
|
[/connect-src/, "string.quote"],
|
||||||
|
[/default-src/, "string.quote"],
|
||||||
|
[/font-src/, "string.quote"],
|
||||||
|
[/frame-src/, "string.quote"],
|
||||||
|
[/img-src/, "string.quote"],
|
||||||
|
[/manifest-src/, "string.quote"],
|
||||||
|
[/media-src/, "string.quote"],
|
||||||
|
[/object-src/, "string.quote"],
|
||||||
|
[/script-src/, "string.quote"],
|
||||||
|
[/style-src/, "string.quote"],
|
||||||
|
[/worker-src/, "string.quote"],
|
||||||
|
[/base-uri/, "string.quote"],
|
||||||
|
[/plugin-types/, "string.quote"],
|
||||||
|
[/sandbox/, "string.quote"],
|
||||||
|
[/disown-opener/, "string.quote"],
|
||||||
|
[/form-action/, "string.quote"],
|
||||||
|
[/frame-ancestors/, "string.quote"],
|
||||||
|
[/report-uri/, "string.quote"],
|
||||||
|
[/report-to/, "string.quote"],
|
||||||
|
[/upgrade-insecure-requests/, "string.quote"],
|
||||||
|
[/block-all-mixed-content/, "string.quote"],
|
||||||
|
[/require-sri-for/, "string.quote"],
|
||||||
|
[/reflected-xss/, "string.quote"],
|
||||||
|
[/referrer/, "string.quote"],
|
||||||
|
[/policy-uri/, "string.quote"],
|
||||||
|
[/'self'/, "string.quote"],
|
||||||
|
[/'unsafe-inline'/, "string.quote"],
|
||||||
|
[/'unsafe-eval'/, "string.quote"],
|
||||||
|
[/'strict-dynamic'/, "string.quote"],
|
||||||
|
[/'unsafe-hashed-attributes'/, "string.quote"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
188
_internal/editor/dev/vs/css-t68wsr0f.js
Normal file
188
_internal/editor/dev/vs/css-t68wsr0f.js
Normal file
@@ -0,0 +1,188 @@
|
|||||||
|
define("vs/css-t68wsr0f", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
wordPattern: /(#?-?\d*\.\d\w*%?)|((::|[@#.!:])?[\w-?]+%?)|::|[@#.!:]/g,
|
||||||
|
comments: {
|
||||||
|
blockComment: ["/*", "*/"]
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}", notIn: ["string", "comment"] },
|
||||||
|
{ open: "[", close: "]", notIn: ["string", "comment"] },
|
||||||
|
{ open: "(", close: ")", notIn: ["string", "comment"] },
|
||||||
|
{ open: '"', close: '"', notIn: ["string", "comment"] },
|
||||||
|
{ open: "'", close: "'", notIn: ["string", "comment"] }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
],
|
||||||
|
folding: {
|
||||||
|
markers: {
|
||||||
|
start: new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),
|
||||||
|
end: new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".css",
|
||||||
|
ws: "[ \n\r\f]*",
|
||||||
|
// whitespaces (referenced in several rules)
|
||||||
|
identifier: "-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",
|
||||||
|
brackets: [
|
||||||
|
{ open: "{", close: "}", token: "delimiter.bracket" },
|
||||||
|
{ open: "[", close: "]", token: "delimiter.bracket" },
|
||||||
|
{ open: "(", close: ")", token: "delimiter.parenthesis" },
|
||||||
|
{ open: "<", close: ">", token: "delimiter.angle" }
|
||||||
|
],
|
||||||
|
tokenizer: {
|
||||||
|
root: [{ include: "@selector" }],
|
||||||
|
selector: [
|
||||||
|
{ include: "@comments" },
|
||||||
|
{ include: "@import" },
|
||||||
|
{ include: "@strings" },
|
||||||
|
[
|
||||||
|
"[@](keyframes|-webkit-keyframes|-moz-keyframes|-o-keyframes)",
|
||||||
|
{ token: "keyword", next: "@keyframedeclaration" }
|
||||||
|
],
|
||||||
|
["[@](page|content|font-face|-moz-document)", { token: "keyword" }],
|
||||||
|
["[@](charset|namespace)", { token: "keyword", next: "@declarationbody" }],
|
||||||
|
[
|
||||||
|
"(url-prefix)(\\()",
|
||||||
|
["attribute.value", { token: "delimiter.parenthesis", next: "@urldeclaration" }]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"(url)(\\()",
|
||||||
|
["attribute.value", { token: "delimiter.parenthesis", next: "@urldeclaration" }]
|
||||||
|
],
|
||||||
|
{ include: "@selectorname" },
|
||||||
|
["[\\*]", "tag"],
|
||||||
|
// selector symbols
|
||||||
|
["[>\\+,]", "delimiter"],
|
||||||
|
// selector operators
|
||||||
|
["\\[", { token: "delimiter.bracket", next: "@selectorattribute" }],
|
||||||
|
["{", { token: "delimiter.bracket", next: "@selectorbody" }]
|
||||||
|
],
|
||||||
|
selectorbody: [
|
||||||
|
{ include: "@comments" },
|
||||||
|
["[*_]?@identifier@ws:(?=(\\s|\\d|[^{;}]*[;}]))", "attribute.name", "@rulevalue"],
|
||||||
|
// rule definition: to distinguish from a nested selector check for whitespace, number or a semicolon
|
||||||
|
["}", { token: "delimiter.bracket", next: "@pop" }]
|
||||||
|
],
|
||||||
|
selectorname: [
|
||||||
|
["(\\.|#(?=[^{])|%|(@identifier)|:)+", "tag"]
|
||||||
|
// selector (.foo, div, ...)
|
||||||
|
],
|
||||||
|
selectorattribute: [{ include: "@term" }, ["]", { token: "delimiter.bracket", next: "@pop" }]],
|
||||||
|
term: [
|
||||||
|
{ include: "@comments" },
|
||||||
|
[
|
||||||
|
"(url-prefix)(\\()",
|
||||||
|
["attribute.value", { token: "delimiter.parenthesis", next: "@urldeclaration" }]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"(url)(\\()",
|
||||||
|
["attribute.value", { token: "delimiter.parenthesis", next: "@urldeclaration" }]
|
||||||
|
],
|
||||||
|
{ include: "@functioninvocation" },
|
||||||
|
{ include: "@numbers" },
|
||||||
|
{ include: "@name" },
|
||||||
|
{ include: "@strings" },
|
||||||
|
["([<>=\\+\\-\\*\\/\\^\\|\\~,])", "delimiter"],
|
||||||
|
[",", "delimiter"]
|
||||||
|
],
|
||||||
|
rulevalue: [
|
||||||
|
{ include: "@comments" },
|
||||||
|
{ include: "@strings" },
|
||||||
|
{ include: "@term" },
|
||||||
|
["!important", "keyword"],
|
||||||
|
[";", "delimiter", "@pop"],
|
||||||
|
["(?=})", { token: "", next: "@pop" }]
|
||||||
|
// missing semicolon
|
||||||
|
],
|
||||||
|
warndebug: [["[@](warn|debug)", { token: "keyword", next: "@declarationbody" }]],
|
||||||
|
import: [["[@](import)", { token: "keyword", next: "@declarationbody" }]],
|
||||||
|
urldeclaration: [
|
||||||
|
{ include: "@strings" },
|
||||||
|
["[^)\r\n]+", "string"],
|
||||||
|
["\\)", { token: "delimiter.parenthesis", next: "@pop" }]
|
||||||
|
],
|
||||||
|
parenthizedterm: [
|
||||||
|
{ include: "@term" },
|
||||||
|
["\\)", { token: "delimiter.parenthesis", next: "@pop" }]
|
||||||
|
],
|
||||||
|
declarationbody: [
|
||||||
|
{ include: "@term" },
|
||||||
|
[";", "delimiter", "@pop"],
|
||||||
|
["(?=})", { token: "", next: "@pop" }]
|
||||||
|
// missing semicolon
|
||||||
|
],
|
||||||
|
comments: [
|
||||||
|
["\\/\\*", "comment", "@comment"],
|
||||||
|
["\\/\\/+.*", "comment"]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
["\\*\\/", "comment", "@pop"],
|
||||||
|
[/[^*/]+/, "comment"],
|
||||||
|
[/./, "comment"]
|
||||||
|
],
|
||||||
|
name: [["@identifier", "attribute.value"]],
|
||||||
|
numbers: [
|
||||||
|
["-?(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?", { token: "attribute.value.number", next: "@units" }],
|
||||||
|
["#[0-9a-fA-F_]+(?!\\w)", "attribute.value.hex"]
|
||||||
|
],
|
||||||
|
units: [
|
||||||
|
[
|
||||||
|
"(em|ex|ch|rem|fr|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?",
|
||||||
|
"attribute.value.unit",
|
||||||
|
"@pop"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
keyframedeclaration: [
|
||||||
|
["@identifier", "attribute.value"],
|
||||||
|
["{", { token: "delimiter.bracket", switchTo: "@keyframebody" }]
|
||||||
|
],
|
||||||
|
keyframebody: [
|
||||||
|
{ include: "@term" },
|
||||||
|
["{", { token: "delimiter.bracket", next: "@selectorbody" }],
|
||||||
|
["}", { token: "delimiter.bracket", next: "@pop" }]
|
||||||
|
],
|
||||||
|
functioninvocation: [
|
||||||
|
["@identifier\\(", { token: "attribute.value", next: "@functionarguments" }]
|
||||||
|
],
|
||||||
|
functionarguments: [
|
||||||
|
["\\$@identifier@ws:", "attribute.name"],
|
||||||
|
["[,]", "delimiter"],
|
||||||
|
{ include: "@term" },
|
||||||
|
["\\)", { token: "attribute.value", next: "@pop" }]
|
||||||
|
],
|
||||||
|
strings: [
|
||||||
|
['~?"', { token: "string", next: "@stringenddoublequote" }],
|
||||||
|
["~?'", { token: "string", next: "@stringendquote" }]
|
||||||
|
],
|
||||||
|
stringenddoublequote: [
|
||||||
|
["\\\\.", "string"],
|
||||||
|
['"', { token: "string", next: "@pop" }],
|
||||||
|
[/[^\\"]+/, "string"],
|
||||||
|
[".", "string"]
|
||||||
|
],
|
||||||
|
stringendquote: [
|
||||||
|
["\\\\.", "string"],
|
||||||
|
["'", { token: "string", next: "@pop" }],
|
||||||
|
[/[^\\']+/, "string"],
|
||||||
|
[".", "string"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
202
_internal/editor/dev/vs/cssMode-YNsTpAl9.js
Normal file
202
_internal/editor/dev/vs/cssMode-YNsTpAl9.js
Normal file
@@ -0,0 +1,202 @@
|
|||||||
|
define("vs/cssMode-YNsTpAl9", ["exports", "./workers-CJWv4CcA", "./lspLanguageFeatures-C8J-56s2", "./editor.api-BhD7pWdi"], (function(exports, workers, lspLanguageFeatures, editor_api) {
|
||||||
|
"use strict";
|
||||||
|
const STOP_WHEN_IDLE_FOR = 2 * 60 * 1e3;
|
||||||
|
class WorkerManager {
|
||||||
|
constructor(defaults) {
|
||||||
|
this._defaults = defaults;
|
||||||
|
this._worker = null;
|
||||||
|
this._client = null;
|
||||||
|
this._idleCheckInterval = window.setInterval(() => this._checkIfIdle(), 30 * 1e3);
|
||||||
|
this._lastUsedTime = 0;
|
||||||
|
this._configChangeListener = this._defaults.onDidChange(() => this._stopWorker());
|
||||||
|
}
|
||||||
|
_stopWorker() {
|
||||||
|
if (this._worker) {
|
||||||
|
this._worker.dispose();
|
||||||
|
this._worker = null;
|
||||||
|
}
|
||||||
|
this._client = null;
|
||||||
|
}
|
||||||
|
dispose() {
|
||||||
|
clearInterval(this._idleCheckInterval);
|
||||||
|
this._configChangeListener.dispose();
|
||||||
|
this._stopWorker();
|
||||||
|
}
|
||||||
|
_checkIfIdle() {
|
||||||
|
if (!this._worker) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let timePassedSinceLastUsed = Date.now() - this._lastUsedTime;
|
||||||
|
if (timePassedSinceLastUsed > STOP_WHEN_IDLE_FOR) {
|
||||||
|
this._stopWorker();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
_getClient() {
|
||||||
|
this._lastUsedTime = Date.now();
|
||||||
|
if (!this._client) {
|
||||||
|
this._worker = workers.createWebWorker({
|
||||||
|
// module that exports the create() method and returns a `CSSWorker` instance
|
||||||
|
moduleId: "vs/language/css/cssWorker",
|
||||||
|
label: this._defaults.languageId,
|
||||||
|
// passed in to the create() method
|
||||||
|
createData: {
|
||||||
|
options: this._defaults.options,
|
||||||
|
languageId: this._defaults.languageId
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this._client = this._worker.getProxy();
|
||||||
|
}
|
||||||
|
return this._client;
|
||||||
|
}
|
||||||
|
getLanguageServiceWorker(...resources) {
|
||||||
|
let _client;
|
||||||
|
return this._getClient().then((client) => {
|
||||||
|
_client = client;
|
||||||
|
}).then((_) => {
|
||||||
|
if (this._worker) {
|
||||||
|
return this._worker.withSyncedResources(resources);
|
||||||
|
}
|
||||||
|
}).then((_) => _client);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function setupMode(defaults) {
|
||||||
|
const disposables = [];
|
||||||
|
const providers = [];
|
||||||
|
const client = new WorkerManager(defaults);
|
||||||
|
disposables.push(client);
|
||||||
|
const worker = (...uris) => {
|
||||||
|
return client.getLanguageServiceWorker(...uris);
|
||||||
|
};
|
||||||
|
function registerProviders() {
|
||||||
|
const { languageId, modeConfiguration } = defaults;
|
||||||
|
disposeAll(providers);
|
||||||
|
if (modeConfiguration.completionItems) {
|
||||||
|
providers.push(
|
||||||
|
editor_api.languages.registerCompletionItemProvider(
|
||||||
|
languageId,
|
||||||
|
new lspLanguageFeatures.CompletionAdapter(worker, ["/", "-", ":"])
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (modeConfiguration.hovers) {
|
||||||
|
providers.push(
|
||||||
|
editor_api.languages.registerHoverProvider(languageId, new lspLanguageFeatures.HoverAdapter(worker))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (modeConfiguration.documentHighlights) {
|
||||||
|
providers.push(
|
||||||
|
editor_api.languages.registerDocumentHighlightProvider(
|
||||||
|
languageId,
|
||||||
|
new lspLanguageFeatures.DocumentHighlightAdapter(worker)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (modeConfiguration.definitions) {
|
||||||
|
providers.push(
|
||||||
|
editor_api.languages.registerDefinitionProvider(
|
||||||
|
languageId,
|
||||||
|
new lspLanguageFeatures.DefinitionAdapter(worker)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (modeConfiguration.references) {
|
||||||
|
providers.push(
|
||||||
|
editor_api.languages.registerReferenceProvider(
|
||||||
|
languageId,
|
||||||
|
new lspLanguageFeatures.ReferenceAdapter(worker)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (modeConfiguration.documentSymbols) {
|
||||||
|
providers.push(
|
||||||
|
editor_api.languages.registerDocumentSymbolProvider(
|
||||||
|
languageId,
|
||||||
|
new lspLanguageFeatures.DocumentSymbolAdapter(worker)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (modeConfiguration.rename) {
|
||||||
|
providers.push(
|
||||||
|
editor_api.languages.registerRenameProvider(languageId, new lspLanguageFeatures.RenameAdapter(worker))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (modeConfiguration.colors) {
|
||||||
|
providers.push(
|
||||||
|
editor_api.languages.registerColorProvider(
|
||||||
|
languageId,
|
||||||
|
new lspLanguageFeatures.DocumentColorAdapter(worker)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (modeConfiguration.foldingRanges) {
|
||||||
|
providers.push(
|
||||||
|
editor_api.languages.registerFoldingRangeProvider(
|
||||||
|
languageId,
|
||||||
|
new lspLanguageFeatures.FoldingRangeAdapter(worker)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (modeConfiguration.diagnostics) {
|
||||||
|
providers.push(
|
||||||
|
new lspLanguageFeatures.DiagnosticsAdapter(languageId, worker, defaults.onDidChange)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (modeConfiguration.selectionRanges) {
|
||||||
|
providers.push(
|
||||||
|
editor_api.languages.registerSelectionRangeProvider(
|
||||||
|
languageId,
|
||||||
|
new lspLanguageFeatures.SelectionRangeAdapter(worker)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (modeConfiguration.documentFormattingEdits) {
|
||||||
|
providers.push(
|
||||||
|
editor_api.languages.registerDocumentFormattingEditProvider(
|
||||||
|
languageId,
|
||||||
|
new lspLanguageFeatures.DocumentFormattingEditProvider(worker)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (modeConfiguration.documentRangeFormattingEdits) {
|
||||||
|
providers.push(
|
||||||
|
editor_api.languages.registerDocumentRangeFormattingEditProvider(
|
||||||
|
languageId,
|
||||||
|
new lspLanguageFeatures.DocumentRangeFormattingEditProvider(worker)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
registerProviders();
|
||||||
|
disposables.push(asDisposable(providers));
|
||||||
|
return asDisposable(disposables);
|
||||||
|
}
|
||||||
|
function asDisposable(disposables) {
|
||||||
|
return { dispose: () => disposeAll(disposables) };
|
||||||
|
}
|
||||||
|
function disposeAll(disposables) {
|
||||||
|
while (disposables.length) {
|
||||||
|
disposables.pop().dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
exports.CompletionAdapter = lspLanguageFeatures.CompletionAdapter;
|
||||||
|
exports.DefinitionAdapter = lspLanguageFeatures.DefinitionAdapter;
|
||||||
|
exports.DiagnosticsAdapter = lspLanguageFeatures.DiagnosticsAdapter;
|
||||||
|
exports.DocumentColorAdapter = lspLanguageFeatures.DocumentColorAdapter;
|
||||||
|
exports.DocumentFormattingEditProvider = lspLanguageFeatures.DocumentFormattingEditProvider;
|
||||||
|
exports.DocumentHighlightAdapter = lspLanguageFeatures.DocumentHighlightAdapter;
|
||||||
|
exports.DocumentLinkAdapter = lspLanguageFeatures.DocumentLinkAdapter;
|
||||||
|
exports.DocumentRangeFormattingEditProvider = lspLanguageFeatures.DocumentRangeFormattingEditProvider;
|
||||||
|
exports.DocumentSymbolAdapter = lspLanguageFeatures.DocumentSymbolAdapter;
|
||||||
|
exports.FoldingRangeAdapter = lspLanguageFeatures.FoldingRangeAdapter;
|
||||||
|
exports.HoverAdapter = lspLanguageFeatures.HoverAdapter;
|
||||||
|
exports.ReferenceAdapter = lspLanguageFeatures.ReferenceAdapter;
|
||||||
|
exports.RenameAdapter = lspLanguageFeatures.RenameAdapter;
|
||||||
|
exports.SelectionRangeAdapter = lspLanguageFeatures.SelectionRangeAdapter;
|
||||||
|
exports.fromPosition = lspLanguageFeatures.fromPosition;
|
||||||
|
exports.fromRange = lspLanguageFeatures.fromRange;
|
||||||
|
exports.toRange = lspLanguageFeatures.toRange;
|
||||||
|
exports.toTextEdit = lspLanguageFeatures.toTextEdit;
|
||||||
|
exports.WorkerManager = WorkerManager;
|
||||||
|
exports.setupMode = setupMode;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
266
_internal/editor/dev/vs/cypher-DyfRGA23.js
Normal file
266
_internal/editor/dev/vs/cypher-DyfRGA23.js
Normal file
@@ -0,0 +1,266 @@
|
|||||||
|
define("vs/cypher-DyfRGA23", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const 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: "`" }
|
||||||
|
]
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: `.cypher`,
|
||||||
|
ignoreCase: true,
|
||||||
|
brackets: [
|
||||||
|
{ open: "{", close: "}", token: "delimiter.curly" },
|
||||||
|
{ open: "[", close: "]", token: "delimiter.bracket" },
|
||||||
|
{ open: "(", close: ")", token: "delimiter.parenthesis" }
|
||||||
|
],
|
||||||
|
keywords: [
|
||||||
|
"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"
|
||||||
|
],
|
||||||
|
builtinLiterals: ["true", "TRUE", "false", "FALSE", "null", "NULL"],
|
||||||
|
builtinFunctions: [
|
||||||
|
"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"
|
||||||
|
],
|
||||||
|
operators: [
|
||||||
|
// Math operators
|
||||||
|
"+",
|
||||||
|
"-",
|
||||||
|
"*",
|
||||||
|
"/",
|
||||||
|
"%",
|
||||||
|
"^",
|
||||||
|
// Comparison operators
|
||||||
|
"=",
|
||||||
|
"<>",
|
||||||
|
"<",
|
||||||
|
">",
|
||||||
|
"<=",
|
||||||
|
">=",
|
||||||
|
// Pattern 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" },
|
||||||
|
// Cypher labels on nodes/relationships, e.g. (n:NodeLabel)-[e:RelationshipLabel]
|
||||||
|
[/:[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 and operator after number because of `.\d` floats and `:` in labels
|
||||||
|
[/[;,.:|]/, "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"],
|
||||||
|
// non-teminated string
|
||||||
|
[/'([^'\\]|\\.)*$/, "string.invalid"],
|
||||||
|
// non-teminated string
|
||||||
|
[/"/, "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"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
284
_internal/editor/dev/vs/dart-eN3E5CF0.js
Normal file
284
_internal/editor/dev/vs/dart-eN3E5CF0.js
Normal file
@@ -0,0 +1,284 @@
|
|||||||
|
define("vs/dart-eN3E5CF0", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: "//",
|
||||||
|
blockComment: ["/*", "*/"]
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: "'", close: "'", notIn: ["string", "comment"] },
|
||||||
|
{ open: '"', close: '"', notIn: ["string"] },
|
||||||
|
{ open: "`", close: "`", notIn: ["string", "comment"] },
|
||||||
|
{ open: "/**", close: " */", notIn: ["string"] }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: "<", close: ">" },
|
||||||
|
{ open: "'", close: "'" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "`", close: "`" }
|
||||||
|
],
|
||||||
|
folding: {
|
||||||
|
markers: {
|
||||||
|
start: /^\s*\s*#?region\b/,
|
||||||
|
end: /^\s*\s*#?endregion\b/
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "invalid",
|
||||||
|
tokenPostfix: ".dart",
|
||||||
|
keywords: [
|
||||||
|
"abstract",
|
||||||
|
"dynamic",
|
||||||
|
"implements",
|
||||||
|
"show",
|
||||||
|
"as",
|
||||||
|
"else",
|
||||||
|
"import",
|
||||||
|
"static",
|
||||||
|
"assert",
|
||||||
|
"enum",
|
||||||
|
"in",
|
||||||
|
"super",
|
||||||
|
"async",
|
||||||
|
"export",
|
||||||
|
"interface",
|
||||||
|
"switch",
|
||||||
|
"await",
|
||||||
|
"extends",
|
||||||
|
"is",
|
||||||
|
"sync",
|
||||||
|
"break",
|
||||||
|
"external",
|
||||||
|
"library",
|
||||||
|
"this",
|
||||||
|
"case",
|
||||||
|
"factory",
|
||||||
|
"mixin",
|
||||||
|
"throw",
|
||||||
|
"catch",
|
||||||
|
"false",
|
||||||
|
"new",
|
||||||
|
"true",
|
||||||
|
"class",
|
||||||
|
"final",
|
||||||
|
"null",
|
||||||
|
"try",
|
||||||
|
"const",
|
||||||
|
"finally",
|
||||||
|
"on",
|
||||||
|
"typedef",
|
||||||
|
"continue",
|
||||||
|
"for",
|
||||||
|
"operator",
|
||||||
|
"var",
|
||||||
|
"covariant",
|
||||||
|
"Function",
|
||||||
|
"part",
|
||||||
|
"void",
|
||||||
|
"default",
|
||||||
|
"get",
|
||||||
|
"rethrow",
|
||||||
|
"while",
|
||||||
|
"deferred",
|
||||||
|
"hide",
|
||||||
|
"return",
|
||||||
|
"with",
|
||||||
|
"do",
|
||||||
|
"if",
|
||||||
|
"set",
|
||||||
|
"yield"
|
||||||
|
],
|
||||||
|
typeKeywords: ["int", "double", "String", "bool"],
|
||||||
|
operators: [
|
||||||
|
"+",
|
||||||
|
"-",
|
||||||
|
"*",
|
||||||
|
"/",
|
||||||
|
"~/",
|
||||||
|
"%",
|
||||||
|
"++",
|
||||||
|
"--",
|
||||||
|
"==",
|
||||||
|
"!=",
|
||||||
|
">",
|
||||||
|
"<",
|
||||||
|
">=",
|
||||||
|
"<=",
|
||||||
|
"=",
|
||||||
|
"-=",
|
||||||
|
"/=",
|
||||||
|
"%=",
|
||||||
|
">>=",
|
||||||
|
"^=",
|
||||||
|
"+=",
|
||||||
|
"*=",
|
||||||
|
"~/=",
|
||||||
|
"<<=",
|
||||||
|
"&=",
|
||||||
|
"!=",
|
||||||
|
"||",
|
||||||
|
"&&",
|
||||||
|
"&",
|
||||||
|
"|",
|
||||||
|
"^",
|
||||||
|
"~",
|
||||||
|
"<<",
|
||||||
|
">>",
|
||||||
|
"!",
|
||||||
|
">>>",
|
||||||
|
"??",
|
||||||
|
"?",
|
||||||
|
":",
|
||||||
|
"|="
|
||||||
|
],
|
||||||
|
// 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})/,
|
||||||
|
digits: /\d+(_+\d+)*/,
|
||||||
|
octaldigits: /[0-7]+(_+[0-7]+)*/,
|
||||||
|
binarydigits: /[0-1]+(_+[0-1]+)*/,
|
||||||
|
hexdigits: /[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,
|
||||||
|
regexpctl: /[(){}\[\]\$\^|\-*+?\.]/,
|
||||||
|
regexpesc: /\\(?:[bBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/,
|
||||||
|
// The main tokenizer for our languages
|
||||||
|
tokenizer: {
|
||||||
|
root: [[/[{}]/, "delimiter.bracket"], { include: "common" }],
|
||||||
|
common: [
|
||||||
|
// identifiers and keywords
|
||||||
|
[
|
||||||
|
/[a-z_$][\w$]*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@typeKeywords": "type.identifier",
|
||||||
|
"@keywords": "keyword",
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/[A-Z_$][\w\$]*/, "type.identifier"],
|
||||||
|
// show class names
|
||||||
|
// [/[A-Z][\w\$]*/, 'identifier'],
|
||||||
|
// whitespace
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
// regular expression: ensure it is terminated before beginning (otherwise it is an opeator)
|
||||||
|
[
|
||||||
|
/\/(?=([^\\\/]|\\.)+\/([gimsuy]*)(\s*)(\.|;|,|\)|\]|\}|$))/,
|
||||||
|
{ token: "regexp", bracket: "@open", next: "@regexp" }
|
||||||
|
],
|
||||||
|
// @ annotations.
|
||||||
|
[/@[a-zA-Z]+/, "annotation"],
|
||||||
|
// variable
|
||||||
|
// delimiters and operators
|
||||||
|
[/[()\[\]]/, "@brackets"],
|
||||||
|
[/[<>](?!@symbols)/, "@brackets"],
|
||||||
|
[/!(?=([^=]|$))/, "delimiter"],
|
||||||
|
[
|
||||||
|
/@symbols/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@operators": "delimiter",
|
||||||
|
"@default": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// numbers
|
||||||
|
[/(@digits)[eE]([\-+]?(@digits))?/, "number.float"],
|
||||||
|
[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/, "number.float"],
|
||||||
|
[/0[xX](@hexdigits)n?/, "number.hex"],
|
||||||
|
[/0[oO]?(@octaldigits)n?/, "number.octal"],
|
||||||
|
[/0[bB](@binarydigits)n?/, "number.binary"],
|
||||||
|
[/(@digits)n?/, "number"],
|
||||||
|
// delimiter: after number because of .\d floats
|
||||||
|
[/[;,.]/, "delimiter"],
|
||||||
|
// strings
|
||||||
|
[/"([^"\\]|\\.)*$/, "string.invalid"],
|
||||||
|
// non-teminated string
|
||||||
|
[/'([^'\\]|\\.)*$/, "string.invalid"],
|
||||||
|
// non-teminated string
|
||||||
|
[/"/, "string", "@string_double"],
|
||||||
|
[/'/, "string", "@string_single"]
|
||||||
|
// [/[a-zA-Z]+/, "variable"]
|
||||||
|
],
|
||||||
|
whitespace: [
|
||||||
|
[/[ \t\r\n]+/, ""],
|
||||||
|
[/\/\*\*(?!\/)/, "comment.doc", "@jsdoc"],
|
||||||
|
[/\/\*/, "comment", "@comment"],
|
||||||
|
[/\/\/\/.*$/, "comment.doc"],
|
||||||
|
[/\/\/.*$/, "comment"]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
[/[^\/*]+/, "comment"],
|
||||||
|
[/\*\//, "comment", "@pop"],
|
||||||
|
[/[\/*]/, "comment"]
|
||||||
|
],
|
||||||
|
jsdoc: [
|
||||||
|
[/[^\/*]+/, "comment.doc"],
|
||||||
|
[/\*\//, "comment.doc", "@pop"],
|
||||||
|
[/[\/*]/, "comment.doc"]
|
||||||
|
],
|
||||||
|
// We match regular expression quite precisely
|
||||||
|
regexp: [
|
||||||
|
[
|
||||||
|
/(\{)(\d+(?:,\d*)?)(\})/,
|
||||||
|
["regexp.escape.control", "regexp.escape.control", "regexp.escape.control"]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,
|
||||||
|
["regexp.escape.control", { token: "regexp.escape.control", next: "@regexrange" }]
|
||||||
|
],
|
||||||
|
[/(\()(\?:|\?=|\?!)/, ["regexp.escape.control", "regexp.escape.control"]],
|
||||||
|
[/[()]/, "regexp.escape.control"],
|
||||||
|
[/@regexpctl/, "regexp.escape.control"],
|
||||||
|
[/[^\\\/]/, "regexp"],
|
||||||
|
[/@regexpesc/, "regexp.escape"],
|
||||||
|
[/\\\./, "regexp.invalid"],
|
||||||
|
[/(\/)([gimsuy]*)/, [{ token: "regexp", bracket: "@close", next: "@pop" }, "keyword.other"]]
|
||||||
|
],
|
||||||
|
regexrange: [
|
||||||
|
[/-/, "regexp.escape.control"],
|
||||||
|
[/\^/, "regexp.invalid"],
|
||||||
|
[/@regexpesc/, "regexp.escape"],
|
||||||
|
[/[^\]]/, "regexp"],
|
||||||
|
[
|
||||||
|
/\]/,
|
||||||
|
{
|
||||||
|
token: "regexp.escape.control",
|
||||||
|
next: "@pop",
|
||||||
|
bracket: "@close"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
string_double: [
|
||||||
|
[/[^\\"\$]+/, "string"],
|
||||||
|
[/[^\\"]+/, "string"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/\\./, "string.escape.invalid"],
|
||||||
|
[/"/, "string", "@pop"],
|
||||||
|
[/\$\w+/, "identifier"]
|
||||||
|
],
|
||||||
|
string_single: [
|
||||||
|
[/[^\\'\$]+/, "string"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/\\./, "string.escape.invalid"],
|
||||||
|
[/'/, "string", "@pop"],
|
||||||
|
[/\$\w+/, "identifier"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
133
_internal/editor/dev/vs/dockerfile-A7JJbAuF.js
Normal file
133
_internal/editor/dev/vs/dockerfile-A7JJbAuF.js
Normal file
@@ -0,0 +1,133 @@
|
|||||||
|
define("vs/dockerfile-A7JJbAuF", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
]
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".dockerfile",
|
||||||
|
variable: /\${?[\w]+}?/,
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
{ include: "@comment" },
|
||||||
|
[/(ONBUILD)(\s+)/, ["keyword", ""]],
|
||||||
|
[/(ENV)(\s+)([\w]+)/, ["keyword", "", { token: "variable", next: "@arguments" }]],
|
||||||
|
[
|
||||||
|
/(FROM|MAINTAINER|RUN|EXPOSE|ENV|ADD|ARG|VOLUME|LABEL|USER|WORKDIR|COPY|CMD|STOPSIGNAL|SHELL|HEALTHCHECK|ENTRYPOINT)/,
|
||||||
|
{ token: "keyword", next: "@arguments" }
|
||||||
|
]
|
||||||
|
],
|
||||||
|
arguments: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
{ include: "@strings" },
|
||||||
|
[
|
||||||
|
/(@variable)/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@eos": { token: "variable", next: "@popall" },
|
||||||
|
"@default": "variable"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/\\/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@eos": "",
|
||||||
|
"@default": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/./,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@eos": { token: "", next: "@popall" },
|
||||||
|
"@default": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
// Deal with white space, including comments
|
||||||
|
whitespace: [
|
||||||
|
[
|
||||||
|
/\s+/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@eos": { token: "", next: "@popall" },
|
||||||
|
"@default": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
comment: [[/(^#.*$)/, "comment", "@popall"]],
|
||||||
|
// Recognize strings, including those broken across lines with \ (but not without)
|
||||||
|
strings: [
|
||||||
|
[/\\'$/, "", "@popall"],
|
||||||
|
// \' leaves @arguments at eol
|
||||||
|
[/\\'/, ""],
|
||||||
|
// \' is not a string
|
||||||
|
[/'$/, "string", "@popall"],
|
||||||
|
[/'/, "string", "@stringBody"],
|
||||||
|
[/"$/, "string", "@popall"],
|
||||||
|
[/"/, "string", "@dblStringBody"]
|
||||||
|
],
|
||||||
|
stringBody: [
|
||||||
|
[
|
||||||
|
/[^\\\$']/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@eos": { token: "string", next: "@popall" },
|
||||||
|
"@default": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/\\./, "string.escape"],
|
||||||
|
[/'$/, "string", "@popall"],
|
||||||
|
[/'/, "string", "@pop"],
|
||||||
|
[/(@variable)/, "variable"],
|
||||||
|
[/\\$/, "string"],
|
||||||
|
[/$/, "string", "@popall"]
|
||||||
|
],
|
||||||
|
dblStringBody: [
|
||||||
|
[
|
||||||
|
/[^\\\$"]/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@eos": { token: "string", next: "@popall" },
|
||||||
|
"@default": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/\\./, "string.escape"],
|
||||||
|
[/"$/, "string", "@popall"],
|
||||||
|
[/"/, "string", "@pop"],
|
||||||
|
[/(@variable)/, "variable"],
|
||||||
|
[/\\$/, "string"],
|
||||||
|
[/$/, "string", "@popall"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
459
_internal/editor/dev/vs/ecl-BJgqfLSq.js
Normal file
459
_internal/editor/dev/vs/ecl-BJgqfLSq.js
Normal file
@@ -0,0 +1,459 @@
|
|||||||
|
define("vs/ecl-BJgqfLSq", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: "//",
|
||||||
|
blockComment: ["/*", "*/"]
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: "'", close: "'", notIn: ["string", "comment"] },
|
||||||
|
{ open: '"', close: '"', notIn: ["string", "comment"] }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: "<", close: ">" },
|
||||||
|
{ open: "'", close: "'" },
|
||||||
|
{ open: '"', close: '"' }
|
||||||
|
]
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".ecl",
|
||||||
|
ignoreCase: true,
|
||||||
|
brackets: [
|
||||||
|
{ open: "{", close: "}", token: "delimiter.curly" },
|
||||||
|
{ open: "[", close: "]", token: "delimiter.square" },
|
||||||
|
{ open: "(", close: ")", token: "delimiter.parenthesis" },
|
||||||
|
{ open: "<", close: ">", token: "delimiter.angle" }
|
||||||
|
],
|
||||||
|
pounds: [
|
||||||
|
"append",
|
||||||
|
"break",
|
||||||
|
"declare",
|
||||||
|
"demangle",
|
||||||
|
"end",
|
||||||
|
"for",
|
||||||
|
"getdatatype",
|
||||||
|
"if",
|
||||||
|
"inmodule",
|
||||||
|
"loop",
|
||||||
|
"mangle",
|
||||||
|
"onwarning",
|
||||||
|
"option",
|
||||||
|
"set",
|
||||||
|
"stored",
|
||||||
|
"uniquename"
|
||||||
|
].join("|"),
|
||||||
|
keywords: [
|
||||||
|
"__compressed__",
|
||||||
|
"after",
|
||||||
|
"all",
|
||||||
|
"and",
|
||||||
|
"any",
|
||||||
|
"as",
|
||||||
|
"atmost",
|
||||||
|
"before",
|
||||||
|
"beginc",
|
||||||
|
"best",
|
||||||
|
"between",
|
||||||
|
"case",
|
||||||
|
"cluster",
|
||||||
|
"compressed",
|
||||||
|
"compression",
|
||||||
|
"const",
|
||||||
|
"counter",
|
||||||
|
"csv",
|
||||||
|
"default",
|
||||||
|
"descend",
|
||||||
|
"embed",
|
||||||
|
"encoding",
|
||||||
|
"encrypt",
|
||||||
|
"end",
|
||||||
|
"endc",
|
||||||
|
"endembed",
|
||||||
|
"endmacro",
|
||||||
|
"enum",
|
||||||
|
"escape",
|
||||||
|
"except",
|
||||||
|
"exclusive",
|
||||||
|
"expire",
|
||||||
|
"export",
|
||||||
|
"extend",
|
||||||
|
"fail",
|
||||||
|
"few",
|
||||||
|
"fileposition",
|
||||||
|
"first",
|
||||||
|
"flat",
|
||||||
|
"forward",
|
||||||
|
"from",
|
||||||
|
"full",
|
||||||
|
"function",
|
||||||
|
"functionmacro",
|
||||||
|
"group",
|
||||||
|
"grouped",
|
||||||
|
"heading",
|
||||||
|
"hole",
|
||||||
|
"ifblock",
|
||||||
|
"import",
|
||||||
|
"in",
|
||||||
|
"inner",
|
||||||
|
"interface",
|
||||||
|
"internal",
|
||||||
|
"joined",
|
||||||
|
"keep",
|
||||||
|
"keyed",
|
||||||
|
"last",
|
||||||
|
"left",
|
||||||
|
"limit",
|
||||||
|
"linkcounted",
|
||||||
|
"literal",
|
||||||
|
"little_endian",
|
||||||
|
"load",
|
||||||
|
"local",
|
||||||
|
"locale",
|
||||||
|
"lookup",
|
||||||
|
"lzw",
|
||||||
|
"macro",
|
||||||
|
"many",
|
||||||
|
"maxcount",
|
||||||
|
"maxlength",
|
||||||
|
"min skew",
|
||||||
|
"module",
|
||||||
|
"mofn",
|
||||||
|
"multiple",
|
||||||
|
"named",
|
||||||
|
"namespace",
|
||||||
|
"nocase",
|
||||||
|
"noroot",
|
||||||
|
"noscan",
|
||||||
|
"nosort",
|
||||||
|
"not",
|
||||||
|
"noxpath",
|
||||||
|
"of",
|
||||||
|
"onfail",
|
||||||
|
"only",
|
||||||
|
"opt",
|
||||||
|
"or",
|
||||||
|
"outer",
|
||||||
|
"overwrite",
|
||||||
|
"packed",
|
||||||
|
"partition",
|
||||||
|
"penalty",
|
||||||
|
"physicallength",
|
||||||
|
"pipe",
|
||||||
|
"prefetch",
|
||||||
|
"quote",
|
||||||
|
"record",
|
||||||
|
"repeat",
|
||||||
|
"retry",
|
||||||
|
"return",
|
||||||
|
"right",
|
||||||
|
"right1",
|
||||||
|
"right2",
|
||||||
|
"rows",
|
||||||
|
"rowset",
|
||||||
|
"scan",
|
||||||
|
"scope",
|
||||||
|
"self",
|
||||||
|
"separator",
|
||||||
|
"service",
|
||||||
|
"shared",
|
||||||
|
"skew",
|
||||||
|
"skip",
|
||||||
|
"smart",
|
||||||
|
"soapaction",
|
||||||
|
"sql",
|
||||||
|
"stable",
|
||||||
|
"store",
|
||||||
|
"terminator",
|
||||||
|
"thor",
|
||||||
|
"threshold",
|
||||||
|
"timelimit",
|
||||||
|
"timeout",
|
||||||
|
"token",
|
||||||
|
"transform",
|
||||||
|
"trim",
|
||||||
|
"type",
|
||||||
|
"unicodeorder",
|
||||||
|
"unordered",
|
||||||
|
"unsorted",
|
||||||
|
"unstable",
|
||||||
|
"update",
|
||||||
|
"use",
|
||||||
|
"validate",
|
||||||
|
"virtual",
|
||||||
|
"whole",
|
||||||
|
"width",
|
||||||
|
"wild",
|
||||||
|
"within",
|
||||||
|
"wnotrim",
|
||||||
|
"xml",
|
||||||
|
"xpath"
|
||||||
|
],
|
||||||
|
functions: [
|
||||||
|
"abs",
|
||||||
|
"acos",
|
||||||
|
"aggregate",
|
||||||
|
"allnodes",
|
||||||
|
"apply",
|
||||||
|
"ascii",
|
||||||
|
"asin",
|
||||||
|
"assert",
|
||||||
|
"asstring",
|
||||||
|
"atan",
|
||||||
|
"atan2",
|
||||||
|
"ave",
|
||||||
|
"build",
|
||||||
|
"buildindex",
|
||||||
|
"case",
|
||||||
|
"catch",
|
||||||
|
"choose",
|
||||||
|
"choosen",
|
||||||
|
"choosesets",
|
||||||
|
"clustersize",
|
||||||
|
"combine",
|
||||||
|
"correlation",
|
||||||
|
"cos",
|
||||||
|
"cosh",
|
||||||
|
"count",
|
||||||
|
"covariance",
|
||||||
|
"cron",
|
||||||
|
"dataset",
|
||||||
|
"dedup",
|
||||||
|
"define",
|
||||||
|
"denormalize",
|
||||||
|
"dictionary",
|
||||||
|
"distribute",
|
||||||
|
"distributed",
|
||||||
|
"distribution",
|
||||||
|
"ebcdic",
|
||||||
|
"enth",
|
||||||
|
"error",
|
||||||
|
"evaluate",
|
||||||
|
"event",
|
||||||
|
"eventextra",
|
||||||
|
"eventname",
|
||||||
|
"exists",
|
||||||
|
"exp",
|
||||||
|
"fail",
|
||||||
|
"failcode",
|
||||||
|
"failmessage",
|
||||||
|
"fetch",
|
||||||
|
"fromunicode",
|
||||||
|
"fromxml",
|
||||||
|
"getenv",
|
||||||
|
"getisvalid",
|
||||||
|
"global",
|
||||||
|
"graph",
|
||||||
|
"group",
|
||||||
|
"hash",
|
||||||
|
"hash32",
|
||||||
|
"hash64",
|
||||||
|
"hashcrc",
|
||||||
|
"hashmd5",
|
||||||
|
"having",
|
||||||
|
"httpcall",
|
||||||
|
"httpheader",
|
||||||
|
"if",
|
||||||
|
"iff",
|
||||||
|
"index",
|
||||||
|
"intformat",
|
||||||
|
"isvalid",
|
||||||
|
"iterate",
|
||||||
|
"join",
|
||||||
|
"keydiff",
|
||||||
|
"keypatch",
|
||||||
|
"keyunicode",
|
||||||
|
"length",
|
||||||
|
"library",
|
||||||
|
"limit",
|
||||||
|
"ln",
|
||||||
|
"loadxml",
|
||||||
|
"local",
|
||||||
|
"log",
|
||||||
|
"loop",
|
||||||
|
"map",
|
||||||
|
"matched",
|
||||||
|
"matchlength",
|
||||||
|
"matchposition",
|
||||||
|
"matchtext",
|
||||||
|
"matchunicode",
|
||||||
|
"max",
|
||||||
|
"merge",
|
||||||
|
"mergejoin",
|
||||||
|
"min",
|
||||||
|
"nofold",
|
||||||
|
"nolocal",
|
||||||
|
"nonempty",
|
||||||
|
"normalize",
|
||||||
|
"nothor",
|
||||||
|
"notify",
|
||||||
|
"output",
|
||||||
|
"parallel",
|
||||||
|
"parse",
|
||||||
|
"pipe",
|
||||||
|
"power",
|
||||||
|
"preload",
|
||||||
|
"process",
|
||||||
|
"project",
|
||||||
|
"pull",
|
||||||
|
"random",
|
||||||
|
"range",
|
||||||
|
"rank",
|
||||||
|
"ranked",
|
||||||
|
"realformat",
|
||||||
|
"recordof",
|
||||||
|
"regexfind",
|
||||||
|
"regexreplace",
|
||||||
|
"regroup",
|
||||||
|
"rejected",
|
||||||
|
"rollup",
|
||||||
|
"round",
|
||||||
|
"roundup",
|
||||||
|
"row",
|
||||||
|
"rowdiff",
|
||||||
|
"sample",
|
||||||
|
"sequential",
|
||||||
|
"set",
|
||||||
|
"sin",
|
||||||
|
"sinh",
|
||||||
|
"sizeof",
|
||||||
|
"soapcall",
|
||||||
|
"sort",
|
||||||
|
"sorted",
|
||||||
|
"sqrt",
|
||||||
|
"stepped",
|
||||||
|
"stored",
|
||||||
|
"sum",
|
||||||
|
"table",
|
||||||
|
"tan",
|
||||||
|
"tanh",
|
||||||
|
"thisnode",
|
||||||
|
"topn",
|
||||||
|
"tounicode",
|
||||||
|
"toxml",
|
||||||
|
"transfer",
|
||||||
|
"transform",
|
||||||
|
"trim",
|
||||||
|
"truncate",
|
||||||
|
"typeof",
|
||||||
|
"ungroup",
|
||||||
|
"unicodeorder",
|
||||||
|
"variance",
|
||||||
|
"wait",
|
||||||
|
"which",
|
||||||
|
"workunit",
|
||||||
|
"xmldecode",
|
||||||
|
"xmlencode",
|
||||||
|
"xmltext",
|
||||||
|
"xmlunicode"
|
||||||
|
],
|
||||||
|
typesint: ["integer", "unsigned"].join("|"),
|
||||||
|
typesnum: ["data", "qstring", "string", "unicode", "utf8", "varstring", "varunicode"],
|
||||||
|
typesone: [
|
||||||
|
"ascii",
|
||||||
|
"big_endian",
|
||||||
|
"boolean",
|
||||||
|
"data",
|
||||||
|
"decimal",
|
||||||
|
"ebcdic",
|
||||||
|
"grouped",
|
||||||
|
"integer",
|
||||||
|
"linkcounted",
|
||||||
|
"pattern",
|
||||||
|
"qstring",
|
||||||
|
"real",
|
||||||
|
"record",
|
||||||
|
"rule",
|
||||||
|
"set of",
|
||||||
|
"streamed",
|
||||||
|
"string",
|
||||||
|
"token",
|
||||||
|
"udecimal",
|
||||||
|
"unicode",
|
||||||
|
"unsigned",
|
||||||
|
"utf8",
|
||||||
|
"varstring",
|
||||||
|
"varunicode"
|
||||||
|
].join("|"),
|
||||||
|
operators: ["+", "-", "/", ":=", "<", "<>", "=", ">", "\\", "and", "in", "not", "or"],
|
||||||
|
symbols: /[=><!~?:&|+\-*\/\^%]+/,
|
||||||
|
// escape sequences
|
||||||
|
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: [
|
||||||
|
[/@typesint[4|8]/, "type"],
|
||||||
|
[/#(@pounds)/, "type"],
|
||||||
|
[/@typesone/, "type"],
|
||||||
|
[
|
||||||
|
/[a-zA-Z_$][\w-$]*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@functions": "keyword.function",
|
||||||
|
"@keywords": "keyword",
|
||||||
|
"@operators": "operator"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// whitespace
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
[/[{}()\[\]]/, "@brackets"],
|
||||||
|
[/[<>](?!@symbols)/, "@brackets"],
|
||||||
|
[
|
||||||
|
/@symbols/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@operators": "delimiter",
|
||||||
|
"@default": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// numbers
|
||||||
|
[/[0-9_]*\.[0-9_]+([eE][\-+]?\d+)?/, "number.float"],
|
||||||
|
[/0[xX][0-9a-fA-F_]+/, "number.hex"],
|
||||||
|
[/0[bB][01]+/, "number.hex"],
|
||||||
|
// binary: use same theme style as hex
|
||||||
|
[/[0-9_]+/, "number"],
|
||||||
|
// delimiter: after number because of .\d floats
|
||||||
|
[/[;,.]/, "delimiter"],
|
||||||
|
// strings
|
||||||
|
[/"([^"\\]|\\.)*$/, "string.invalid"],
|
||||||
|
[/"/, "string", "@string"],
|
||||||
|
// characters
|
||||||
|
[/'[^\\']'/, "string"],
|
||||||
|
[/(')(@escapes)(')/, ["string", "string.escape", "string"]],
|
||||||
|
[/'/, "string.invalid"]
|
||||||
|
],
|
||||||
|
whitespace: [
|
||||||
|
[/[ \t\v\f\r\n]+/, ""],
|
||||||
|
[/\/\*/, "comment", "@comment"],
|
||||||
|
[/\/\/.*$/, "comment"]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
[/[^\/*]+/, "comment"],
|
||||||
|
[/\*\//, "comment", "@pop"],
|
||||||
|
[/[\/*]/, "comment"]
|
||||||
|
],
|
||||||
|
string: [
|
||||||
|
[/[^\\']+/, "string"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/\\./, "string.escape.invalid"],
|
||||||
|
[/'/, "string", "@pop"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
183803
_internal/editor/dev/vs/editor.api-BhD7pWdi.js
Normal file
183803
_internal/editor/dev/vs/editor.api-BhD7pWdi.js
Normal file
File diff suppressed because one or more lines are too long
7100
_internal/editor/dev/vs/editor/editor.main.css
Normal file
7100
_internal/editor/dev/vs/editor/editor.main.css
Normal file
File diff suppressed because one or more lines are too long
100
_internal/editor/dev/vs/editor/editor.main.js
Normal file
100
_internal/editor/dev/vs/editor/editor.main.js
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
define("vs/editor/editor.main", ["exports", "require", "vs/nls.messages-loader!", "../basic-languages/monaco.contribution", "../language/css/monaco.contribution", "../language/html/monaco.contribution", "../language/json/monaco.contribution", "../language/typescript/monaco.contribution", "../editor.api-BhD7pWdi"], (function(exports, require, nls_messagesLoader_, basicLanguages_monaco_contribution, language_css_monaco_contribution, language_html_monaco_contribution, language_json_monaco_contribution, language_typescript_monaco_contribution, editor_api) {
|
||||||
|
"use strict";
|
||||||
|
function _interopNamespaceDefault(e) {
|
||||||
|
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
||||||
|
if (e) {
|
||||||
|
for (const k in e) {
|
||||||
|
if (k !== "default") {
|
||||||
|
const d = Object.getOwnPropertyDescriptor(e, k);
|
||||||
|
Object.defineProperty(n, k, d.get ? d : {
|
||||||
|
enumerable: true,
|
||||||
|
get: () => e[k]
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
n.default = e;
|
||||||
|
return Object.freeze(n);
|
||||||
|
}
|
||||||
|
const require__namespace = /* @__PURE__ */ _interopNamespaceDefault(require);
|
||||||
|
const __worker_url_0__ = "" + new URL(require.toUrl("../assets/json.worker-DL8PoUrj.js"), document.baseURI).href;
|
||||||
|
const __worker_url_1__ = "" + new URL(require.toUrl("../assets/css.worker-UBouhlx6.js"), document.baseURI).href;
|
||||||
|
const __worker_url_2__ = "" + new URL(require.toUrl("../assets/html.worker-z9P_0-Yg.js"), document.baseURI).href;
|
||||||
|
const __worker_url_3__ = "" + new URL(require.toUrl("../assets/ts.worker-CcnreaRY.js"), document.baseURI).href;
|
||||||
|
const __worker_url_4__ = "" + new URL(require.toUrl("../assets/editor.worker-Dt-rrJKL.js"), document.baseURI).href;
|
||||||
|
const editor_main = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
||||||
|
__proto__: null,
|
||||||
|
CancellationTokenSource: editor_api.CancellationTokenSource,
|
||||||
|
Emitter: editor_api.Emitter,
|
||||||
|
KeyCode: editor_api.KeyCode,
|
||||||
|
KeyMod: editor_api.KeyMod,
|
||||||
|
MarkerSeverity: editor_api.MarkerSeverity,
|
||||||
|
MarkerTag: editor_api.MarkerTag,
|
||||||
|
Position: editor_api.Position,
|
||||||
|
Range: editor_api.Range,
|
||||||
|
Selection: editor_api.Selection,
|
||||||
|
SelectionDirection: editor_api.SelectionDirection,
|
||||||
|
Token: editor_api.Token,
|
||||||
|
Uri: editor_api.Uri,
|
||||||
|
editor: editor_api.editor,
|
||||||
|
languages: editor_api.languages
|
||||||
|
}, Symbol.toStringTag, { value: "Module" }));
|
||||||
|
self.MonacoEnvironment = {
|
||||||
|
getWorker: function(_moduleId, label) {
|
||||||
|
if (label === "json") {
|
||||||
|
return new Worker(
|
||||||
|
getWorkerBootstrapUrl(
|
||||||
|
__worker_url_0__
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (label === "css" || label === "scss" || label === "less") {
|
||||||
|
return new Worker(
|
||||||
|
getWorkerBootstrapUrl(
|
||||||
|
__worker_url_1__
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (label === "html" || label === "handlebars" || label === "razor") {
|
||||||
|
return new Worker(
|
||||||
|
getWorkerBootstrapUrl(
|
||||||
|
__worker_url_2__
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (label === "typescript" || label === "javascript") {
|
||||||
|
return new Worker(
|
||||||
|
getWorkerBootstrapUrl(
|
||||||
|
__worker_url_3__
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return new Worker(
|
||||||
|
getWorkerBootstrapUrl(__worker_url_4__)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
function getWorkerBootstrapUrl(workerScriptUrl) {
|
||||||
|
const blob = new Blob(
|
||||||
|
[
|
||||||
|
[
|
||||||
|
`const ttPolicy = globalThis.trustedTypes?.createPolicy('defaultWorkerFactory', { createScriptURL: value => value });`,
|
||||||
|
`globalThis.workerttPolicy = ttPolicy;`,
|
||||||
|
`importScripts(ttPolicy?.createScriptURL(${JSON.stringify(
|
||||||
|
workerScriptUrl
|
||||||
|
)}) ?? ${JSON.stringify(workerScriptUrl)});`,
|
||||||
|
`globalThis.postMessage({ type: 'vscode-worker-ready' });`
|
||||||
|
].join("")
|
||||||
|
],
|
||||||
|
{ type: "application/javascript" }
|
||||||
|
);
|
||||||
|
return URL.createObjectURL(blob);
|
||||||
|
}
|
||||||
|
const styleSheetUrl = require__namespace.toUrl("vs/editor/editor.main.css");
|
||||||
|
const link = document.createElement("link");
|
||||||
|
link.rel = "stylesheet";
|
||||||
|
link.href = styleSheetUrl;
|
||||||
|
document.head.appendChild(link);
|
||||||
|
exports.m = editor_main;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
572
_internal/editor/dev/vs/elixir-BxvNo5o6.js
Normal file
572
_internal/editor/dev/vs/elixir-BxvNo5o6.js
Normal file
@@ -0,0 +1,572 @@
|
|||||||
|
define("vs/elixir-BxvNo5o6", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: "#"
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: "'", close: "'" },
|
||||||
|
{ open: '"', close: '"' }
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "'", close: "'", notIn: ["string", "comment"] },
|
||||||
|
{ open: '"', close: '"', notIn: ["comment"] },
|
||||||
|
{ open: '"""', close: '"""' },
|
||||||
|
{ open: "`", close: "`", notIn: ["string", "comment"] },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "<<", close: ">>" }
|
||||||
|
],
|
||||||
|
indentationRules: {
|
||||||
|
increaseIndentPattern: /^\s*(after|else|catch|rescue|fn|[^#]*(do|<\-|\->|\{|\[|\=))\s*$/,
|
||||||
|
decreaseIndentPattern: /^\s*((\}|\])\s*$|(after|else|catch|rescue|end)\b)/
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "source",
|
||||||
|
tokenPostfix: ".elixir",
|
||||||
|
brackets: [
|
||||||
|
{ open: "[", close: "]", token: "delimiter.square" },
|
||||||
|
{ open: "(", close: ")", token: "delimiter.parenthesis" },
|
||||||
|
{ open: "{", close: "}", token: "delimiter.curly" },
|
||||||
|
{ open: "<<", close: ">>", token: "delimiter.angle.special" }
|
||||||
|
],
|
||||||
|
// Below are lists/regexps to which we reference later.
|
||||||
|
declarationKeywords: [
|
||||||
|
"def",
|
||||||
|
"defp",
|
||||||
|
"defn",
|
||||||
|
"defnp",
|
||||||
|
"defguard",
|
||||||
|
"defguardp",
|
||||||
|
"defmacro",
|
||||||
|
"defmacrop",
|
||||||
|
"defdelegate",
|
||||||
|
"defcallback",
|
||||||
|
"defmacrocallback",
|
||||||
|
"defmodule",
|
||||||
|
"defprotocol",
|
||||||
|
"defexception",
|
||||||
|
"defimpl",
|
||||||
|
"defstruct"
|
||||||
|
],
|
||||||
|
operatorKeywords: ["and", "in", "not", "or", "when"],
|
||||||
|
namespaceKeywords: ["alias", "import", "require", "use"],
|
||||||
|
otherKeywords: [
|
||||||
|
"after",
|
||||||
|
"case",
|
||||||
|
"catch",
|
||||||
|
"cond",
|
||||||
|
"do",
|
||||||
|
"else",
|
||||||
|
"end",
|
||||||
|
"fn",
|
||||||
|
"for",
|
||||||
|
"if",
|
||||||
|
"quote",
|
||||||
|
"raise",
|
||||||
|
"receive",
|
||||||
|
"rescue",
|
||||||
|
"super",
|
||||||
|
"throw",
|
||||||
|
"try",
|
||||||
|
"unless",
|
||||||
|
"unquote_splicing",
|
||||||
|
"unquote",
|
||||||
|
"with"
|
||||||
|
],
|
||||||
|
constants: ["true", "false", "nil"],
|
||||||
|
nameBuiltin: ["__MODULE__", "__DIR__", "__ENV__", "__CALLER__", "__STACKTRACE__"],
|
||||||
|
// Matches any of the operator names:
|
||||||
|
// <<< >>> ||| &&& ^^^ ~~~ === !== ~>> <~> |~> <|> == != <= >= && || \\ <> ++ -- |> =~ -> <- ~> <~ :: .. = < > + - * / | . ^ & !
|
||||||
|
operator: /-[->]?|!={0,2}|\*{1,2}|\/|\\\\|&{1,3}|\.\.?|\^(?:\^\^)?|\+\+?|<(?:-|<<|=|>|\|>|~>?)?|=~|={1,3}|>(?:=|>>)?|\|~>|\|>|\|{1,3}|~>>?|~~~|::/,
|
||||||
|
// See https://hexdocs.pm/elixir/syntax-reference.html#variables
|
||||||
|
variableName: /[a-z_][a-zA-Z0-9_]*[?!]?/,
|
||||||
|
// See https://hexdocs.pm/elixir/syntax-reference.html#atoms
|
||||||
|
atomName: /[a-zA-Z_][a-zA-Z0-9_@]*[?!]?|@specialAtomName|@operator/,
|
||||||
|
specialAtomName: /\.\.\.|<<>>|%\{\}|%|\{\}/,
|
||||||
|
aliasPart: /[A-Z][a-zA-Z0-9_]*/,
|
||||||
|
moduleName: /@aliasPart(?:\.@aliasPart)*/,
|
||||||
|
// Sigil pairs are: """ """, ''' ''', " ", ' ', / /, | |, < >, { }, [ ], ( )
|
||||||
|
sigilSymmetricDelimiter: /"""|'''|"|'|\/|\|/,
|
||||||
|
sigilStartDelimiter: /@sigilSymmetricDelimiter|<|\{|\[|\(/,
|
||||||
|
sigilEndDelimiter: /@sigilSymmetricDelimiter|>|\}|\]|\)/,
|
||||||
|
sigilModifiers: /[a-zA-Z0-9]*/,
|
||||||
|
decimal: /\d(?:_?\d)*/,
|
||||||
|
hex: /[0-9a-fA-F](_?[0-9a-fA-F])*/,
|
||||||
|
octal: /[0-7](_?[0-7])*/,
|
||||||
|
binary: /[01](_?[01])*/,
|
||||||
|
// See https://hexdocs.pm/elixir/master/String.html#module-escape-characters
|
||||||
|
escape: /\\u[0-9a-fA-F]{4}|\\x[0-9a-fA-F]{2}|\\./,
|
||||||
|
// The keys below correspond to tokenizer states.
|
||||||
|
// We start from the root state and match against its rules
|
||||||
|
// until we explicitly transition into another state.
|
||||||
|
// The `include` simply brings in all operations from the given state
|
||||||
|
// and is useful for improving readability.
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
{ include: "@comments" },
|
||||||
|
// Keywords start as either an identifier or a string,
|
||||||
|
// but end with a : so it's important to match this first.
|
||||||
|
{ include: "@keywordsShorthand" },
|
||||||
|
{ include: "@numbers" },
|
||||||
|
{ include: "@identifiers" },
|
||||||
|
{ include: "@strings" },
|
||||||
|
{ include: "@atoms" },
|
||||||
|
{ include: "@sigils" },
|
||||||
|
{ include: "@attributes" },
|
||||||
|
{ include: "@symbols" }
|
||||||
|
],
|
||||||
|
// Whitespace
|
||||||
|
whitespace: [[/\s+/, "white"]],
|
||||||
|
// Comments
|
||||||
|
comments: [[/(#)(.*)/, ["comment.punctuation", "comment"]]],
|
||||||
|
// Keyword list shorthand
|
||||||
|
keywordsShorthand: [
|
||||||
|
[/(@atomName)(:)(\s+)/, ["constant", "constant.punctuation", "white"]],
|
||||||
|
// Use positive look-ahead to ensure the string is followed by :
|
||||||
|
// and should be considered a keyword.
|
||||||
|
[
|
||||||
|
/"(?=([^"]|#\{.*?\}|\\")*":)/,
|
||||||
|
{ token: "constant.delimiter", next: "@doubleQuotedStringKeyword" }
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/'(?=([^']|#\{.*?\}|\\')*':)/,
|
||||||
|
{ token: "constant.delimiter", next: "@singleQuotedStringKeyword" }
|
||||||
|
]
|
||||||
|
],
|
||||||
|
doubleQuotedStringKeyword: [
|
||||||
|
[/":/, { token: "constant.delimiter", next: "@pop" }],
|
||||||
|
{ include: "@stringConstantContentInterpol" }
|
||||||
|
],
|
||||||
|
singleQuotedStringKeyword: [
|
||||||
|
[/':/, { token: "constant.delimiter", next: "@pop" }],
|
||||||
|
{ include: "@stringConstantContentInterpol" }
|
||||||
|
],
|
||||||
|
// Numbers
|
||||||
|
numbers: [
|
||||||
|
[/0b@binary/, "number.binary"],
|
||||||
|
[/0o@octal/, "number.octal"],
|
||||||
|
[/0x@hex/, "number.hex"],
|
||||||
|
[/@decimal\.@decimal([eE]-?@decimal)?/, "number.float"],
|
||||||
|
[/@decimal/, "number"]
|
||||||
|
],
|
||||||
|
// Identifiers
|
||||||
|
identifiers: [
|
||||||
|
// Tokenize identifier name in function-like definitions.
|
||||||
|
// Note: given `def a + b, do: nil`, `a` is not a function name,
|
||||||
|
// so we use negative look-ahead to ensure there's no operator.
|
||||||
|
[
|
||||||
|
/\b(defp?|defnp?|defmacrop?|defguardp?|defdelegate)(\s+)(@variableName)(?!\s+@operator)/,
|
||||||
|
[
|
||||||
|
"keyword.declaration",
|
||||||
|
"white",
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
unquote: "keyword",
|
||||||
|
"@default": "function"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
// Tokenize function calls
|
||||||
|
[
|
||||||
|
// In-scope call - an identifier followed by ( or .(
|
||||||
|
/(@variableName)(?=\s*\.?\s*\()/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
// Tokenize as keyword in cases like `if(..., do: ..., else: ...)`
|
||||||
|
"@declarationKeywords": "keyword.declaration",
|
||||||
|
"@namespaceKeywords": "keyword",
|
||||||
|
"@otherKeywords": "keyword",
|
||||||
|
"@default": "function.call"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
// Referencing function in a module
|
||||||
|
/(@moduleName)(\s*)(\.)(\s*)(@variableName)/,
|
||||||
|
["type.identifier", "white", "operator", "white", "function.call"]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
// Referencing function in an Erlang module
|
||||||
|
/(:)(@atomName)(\s*)(\.)(\s*)(@variableName)/,
|
||||||
|
["constant.punctuation", "constant", "white", "operator", "white", "function.call"]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
// Piping into a function (tokenized separately as it may not have parentheses)
|
||||||
|
/(\|>)(\s*)(@variableName)/,
|
||||||
|
[
|
||||||
|
"operator",
|
||||||
|
"white",
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@otherKeywords": "keyword",
|
||||||
|
"@default": "function.call"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
// Function reference passed to another function
|
||||||
|
/(&)(\s*)(@variableName)/,
|
||||||
|
["operator", "white", "function.call"]
|
||||||
|
],
|
||||||
|
// Language keywords, builtins, constants and variables
|
||||||
|
[
|
||||||
|
/@variableName/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@declarationKeywords": "keyword.declaration",
|
||||||
|
"@operatorKeywords": "keyword.operator",
|
||||||
|
"@namespaceKeywords": "keyword",
|
||||||
|
"@otherKeywords": "keyword",
|
||||||
|
"@constants": "constant.language",
|
||||||
|
"@nameBuiltin": "variable.language",
|
||||||
|
"_.*": "comment.unused",
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// Module names
|
||||||
|
[/@moduleName/, "type.identifier"]
|
||||||
|
],
|
||||||
|
// Strings
|
||||||
|
strings: [
|
||||||
|
[/"""/, { token: "string.delimiter", next: "@doubleQuotedHeredoc" }],
|
||||||
|
[/'''/, { token: "string.delimiter", next: "@singleQuotedHeredoc" }],
|
||||||
|
[/"/, { token: "string.delimiter", next: "@doubleQuotedString" }],
|
||||||
|
[/'/, { token: "string.delimiter", next: "@singleQuotedString" }]
|
||||||
|
],
|
||||||
|
doubleQuotedHeredoc: [
|
||||||
|
[/"""/, { token: "string.delimiter", next: "@pop" }],
|
||||||
|
{ include: "@stringContentInterpol" }
|
||||||
|
],
|
||||||
|
singleQuotedHeredoc: [
|
||||||
|
[/'''/, { token: "string.delimiter", next: "@pop" }],
|
||||||
|
{ include: "@stringContentInterpol" }
|
||||||
|
],
|
||||||
|
doubleQuotedString: [
|
||||||
|
[/"/, { token: "string.delimiter", next: "@pop" }],
|
||||||
|
{ include: "@stringContentInterpol" }
|
||||||
|
],
|
||||||
|
singleQuotedString: [
|
||||||
|
[/'/, { token: "string.delimiter", next: "@pop" }],
|
||||||
|
{ include: "@stringContentInterpol" }
|
||||||
|
],
|
||||||
|
// Atoms
|
||||||
|
atoms: [
|
||||||
|
[/(:)(@atomName)/, ["constant.punctuation", "constant"]],
|
||||||
|
[/:"/, { token: "constant.delimiter", next: "@doubleQuotedStringAtom" }],
|
||||||
|
[/:'/, { token: "constant.delimiter", next: "@singleQuotedStringAtom" }]
|
||||||
|
],
|
||||||
|
doubleQuotedStringAtom: [
|
||||||
|
[/"/, { token: "constant.delimiter", next: "@pop" }],
|
||||||
|
{ include: "@stringConstantContentInterpol" }
|
||||||
|
],
|
||||||
|
singleQuotedStringAtom: [
|
||||||
|
[/'/, { token: "constant.delimiter", next: "@pop" }],
|
||||||
|
{ include: "@stringConstantContentInterpol" }
|
||||||
|
],
|
||||||
|
// Sigils
|
||||||
|
// See https://elixir-lang.org/getting-started/sigils.html
|
||||||
|
// Sigils allow for typing values using their textual representation.
|
||||||
|
// All sigils start with ~ followed by a letter or
|
||||||
|
// multi-letter uppercase starting at Elixir v1.15.0, indicating sigil type
|
||||||
|
// and then a delimiter pair enclosing the textual representation.
|
||||||
|
// Optional modifiers are allowed after the closing delimiter.
|
||||||
|
// For instance a regular expressions can be written as:
|
||||||
|
// ~r/foo|bar/ ~r{foo|bar} ~r/foo|bar/g
|
||||||
|
//
|
||||||
|
// In general lowercase sigils allow for interpolation
|
||||||
|
// and escaped characters, whereas uppercase sigils don't
|
||||||
|
//
|
||||||
|
// During tokenization we want to distinguish some
|
||||||
|
// specific sigil types, namely string and regexp,
|
||||||
|
// so that they cen be themed separately.
|
||||||
|
//
|
||||||
|
// To reasonably handle all those combinations we leverage
|
||||||
|
// dot-separated states, so if we transition to @sigilStart.interpol.s.{.}
|
||||||
|
// then "sigilStart.interpol.s" state will match and also all
|
||||||
|
// the individual dot-separated parameters can be accessed.
|
||||||
|
sigils: [
|
||||||
|
[/~[a-z]@sigilStartDelimiter/, { token: "@rematch", next: "@sigil.interpol" }],
|
||||||
|
[/~([A-Z]+)@sigilStartDelimiter/, { token: "@rematch", next: "@sigil.noInterpol" }]
|
||||||
|
],
|
||||||
|
sigil: [
|
||||||
|
[/~([a-z]|[A-Z]+)\{/, { token: "@rematch", switchTo: "@sigilStart.$S2.$1.{.}" }],
|
||||||
|
[/~([a-z]|[A-Z]+)\[/, { token: "@rematch", switchTo: "@sigilStart.$S2.$1.[.]" }],
|
||||||
|
[/~([a-z]|[A-Z]+)\(/, { token: "@rematch", switchTo: "@sigilStart.$S2.$1.(.)" }],
|
||||||
|
[/~([a-z]|[A-Z]+)\</, { token: "@rematch", switchTo: "@sigilStart.$S2.$1.<.>" }],
|
||||||
|
[
|
||||||
|
/~([a-z]|[A-Z]+)(@sigilSymmetricDelimiter)/,
|
||||||
|
{ token: "@rematch", switchTo: "@sigilStart.$S2.$1.$2.$2" }
|
||||||
|
]
|
||||||
|
],
|
||||||
|
// The definitions below expect states to be of the form:
|
||||||
|
//
|
||||||
|
// sigilStart.<interpol-or-noInterpol>.<sigil-letter>.<start-delimiter>.<end-delimiter>
|
||||||
|
// sigilContinue.<interpol-or-noInterpol>.<sigil-letter>.<start-delimiter>.<end-delimiter>
|
||||||
|
//
|
||||||
|
// The sigilStart state is used only to properly classify the token (as string/regex/sigil)
|
||||||
|
// and immediately switches to the sigilContinue sate, which handles the actual content
|
||||||
|
// and waits for the corresponding end delimiter.
|
||||||
|
"sigilStart.interpol.s": [
|
||||||
|
[
|
||||||
|
/~s@sigilStartDelimiter/,
|
||||||
|
{
|
||||||
|
token: "string.delimiter",
|
||||||
|
switchTo: "@sigilContinue.$S2.$S3.$S4.$S5"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"sigilContinue.interpol.s": [
|
||||||
|
[
|
||||||
|
/(@sigilEndDelimiter)@sigilModifiers/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$1==$S5": { token: "string.delimiter", next: "@pop" },
|
||||||
|
"@default": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
{ include: "@stringContentInterpol" }
|
||||||
|
],
|
||||||
|
"sigilStart.noInterpol.S": [
|
||||||
|
[
|
||||||
|
/~S@sigilStartDelimiter/,
|
||||||
|
{
|
||||||
|
token: "string.delimiter",
|
||||||
|
switchTo: "@sigilContinue.$S2.$S3.$S4.$S5"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"sigilContinue.noInterpol.S": [
|
||||||
|
// Ignore escaped sigil end
|
||||||
|
[/(^|[^\\])\\@sigilEndDelimiter/, "string"],
|
||||||
|
[
|
||||||
|
/(@sigilEndDelimiter)@sigilModifiers/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$1==$S5": { token: "string.delimiter", next: "@pop" },
|
||||||
|
"@default": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
{ include: "@stringContent" }
|
||||||
|
],
|
||||||
|
"sigilStart.interpol.r": [
|
||||||
|
[
|
||||||
|
/~r@sigilStartDelimiter/,
|
||||||
|
{
|
||||||
|
token: "regexp.delimiter",
|
||||||
|
switchTo: "@sigilContinue.$S2.$S3.$S4.$S5"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"sigilContinue.interpol.r": [
|
||||||
|
[
|
||||||
|
/(@sigilEndDelimiter)@sigilModifiers/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$1==$S5": { token: "regexp.delimiter", next: "@pop" },
|
||||||
|
"@default": "regexp"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
{ include: "@regexpContentInterpol" }
|
||||||
|
],
|
||||||
|
"sigilStart.noInterpol.R": [
|
||||||
|
[
|
||||||
|
/~R@sigilStartDelimiter/,
|
||||||
|
{
|
||||||
|
token: "regexp.delimiter",
|
||||||
|
switchTo: "@sigilContinue.$S2.$S3.$S4.$S5"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"sigilContinue.noInterpol.R": [
|
||||||
|
// Ignore escaped sigil end
|
||||||
|
[/(^|[^\\])\\@sigilEndDelimiter/, "regexp"],
|
||||||
|
[
|
||||||
|
/(@sigilEndDelimiter)@sigilModifiers/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$1==$S5": { token: "regexp.delimiter", next: "@pop" },
|
||||||
|
"@default": "regexp"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
{ include: "@regexpContent" }
|
||||||
|
],
|
||||||
|
// Fallback to the generic sigil by default
|
||||||
|
"sigilStart.interpol": [
|
||||||
|
[
|
||||||
|
/~([a-z]|[A-Z]+)@sigilStartDelimiter/,
|
||||||
|
{
|
||||||
|
token: "sigil.delimiter",
|
||||||
|
switchTo: "@sigilContinue.$S2.$S3.$S4.$S5"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"sigilContinue.interpol": [
|
||||||
|
[
|
||||||
|
/(@sigilEndDelimiter)@sigilModifiers/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$1==$S5": { token: "sigil.delimiter", next: "@pop" },
|
||||||
|
"@default": "sigil"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
{ include: "@sigilContentInterpol" }
|
||||||
|
],
|
||||||
|
"sigilStart.noInterpol": [
|
||||||
|
[
|
||||||
|
/~([a-z]|[A-Z]+)@sigilStartDelimiter/,
|
||||||
|
{
|
||||||
|
token: "sigil.delimiter",
|
||||||
|
switchTo: "@sigilContinue.$S2.$S3.$S4.$S5"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"sigilContinue.noInterpol": [
|
||||||
|
// Ignore escaped sigil end
|
||||||
|
[/(^|[^\\])\\@sigilEndDelimiter/, "sigil"],
|
||||||
|
[
|
||||||
|
/(@sigilEndDelimiter)@sigilModifiers/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$1==$S5": { token: "sigil.delimiter", next: "@pop" },
|
||||||
|
"@default": "sigil"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
{ include: "@sigilContent" }
|
||||||
|
],
|
||||||
|
// Attributes
|
||||||
|
attributes: [
|
||||||
|
// Module @doc* attributes - tokenized as comments
|
||||||
|
[
|
||||||
|
/\@(module|type)?doc (~[sS])?"""/,
|
||||||
|
{
|
||||||
|
token: "comment.block.documentation",
|
||||||
|
next: "@doubleQuotedHeredocDocstring"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/\@(module|type)?doc (~[sS])?'''/,
|
||||||
|
{
|
||||||
|
token: "comment.block.documentation",
|
||||||
|
next: "@singleQuotedHeredocDocstring"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/\@(module|type)?doc (~[sS])?"/,
|
||||||
|
{
|
||||||
|
token: "comment.block.documentation",
|
||||||
|
next: "@doubleQuotedStringDocstring"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/\@(module|type)?doc (~[sS])?'/,
|
||||||
|
{
|
||||||
|
token: "comment.block.documentation",
|
||||||
|
next: "@singleQuotedStringDocstring"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/\@(module|type)?doc false/, "comment.block.documentation"],
|
||||||
|
// Module attributes
|
||||||
|
[/\@(@variableName)/, "variable"]
|
||||||
|
],
|
||||||
|
doubleQuotedHeredocDocstring: [
|
||||||
|
[/"""/, { token: "comment.block.documentation", next: "@pop" }],
|
||||||
|
{ include: "@docstringContent" }
|
||||||
|
],
|
||||||
|
singleQuotedHeredocDocstring: [
|
||||||
|
[/'''/, { token: "comment.block.documentation", next: "@pop" }],
|
||||||
|
{ include: "@docstringContent" }
|
||||||
|
],
|
||||||
|
doubleQuotedStringDocstring: [
|
||||||
|
[/"/, { token: "comment.block.documentation", next: "@pop" }],
|
||||||
|
{ include: "@docstringContent" }
|
||||||
|
],
|
||||||
|
singleQuotedStringDocstring: [
|
||||||
|
[/'/, { token: "comment.block.documentation", next: "@pop" }],
|
||||||
|
{ include: "@docstringContent" }
|
||||||
|
],
|
||||||
|
// Operators, punctuation, brackets
|
||||||
|
symbols: [
|
||||||
|
// Code point operator (either with regular character ?a or an escaped one ?\n)
|
||||||
|
[/\?(\\.|[^\\\s])/, "number.constant"],
|
||||||
|
// Anonymous function arguments
|
||||||
|
[/&\d+/, "operator"],
|
||||||
|
// Bitshift operators (must go before delimiters, so that << >> don't match first)
|
||||||
|
[/<<<|>>>/, "operator"],
|
||||||
|
// Delimiter pairs
|
||||||
|
[/[()\[\]\{\}]|<<|>>/, "@brackets"],
|
||||||
|
// Triple dot is a valid name (must go before operators, so that .. doesn't match instead)
|
||||||
|
[/\.\.\./, "identifier"],
|
||||||
|
// Punctuation => (must go before operators, so it's not tokenized as = then >)
|
||||||
|
[/=>/, "punctuation"],
|
||||||
|
// Operators
|
||||||
|
[/@operator/, "operator"],
|
||||||
|
// Punctuation
|
||||||
|
[/[:;,.%]/, "punctuation"]
|
||||||
|
],
|
||||||
|
// Generic helpers
|
||||||
|
stringContentInterpol: [
|
||||||
|
{ include: "@interpolation" },
|
||||||
|
{ include: "@escapeChar" },
|
||||||
|
{ include: "@stringContent" }
|
||||||
|
],
|
||||||
|
stringContent: [[/./, "string"]],
|
||||||
|
stringConstantContentInterpol: [
|
||||||
|
{ include: "@interpolation" },
|
||||||
|
{ include: "@escapeChar" },
|
||||||
|
{ include: "@stringConstantContent" }
|
||||||
|
],
|
||||||
|
stringConstantContent: [[/./, "constant"]],
|
||||||
|
regexpContentInterpol: [
|
||||||
|
{ include: "@interpolation" },
|
||||||
|
{ include: "@escapeChar" },
|
||||||
|
{ include: "@regexpContent" }
|
||||||
|
],
|
||||||
|
regexpContent: [
|
||||||
|
// # may be a regular regexp char, so we use a heuristic
|
||||||
|
// assuming a # surrounded by whitespace is actually a comment.
|
||||||
|
[/(\s)(#)(\s.*)$/, ["white", "comment.punctuation", "comment"]],
|
||||||
|
[/./, "regexp"]
|
||||||
|
],
|
||||||
|
sigilContentInterpol: [
|
||||||
|
{ include: "@interpolation" },
|
||||||
|
{ include: "@escapeChar" },
|
||||||
|
{ include: "@sigilContent" }
|
||||||
|
],
|
||||||
|
sigilContent: [[/./, "sigil"]],
|
||||||
|
docstringContent: [[/./, "comment.block.documentation"]],
|
||||||
|
escapeChar: [[/@escape/, "constant.character.escape"]],
|
||||||
|
interpolation: [[/#{/, { token: "delimiter.bracket.embed", next: "@interpolationContinue" }]],
|
||||||
|
interpolationContinue: [
|
||||||
|
[/}/, { token: "delimiter.bracket.embed", next: "@pop" }],
|
||||||
|
// Interpolation brackets may contain arbitrary code,
|
||||||
|
// so we simply match against all the root rules,
|
||||||
|
// until we reach interpolation end (the above matches).
|
||||||
|
{ include: "@root" }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
145
_internal/editor/dev/vs/flow9-BNnUn-_8.js
Normal file
145
_internal/editor/dev/vs/flow9-BNnUn-_8.js
Normal file
@@ -0,0 +1,145 @@
|
|||||||
|
define("vs/flow9-BNnUn-_8", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
blockComment: ["/*", "*/"],
|
||||||
|
lineComment: "//"
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}", notIn: ["string"] },
|
||||||
|
{ open: "[", close: "]", notIn: ["string"] },
|
||||||
|
{ open: "(", close: ")", notIn: ["string"] },
|
||||||
|
{ open: '"', close: '"', notIn: ["string"] },
|
||||||
|
{ open: "'", close: "'", notIn: ["string"] }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" },
|
||||||
|
{ open: "<", close: ">" }
|
||||||
|
]
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".flow",
|
||||||
|
keywords: [
|
||||||
|
"import",
|
||||||
|
"require",
|
||||||
|
"export",
|
||||||
|
"forbid",
|
||||||
|
"native",
|
||||||
|
"if",
|
||||||
|
"else",
|
||||||
|
"cast",
|
||||||
|
"unsafe",
|
||||||
|
"switch",
|
||||||
|
"default"
|
||||||
|
],
|
||||||
|
types: [
|
||||||
|
"io",
|
||||||
|
"mutable",
|
||||||
|
"bool",
|
||||||
|
"int",
|
||||||
|
"double",
|
||||||
|
"string",
|
||||||
|
"flow",
|
||||||
|
"void",
|
||||||
|
"ref",
|
||||||
|
"true",
|
||||||
|
"false",
|
||||||
|
"with"
|
||||||
|
],
|
||||||
|
operators: [
|
||||||
|
"=",
|
||||||
|
">",
|
||||||
|
"<",
|
||||||
|
"<=",
|
||||||
|
">=",
|
||||||
|
"==",
|
||||||
|
"!",
|
||||||
|
"!=",
|
||||||
|
":=",
|
||||||
|
"::=",
|
||||||
|
"&&",
|
||||||
|
"||",
|
||||||
|
"+",
|
||||||
|
"-",
|
||||||
|
"*",
|
||||||
|
"/",
|
||||||
|
"@",
|
||||||
|
"&",
|
||||||
|
"%",
|
||||||
|
":",
|
||||||
|
"->",
|
||||||
|
"\\",
|
||||||
|
"$",
|
||||||
|
"??",
|
||||||
|
"^"
|
||||||
|
],
|
||||||
|
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: [
|
||||||
|
// identifiers and keywords
|
||||||
|
[
|
||||||
|
/[a-zA-Z_]\w*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@keywords": "keyword",
|
||||||
|
"@types": "type",
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// whitespace
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
// delimiters and operators
|
||||||
|
[/[{}()\[\]]/, "delimiter"],
|
||||||
|
[/[<>](?!@symbols)/, "delimiter"],
|
||||||
|
[
|
||||||
|
/@symbols/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@operators": "delimiter",
|
||||||
|
"@default": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// numbers
|
||||||
|
[/((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)/, "number"],
|
||||||
|
// delimiter: after number because of .\d floats
|
||||||
|
[/[;,.]/, "delimiter"],
|
||||||
|
// strings
|
||||||
|
[/"([^"\\]|\\.)*$/, "string.invalid"],
|
||||||
|
[/"/, "string", "@string"]
|
||||||
|
],
|
||||||
|
whitespace: [
|
||||||
|
[/[ \t\r\n]+/, ""],
|
||||||
|
[/\/\*/, "comment", "@comment"],
|
||||||
|
[/\/\/.*$/, "comment"]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
[/[^\/*]+/, "comment"],
|
||||||
|
[/\*\//, "comment", "@pop"],
|
||||||
|
[/[\/*]/, "comment"]
|
||||||
|
],
|
||||||
|
string: [
|
||||||
|
[/[^\\"]+/, "string"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/\\./, "string.escape.invalid"],
|
||||||
|
[/"/, "string", "@pop"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
996
_internal/editor/dev/vs/freemarker2-Ci5s7p-k.js
Normal file
996
_internal/editor/dev/vs/freemarker2-Ci5s7p-k.js
Normal file
@@ -0,0 +1,996 @@
|
|||||||
|
define("vs/freemarker2-Ci5s7p-k", ["exports", "./editor.api-BhD7pWdi"], (function(exports, editor_api) {
|
||||||
|
"use strict";
|
||||||
|
const EMPTY_ELEMENTS = [
|
||||||
|
"assign",
|
||||||
|
"flush",
|
||||||
|
"ftl",
|
||||||
|
"return",
|
||||||
|
"global",
|
||||||
|
"import",
|
||||||
|
"include",
|
||||||
|
"break",
|
||||||
|
"continue",
|
||||||
|
"local",
|
||||||
|
"nested",
|
||||||
|
"nt",
|
||||||
|
"setting",
|
||||||
|
"stop",
|
||||||
|
"t",
|
||||||
|
"lt",
|
||||||
|
"rt",
|
||||||
|
"fallback"
|
||||||
|
];
|
||||||
|
const BLOCK_ELEMENTS = [
|
||||||
|
"attempt",
|
||||||
|
"autoesc",
|
||||||
|
"autoEsc",
|
||||||
|
"compress",
|
||||||
|
"comment",
|
||||||
|
"escape",
|
||||||
|
"noescape",
|
||||||
|
"function",
|
||||||
|
"if",
|
||||||
|
"list",
|
||||||
|
"items",
|
||||||
|
"sep",
|
||||||
|
"macro",
|
||||||
|
"noparse",
|
||||||
|
"noParse",
|
||||||
|
"noautoesc",
|
||||||
|
"noAutoEsc",
|
||||||
|
"outputformat",
|
||||||
|
"switch",
|
||||||
|
"visit",
|
||||||
|
"recurse"
|
||||||
|
];
|
||||||
|
const TagSyntaxAngle = {
|
||||||
|
close: ">",
|
||||||
|
id: "angle",
|
||||||
|
open: "<"
|
||||||
|
};
|
||||||
|
const TagSyntaxBracket = {
|
||||||
|
close: "\\]",
|
||||||
|
id: "bracket",
|
||||||
|
open: "\\["
|
||||||
|
};
|
||||||
|
const TagSyntaxAuto = {
|
||||||
|
close: "[>\\]]",
|
||||||
|
id: "auto",
|
||||||
|
open: "[<\\[]"
|
||||||
|
};
|
||||||
|
const InterpolationSyntaxDollar = {
|
||||||
|
close: "\\}",
|
||||||
|
id: "dollar",
|
||||||
|
open1: "\\$",
|
||||||
|
open2: "\\{"
|
||||||
|
};
|
||||||
|
const InterpolationSyntaxBracket = {
|
||||||
|
close: "\\]",
|
||||||
|
id: "bracket",
|
||||||
|
open1: "\\[",
|
||||||
|
open2: "="
|
||||||
|
};
|
||||||
|
function createLangConfiguration(ts) {
|
||||||
|
return {
|
||||||
|
brackets: [
|
||||||
|
["<", ">"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"],
|
||||||
|
["{", "}"]
|
||||||
|
],
|
||||||
|
comments: {
|
||||||
|
blockComment: [`${ts.open}--`, `--${ts.close}`]
|
||||||
|
},
|
||||||
|
autoCloseBefore: "\n\r }]),.:;=",
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"', notIn: ["string"] },
|
||||||
|
{ open: "'", close: "'", notIn: ["string"] }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" },
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: "<", close: ">" }
|
||||||
|
],
|
||||||
|
folding: {
|
||||||
|
markers: {
|
||||||
|
start: new RegExp(
|
||||||
|
`${ts.open}#(?:${BLOCK_ELEMENTS.join("|")})([^/${ts.close}]*(?!/)${ts.close})[^${ts.open}]*$`
|
||||||
|
),
|
||||||
|
end: new RegExp(`${ts.open}/#(?:${BLOCK_ELEMENTS.join("|")})[\\r\\n\\t ]*>`)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onEnterRules: [
|
||||||
|
{
|
||||||
|
beforeText: new RegExp(
|
||||||
|
`${ts.open}#(?!(?:${EMPTY_ELEMENTS.join("|")}))([a-zA-Z_]+)([^/${ts.close}]*(?!/)${ts.close})[^${ts.open}]*$`
|
||||||
|
),
|
||||||
|
afterText: new RegExp(`^${ts.open}/#([a-zA-Z_]+)[\\r\\n\\t ]*${ts.close}$`),
|
||||||
|
action: {
|
||||||
|
indentAction: editor_api.languages.IndentAction.IndentOutdent
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
beforeText: new RegExp(
|
||||||
|
`${ts.open}#(?!(?:${EMPTY_ELEMENTS.join("|")}))([a-zA-Z_]+)([^/${ts.close}]*(?!/)${ts.close})[^${ts.open}]*$`
|
||||||
|
),
|
||||||
|
action: { indentAction: editor_api.languages.IndentAction.Indent }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
};
|
||||||
|
}
|
||||||
|
function createLangConfigurationAuto() {
|
||||||
|
return {
|
||||||
|
// Cannot set block comment delimiter in auto mode...
|
||||||
|
// It depends on the content and the cursor position of the file...
|
||||||
|
brackets: [
|
||||||
|
["<", ">"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"],
|
||||||
|
["{", "}"]
|
||||||
|
],
|
||||||
|
autoCloseBefore: "\n\r }]),.:;=",
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"', notIn: ["string"] },
|
||||||
|
{ open: "'", close: "'", notIn: ["string"] }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" },
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: "<", close: ">" }
|
||||||
|
],
|
||||||
|
folding: {
|
||||||
|
markers: {
|
||||||
|
start: new RegExp(`[<\\[]#(?:${BLOCK_ELEMENTS.join("|")})([^/>\\]]*(?!/)[>\\]])[^<\\[]*$`),
|
||||||
|
end: new RegExp(`[<\\[]/#(?:${BLOCK_ELEMENTS.join("|")})[\\r\\n\\t ]*>`)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onEnterRules: [
|
||||||
|
{
|
||||||
|
beforeText: new RegExp(
|
||||||
|
`[<\\[]#(?!(?:${EMPTY_ELEMENTS.join("|")}))([a-zA-Z_]+)([^/>\\]]*(?!/)[>\\]])[^[<\\[]]*$`
|
||||||
|
),
|
||||||
|
afterText: new RegExp(`^[<\\[]/#([a-zA-Z_]+)[\\r\\n\\t ]*[>\\]]$`),
|
||||||
|
action: {
|
||||||
|
indentAction: editor_api.languages.IndentAction.IndentOutdent
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
beforeText: new RegExp(
|
||||||
|
`[<\\[]#(?!(?:${EMPTY_ELEMENTS.join("|")}))([a-zA-Z_]+)([^/>\\]]*(?!/)[>\\]])[^[<\\[]]*$`
|
||||||
|
),
|
||||||
|
action: { indentAction: editor_api.languages.IndentAction.Indent }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
};
|
||||||
|
}
|
||||||
|
function createMonarchLanguage(ts, is) {
|
||||||
|
const id = `_${ts.id}_${is.id}`;
|
||||||
|
const s = (name) => name.replace(/__id__/g, id);
|
||||||
|
const r = (regexp) => {
|
||||||
|
const source = regexp.source.replace(/__id__/g, id);
|
||||||
|
return new RegExp(source, regexp.flags);
|
||||||
|
};
|
||||||
|
return {
|
||||||
|
// Settings
|
||||||
|
unicode: true,
|
||||||
|
includeLF: false,
|
||||||
|
start: s("default__id__"),
|
||||||
|
ignoreCase: false,
|
||||||
|
defaultToken: "invalid",
|
||||||
|
tokenPostfix: `.freemarker2`,
|
||||||
|
brackets: [
|
||||||
|
{ open: "{", close: "}", token: "delimiter.curly" },
|
||||||
|
{ open: "[", close: "]", token: "delimiter.square" },
|
||||||
|
{ open: "(", close: ")", token: "delimiter.parenthesis" },
|
||||||
|
{ open: "<", close: ">", token: "delimiter.angle" }
|
||||||
|
],
|
||||||
|
// Dynamic RegExp
|
||||||
|
[s("open__id__")]: new RegExp(ts.open),
|
||||||
|
[s("close__id__")]: new RegExp(ts.close),
|
||||||
|
[s("iOpen1__id__")]: new RegExp(is.open1),
|
||||||
|
[s("iOpen2__id__")]: new RegExp(is.open2),
|
||||||
|
[s("iClose__id__")]: new RegExp(is.close),
|
||||||
|
// <#START_TAG : "<" | "<#" | "[#">
|
||||||
|
// <#END_TAG : "</" | "</#" | "[/#">
|
||||||
|
[s("startTag__id__")]: r(/(@open__id__)(#)/),
|
||||||
|
[s("endTag__id__")]: r(/(@open__id__)(\/#)/),
|
||||||
|
[s("startOrEndTag__id__")]: r(/(@open__id__)(\/?#)/),
|
||||||
|
// <#CLOSE_TAG1 : (<BLANK>)* (">" | "]")>
|
||||||
|
[s("closeTag1__id__")]: r(/((?:@blank)*)(@close__id__)/),
|
||||||
|
// <#CLOSE_TAG2 : (<BLANK>)* ("/")? (">" | "]")>
|
||||||
|
[s("closeTag2__id__")]: r(/((?:@blank)*\/?)(@close__id__)/),
|
||||||
|
// Static RegExp
|
||||||
|
// <#BLANK : " " | "\t" | "\n" | "\r">
|
||||||
|
blank: /[ \t\n\r]/,
|
||||||
|
// <FALSE : "false">
|
||||||
|
// <TRUE : "true">
|
||||||
|
// <IN : "in">
|
||||||
|
// <AS : "as">
|
||||||
|
// <USING : "using">
|
||||||
|
keywords: ["false", "true", "in", "as", "using"],
|
||||||
|
// Directive names that cannot have an expression parameters and cannot be self-closing
|
||||||
|
// E.g. <#if id==2> ... </#if>
|
||||||
|
directiveStartCloseTag1: /attempt|recover|sep|auto[eE]sc|no(?:autoe|AutoE)sc|compress|default|no[eE]scape|comment|no[pP]arse/,
|
||||||
|
// Directive names that cannot have an expression parameter and can be self-closing
|
||||||
|
// E.g. <#if> ... <#else> ... </#if>
|
||||||
|
// E.g. <#if> ... <#else /></#if>
|
||||||
|
directiveStartCloseTag2: /else|break|continue|return|stop|flush|t|lt|rt|nt|nested|recurse|fallback|ftl/,
|
||||||
|
// Directive names that can have an expression parameter and cannot be self-closing
|
||||||
|
// E.g. <#if id==2> ... </#if>
|
||||||
|
directiveStartBlank: /if|else[iI]f|list|for[eE]ach|switch|case|assign|global|local|include|import|function|macro|transform|visit|stop|return|call|setting|output[fF]ormat|nested|recurse|escape|ftl|items/,
|
||||||
|
// Directive names that can have an end tag
|
||||||
|
// E.g. </#if>
|
||||||
|
directiveEndCloseTag1: /if|list|items|sep|recover|attempt|for[eE]ach|local|global|assign|function|macro|output[fF]ormat|auto[eE]sc|no(?:autoe|AutoE)sc|compress|transform|switch|escape|no[eE]scape/,
|
||||||
|
// <#ESCAPED_CHAR :
|
||||||
|
// "\\"
|
||||||
|
// (
|
||||||
|
// ("n" | "t" | "r" | "f" | "b" | "g" | "l" | "a" | "\\" | "'" | "\"" | "{" | "=")
|
||||||
|
// |
|
||||||
|
// ("x" ["0"-"9", "A"-"F", "a"-"f"])
|
||||||
|
// )
|
||||||
|
// >
|
||||||
|
// Note: While the JavaCC tokenizer rule only specifies one hex digit,
|
||||||
|
// FreeMarker actually interprets up to 4 hex digits.
|
||||||
|
escapedChar: /\\(?:[ntrfbgla\\'"\{=]|(?:x[0-9A-Fa-f]{1,4}))/,
|
||||||
|
// <#ASCII_DIGIT: ["0" - "9"]>
|
||||||
|
asciiDigit: /[0-9]/,
|
||||||
|
// <INTEGER : (["0"-"9"])+>
|
||||||
|
integer: /[0-9]+/,
|
||||||
|
// <#NON_ESCAPED_ID_START_CHAR:
|
||||||
|
// [
|
||||||
|
// // This was generated on JDK 1.8.0_20 Win64 with src/main/misc/identifierChars/IdentifierCharGenerator.java
|
||||||
|
// ...
|
||||||
|
// ]
|
||||||
|
nonEscapedIdStartChar: /[\$@-Z_a-z\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u1FFF\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183-\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3006\u3031-\u3035\u303B-\u303C\u3040-\u318F\u31A0-\u31BA\u31F0-\u31FF\u3300-\u337F\u3400-\u4DB5\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,
|
||||||
|
// <#ESCAPED_ID_CHAR: "\\" ("-" | "." | ":" | "#")>
|
||||||
|
escapedIdChar: /\\[\-\.:#]/,
|
||||||
|
// <#ID_START_CHAR: <NON_ESCAPED_ID_START_CHAR>|<ESCAPED_ID_CHAR>>
|
||||||
|
idStartChar: /(?:@nonEscapedIdStartChar)|(?:@escapedIdChar)/,
|
||||||
|
// <ID: <ID_START_CHAR> (<ID_START_CHAR>|<ASCII_DIGIT>)*>
|
||||||
|
id: /(?:@idStartChar)(?:(?:@idStartChar)|(?:@asciiDigit))*/,
|
||||||
|
// Certain keywords / operators are allowed to index hashes
|
||||||
|
//
|
||||||
|
// Expression DotVariable(Expression exp) :
|
||||||
|
// {
|
||||||
|
// Token t;
|
||||||
|
// }
|
||||||
|
// {
|
||||||
|
// <DOT>
|
||||||
|
// (
|
||||||
|
// t = <ID> | t = <TIMES> | t = <DOUBLE_STAR>
|
||||||
|
// |
|
||||||
|
// (
|
||||||
|
// t = <LESS_THAN>
|
||||||
|
// |
|
||||||
|
// t = <LESS_THAN_EQUALS>
|
||||||
|
// |
|
||||||
|
// t = <ESCAPED_GT>
|
||||||
|
// |
|
||||||
|
// t = <ESCAPED_GTE>
|
||||||
|
// |
|
||||||
|
// t = <FALSE>
|
||||||
|
// |
|
||||||
|
// t = <TRUE>
|
||||||
|
// |
|
||||||
|
// t = <IN>
|
||||||
|
// |
|
||||||
|
// t = <AS>
|
||||||
|
// |
|
||||||
|
// t = <USING>
|
||||||
|
// )
|
||||||
|
// {
|
||||||
|
// if (!Character.isLetter(t.image.charAt(0))) {
|
||||||
|
// throw new ParseException(t.image + " is not a valid identifier.", template, t);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// )
|
||||||
|
// {
|
||||||
|
// notListLiteral(exp, "hash");
|
||||||
|
// notStringLiteral(exp, "hash");
|
||||||
|
// notBooleanLiteral(exp, "hash");
|
||||||
|
// Dot dot = new Dot(exp, t.image);
|
||||||
|
// dot.setLocation(template, exp, t);
|
||||||
|
// return dot;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
specialHashKeys: /\*\*|\*|false|true|in|as|using/,
|
||||||
|
// <DOUBLE_EQUALS : "==">
|
||||||
|
// <EQUALS : "=">
|
||||||
|
// <NOT_EQUALS : "!=">
|
||||||
|
// <PLUS_EQUALS : "+=">
|
||||||
|
// <MINUS_EQUALS : "-=">
|
||||||
|
// <TIMES_EQUALS : "*=">
|
||||||
|
// <DIV_EQUALS : "/=">
|
||||||
|
// <MOD_EQUALS : "%=">
|
||||||
|
// <PLUS_PLUS : "++">
|
||||||
|
// <MINUS_MINUS : "--">
|
||||||
|
// <LESS_THAN_EQUALS : "lte" | "\\lte" | "<=" | "<=">
|
||||||
|
// <LESS_THAN : "lt" | "\\lt" | "<" | "<">
|
||||||
|
// <ESCAPED_GTE : "gte" | "\\gte" | ">=">
|
||||||
|
// <ESCAPED_GT: "gt" | "\\gt" | ">">
|
||||||
|
// <DOUBLE_STAR : "**">
|
||||||
|
// <PLUS : "+">
|
||||||
|
// <MINUS : "-">
|
||||||
|
// <TIMES : "*">
|
||||||
|
// <PERCENT : "%">
|
||||||
|
// <AND : "&" | "&&" | "&&" | "\\and" >
|
||||||
|
// <OR : "|" | "||">
|
||||||
|
// <EXCLAM : "!">
|
||||||
|
// <COMMA : ",">
|
||||||
|
// <SEMICOLON : ";">
|
||||||
|
// <COLON : ":">
|
||||||
|
// <ELLIPSIS : "...">
|
||||||
|
// <DOT_DOT_ASTERISK : "..*" >
|
||||||
|
// <DOT_DOT_LESS : "..<" | "..!" >
|
||||||
|
// <DOT_DOT : "..">
|
||||||
|
// <EXISTS : "??">
|
||||||
|
// <BUILT_IN : "?">
|
||||||
|
// <LAMBDA_ARROW : "->" | "->">
|
||||||
|
namedSymbols: /<=|>=|\\lte|\\lt|<|\\gte|\\gt|>|&&|\\and|->|->|==|!=|\+=|-=|\*=|\/=|%=|\+\+|--|<=|&&|\|\||:|\.\.\.|\.\.\*|\.\.<|\.\.!|\?\?|=|<|\+|-|\*|\/|%|\||\.\.|\?|!|&|\.|,|;/,
|
||||||
|
arrows: ["->", "->"],
|
||||||
|
delimiters: [";", ":", ",", "."],
|
||||||
|
stringOperators: ["lte", "lt", "gte", "gt"],
|
||||||
|
noParseTags: ["noparse", "noParse", "comment"],
|
||||||
|
tokenizer: {
|
||||||
|
// Parser states
|
||||||
|
// Plain text
|
||||||
|
[s("default__id__")]: [
|
||||||
|
{ include: s("@directive_token__id__") },
|
||||||
|
{ include: s("@interpolation_and_text_token__id__") }
|
||||||
|
],
|
||||||
|
// A FreeMarker expression inside a directive, e.g. <#if 2<3>
|
||||||
|
[s("fmExpression__id__.directive")]: [
|
||||||
|
{ include: s("@blank_and_expression_comment_token__id__") },
|
||||||
|
{ include: s("@directive_end_token__id__") },
|
||||||
|
{ include: s("@expression_token__id__") }
|
||||||
|
],
|
||||||
|
// A FreeMarker expression inside an interpolation, e.g. ${2+3}
|
||||||
|
[s("fmExpression__id__.interpolation")]: [
|
||||||
|
{ include: s("@blank_and_expression_comment_token__id__") },
|
||||||
|
{ include: s("@expression_token__id__") },
|
||||||
|
{ include: s("@greater_operators_token__id__") }
|
||||||
|
],
|
||||||
|
// In an expression and inside a not-yet closed parenthesis / bracket
|
||||||
|
[s("inParen__id__.plain")]: [
|
||||||
|
{ include: s("@blank_and_expression_comment_token__id__") },
|
||||||
|
{ include: s("@directive_end_token__id__") },
|
||||||
|
{ include: s("@expression_token__id__") }
|
||||||
|
],
|
||||||
|
[s("inParen__id__.gt")]: [
|
||||||
|
{ include: s("@blank_and_expression_comment_token__id__") },
|
||||||
|
{ include: s("@expression_token__id__") },
|
||||||
|
{ include: s("@greater_operators_token__id__") }
|
||||||
|
],
|
||||||
|
// Expression for the unified call, e.g. <@createMacro() ... >
|
||||||
|
[s("noSpaceExpression__id__")]: [
|
||||||
|
{ include: s("@no_space_expression_end_token__id__") },
|
||||||
|
{ include: s("@directive_end_token__id__") },
|
||||||
|
{ include: s("@expression_token__id__") }
|
||||||
|
],
|
||||||
|
// For the function of a unified call. Special case for when the
|
||||||
|
// expression is a simple identifier.
|
||||||
|
// <@join [1,2] ",">
|
||||||
|
// <@null!join [1,2] ",">
|
||||||
|
[s("unifiedCall__id__")]: [{ include: s("@unified_call_token__id__") }],
|
||||||
|
// For singly and doubly quoted string (that may contain interpolations)
|
||||||
|
[s("singleString__id__")]: [{ include: s("@string_single_token__id__") }],
|
||||||
|
[s("doubleString__id__")]: [{ include: s("@string_double_token__id__") }],
|
||||||
|
// For singly and doubly quoted string (that may not contain interpolations)
|
||||||
|
[s("rawSingleString__id__")]: [{ include: s("@string_single_raw_token__id__") }],
|
||||||
|
[s("rawDoubleString__id__")]: [{ include: s("@string_double_raw_token__id__") }],
|
||||||
|
// For a comment in an expression
|
||||||
|
// ${ 1 + <#-- comment --> 2}
|
||||||
|
[s("expressionComment__id__")]: [{ include: s("@expression_comment_token__id__") }],
|
||||||
|
// For <#noparse> ... </#noparse>
|
||||||
|
// For <#noParse> ... </#noParse>
|
||||||
|
// For <#comment> ... </#comment>
|
||||||
|
[s("noParse__id__")]: [{ include: s("@no_parse_token__id__") }],
|
||||||
|
// For <#-- ... -->
|
||||||
|
[s("terseComment__id__")]: [{ include: s("@terse_comment_token__id__") }],
|
||||||
|
// Common rules
|
||||||
|
[s("directive_token__id__")]: [
|
||||||
|
// <ATTEMPT : <START_TAG> "attempt" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
|
||||||
|
// <RECOVER : <START_TAG> "recover" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
|
||||||
|
// <SEP : <START_TAG> "sep" <CLOSE_TAG1>>
|
||||||
|
// <AUTOESC : <START_TAG> "auto" ("e"|"E") "sc" <CLOSE_TAG1>> {
|
||||||
|
// handleTagSyntaxAndSwitch(matchedToken, getTagNamingConvention(matchedToken, 4), DEFAULT);
|
||||||
|
// }
|
||||||
|
// <NOAUTOESC : <START_TAG> "no" ("autoe"|"AutoE") "sc" <CLOSE_TAG1>> {
|
||||||
|
// handleTagSyntaxAndSwitch(matchedToken, getTagNamingConvention(matchedToken, 2), DEFAULT);
|
||||||
|
// }
|
||||||
|
// <COMPRESS : <START_TAG> "compress" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
|
||||||
|
// <DEFAUL : <START_TAG> "default" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
|
||||||
|
// <NOESCAPE : <START_TAG> "no" ("e" | "E") "scape" <CLOSE_TAG1>> {
|
||||||
|
// handleTagSyntaxAndSwitch(matchedToken, getTagNamingConvention(matchedToken, 2), DEFAULT);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// <COMMENT : <START_TAG> "comment" <CLOSE_TAG1>> {
|
||||||
|
// handleTagSyntaxAndSwitch(matchedToken, NO_PARSE); noparseTag = "comment";
|
||||||
|
// }
|
||||||
|
// <NOPARSE: <START_TAG> "no" ("p" | "P") "arse" <CLOSE_TAG1>> {
|
||||||
|
// int tagNamingConvention = getTagNamingConvention(matchedToken, 2);
|
||||||
|
// handleTagSyntaxAndSwitch(matchedToken, tagNamingConvention, NO_PARSE);
|
||||||
|
// noparseTag = tagNamingConvention == Configuration.CAMEL_CASE_NAMING_CONVENTION ? "noParse" : "noparse";
|
||||||
|
// }
|
||||||
|
[
|
||||||
|
r(/(?:@startTag__id__)(@directiveStartCloseTag1)(?:@closeTag1__id__)/),
|
||||||
|
ts.id === "auto" ? {
|
||||||
|
cases: {
|
||||||
|
"$1==<": { token: "@rematch", switchTo: `@default_angle_${is.id}` },
|
||||||
|
"$1==[": { token: "@rematch", switchTo: `@default_bracket_${is.id}` }
|
||||||
|
}
|
||||||
|
} : [
|
||||||
|
{ token: "@brackets.directive" },
|
||||||
|
{ token: "delimiter.directive" },
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@noParseTags": { token: "tag", next: s("@noParse__id__.$3") },
|
||||||
|
"@default": { token: "tag" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ token: "delimiter.directive" },
|
||||||
|
{ token: "@brackets.directive" }
|
||||||
|
]
|
||||||
|
],
|
||||||
|
// <ELSE : <START_TAG> "else" <CLOSE_TAG2>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
|
||||||
|
// <BREAK : <START_TAG> "break" <CLOSE_TAG2>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
|
||||||
|
// <CONTINUE : <START_TAG> "continue" <CLOSE_TAG2>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
|
||||||
|
// <SIMPLE_RETURN : <START_TAG> "return" <CLOSE_TAG2>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
|
||||||
|
// <HALT : <START_TAG> "stop" <CLOSE_TAG2>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
|
||||||
|
// <FLUSH : <START_TAG> "flush" <CLOSE_TAG2>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
|
||||||
|
// <TRIM : <START_TAG> "t" <CLOSE_TAG2>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
|
||||||
|
// <LTRIM : <START_TAG> "lt" <CLOSE_TAG2>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
|
||||||
|
// <RTRIM : <START_TAG> "rt" <CLOSE_TAG2>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
|
||||||
|
// <NOTRIM : <START_TAG> "nt" <CLOSE_TAG2>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
|
||||||
|
// <SIMPLE_NESTED : <START_TAG> "nested" <CLOSE_TAG2>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
|
||||||
|
// <SIMPLE_RECURSE : <START_TAG> "recurse" <CLOSE_TAG2>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
|
||||||
|
// <FALLBACK : <START_TAG> "fallback" <CLOSE_TAG2>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
|
||||||
|
// <TRIVIAL_FTL_HEADER : ("<#ftl" | "[#ftl") ("/")? (">" | "]")> { ftlHeader(matchedToken); }
|
||||||
|
[
|
||||||
|
r(/(?:@startTag__id__)(@directiveStartCloseTag2)(?:@closeTag2__id__)/),
|
||||||
|
ts.id === "auto" ? {
|
||||||
|
cases: {
|
||||||
|
"$1==<": { token: "@rematch", switchTo: `@default_angle_${is.id}` },
|
||||||
|
"$1==[": { token: "@rematch", switchTo: `@default_bracket_${is.id}` }
|
||||||
|
}
|
||||||
|
} : [
|
||||||
|
{ token: "@brackets.directive" },
|
||||||
|
{ token: "delimiter.directive" },
|
||||||
|
{ token: "tag" },
|
||||||
|
{ token: "delimiter.directive" },
|
||||||
|
{ token: "@brackets.directive" }
|
||||||
|
]
|
||||||
|
],
|
||||||
|
// <IF : <START_TAG> "if" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
|
||||||
|
// <ELSE_IF : <START_TAG> "else" ("i" | "I") "f" <BLANK>> {
|
||||||
|
// handleTagSyntaxAndSwitch(matchedToken, getTagNamingConvention(matchedToken, 4), FM_EXPRESSION);
|
||||||
|
// }
|
||||||
|
// <LIST : <START_TAG> "list" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
|
||||||
|
// <FOREACH : <START_TAG> "for" ("e" | "E") "ach" <BLANK>> {
|
||||||
|
// handleTagSyntaxAndSwitch(matchedToken, getTagNamingConvention(matchedToken, 3), FM_EXPRESSION);
|
||||||
|
// }
|
||||||
|
// <SWITCH : <START_TAG> "switch" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
|
||||||
|
// <CASE : <START_TAG> "case" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
|
||||||
|
// <ASSIGN : <START_TAG> "assign" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
|
||||||
|
// <GLOBALASSIGN : <START_TAG> "global" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
|
||||||
|
// <LOCALASSIGN : <START_TAG> "local" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
|
||||||
|
// <_INCLUDE : <START_TAG> "include" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
|
||||||
|
// <IMPORT : <START_TAG> "import" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
|
||||||
|
// <FUNCTION : <START_TAG> "function" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
|
||||||
|
// <MACRO : <START_TAG> "macro" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
|
||||||
|
// <TRANSFORM : <START_TAG> "transform" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
|
||||||
|
// <VISIT : <START_TAG> "visit" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
|
||||||
|
// <STOP : <START_TAG> "stop" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
|
||||||
|
// <RETURN : <START_TAG> "return" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
|
||||||
|
// <CALL : <START_TAG> "call" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
|
||||||
|
// <SETTING : <START_TAG> "setting" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
|
||||||
|
// <OUTPUTFORMAT : <START_TAG> "output" ("f"|"F") "ormat" <BLANK>> {
|
||||||
|
// handleTagSyntaxAndSwitch(matchedToken, getTagNamingConvention(matchedToken, 6), FM_EXPRESSION);
|
||||||
|
// }
|
||||||
|
// <NESTED : <START_TAG> "nested" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
|
||||||
|
// <RECURSE : <START_TAG> "recurse" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
|
||||||
|
// <ESCAPE : <START_TAG> "escape" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
|
||||||
|
//
|
||||||
|
// Note: FreeMarker grammar appears to treat the FTL header as a special case,
|
||||||
|
// in order to remove new lines after the header (?), but since we only need
|
||||||
|
// to tokenize for highlighting, we can include this directive here.
|
||||||
|
// <FTL_HEADER : ("<#ftl" | "[#ftl") <BLANK>> { ftlHeader(matchedToken); }
|
||||||
|
//
|
||||||
|
// Note: FreeMarker grammar appears to treat the items directive as a special case for
|
||||||
|
// the AST parsing process, but since we only need to tokenize, we can include this
|
||||||
|
// directive here.
|
||||||
|
// <ITEMS : <START_TAG> "items" (<BLANK>)+ <AS> <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
|
||||||
|
[
|
||||||
|
r(/(?:@startTag__id__)(@directiveStartBlank)(@blank)/),
|
||||||
|
ts.id === "auto" ? {
|
||||||
|
cases: {
|
||||||
|
"$1==<": { token: "@rematch", switchTo: `@default_angle_${is.id}` },
|
||||||
|
"$1==[": { token: "@rematch", switchTo: `@default_bracket_${is.id}` }
|
||||||
|
}
|
||||||
|
} : [
|
||||||
|
{ token: "@brackets.directive" },
|
||||||
|
{ token: "delimiter.directive" },
|
||||||
|
{ token: "tag" },
|
||||||
|
{ token: "", next: s("@fmExpression__id__.directive") }
|
||||||
|
]
|
||||||
|
],
|
||||||
|
// <END_IF : <END_TAG> "if" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
|
||||||
|
// <END_LIST : <END_TAG> "list" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
|
||||||
|
// <END_SEP : <END_TAG> "sep" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
|
||||||
|
// <END_RECOVER : <END_TAG> "recover" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
|
||||||
|
// <END_ATTEMPT : <END_TAG> "attempt" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
|
||||||
|
// <END_FOREACH : <END_TAG> "for" ("e" | "E") "ach" <CLOSE_TAG1>> {
|
||||||
|
// handleTagSyntaxAndSwitch(matchedToken, getTagNamingConvention(matchedToken, 3), DEFAULT);
|
||||||
|
// }
|
||||||
|
// <END_LOCAL : <END_TAG> "local" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
|
||||||
|
// <END_GLOBAL : <END_TAG> "global" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
|
||||||
|
// <END_ASSIGN : <END_TAG> "assign" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
|
||||||
|
// <END_FUNCTION : <END_TAG> "function" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
|
||||||
|
// <END_MACRO : <END_TAG> "macro" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
|
||||||
|
// <END_OUTPUTFORMAT : <END_TAG> "output" ("f" | "F") "ormat" <CLOSE_TAG1>> {
|
||||||
|
// handleTagSyntaxAndSwitch(matchedToken, getTagNamingConvention(matchedToken, 6), DEFAULT);
|
||||||
|
// }
|
||||||
|
// <END_AUTOESC : <END_TAG> "auto" ("e" | "E") "sc" <CLOSE_TAG1>> {
|
||||||
|
// handleTagSyntaxAndSwitch(matchedToken, getTagNamingConvention(matchedToken, 4), DEFAULT);
|
||||||
|
// }
|
||||||
|
// <END_NOAUTOESC : <END_TAG> "no" ("autoe"|"AutoE") "sc" <CLOSE_TAG1>> {
|
||||||
|
// handleTagSyntaxAndSwitch(matchedToken, getTagNamingConvention(matchedToken, 2), DEFAULT);
|
||||||
|
// }
|
||||||
|
// <END_COMPRESS : <END_TAG> "compress" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
|
||||||
|
// <END_TRANSFORM : <END_TAG> "transform" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
|
||||||
|
// <END_SWITCH : <END_TAG> "switch" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
|
||||||
|
// <END_ESCAPE : <END_TAG> "escape" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
|
||||||
|
// <END_NOESCAPE : <END_TAG> "no" ("e" | "E") "scape" <CLOSE_TAG1>> {
|
||||||
|
// handleTagSyntaxAndSwitch(matchedToken, getTagNamingConvention(matchedToken, 2), DEFAULT);
|
||||||
|
// }
|
||||||
|
[
|
||||||
|
r(/(?:@endTag__id__)(@directiveEndCloseTag1)(?:@closeTag1__id__)/),
|
||||||
|
ts.id === "auto" ? {
|
||||||
|
cases: {
|
||||||
|
"$1==<": { token: "@rematch", switchTo: `@default_angle_${is.id}` },
|
||||||
|
"$1==[": { token: "@rematch", switchTo: `@default_bracket_${is.id}` }
|
||||||
|
}
|
||||||
|
} : [
|
||||||
|
{ token: "@brackets.directive" },
|
||||||
|
{ token: "delimiter.directive" },
|
||||||
|
{ token: "tag" },
|
||||||
|
{ token: "delimiter.directive" },
|
||||||
|
{ token: "@brackets.directive" }
|
||||||
|
]
|
||||||
|
],
|
||||||
|
// <UNIFIED_CALL : "<@" | "[@" > { unifiedCall(matchedToken); }
|
||||||
|
[
|
||||||
|
r(/(@open__id__)(@)/),
|
||||||
|
ts.id === "auto" ? {
|
||||||
|
cases: {
|
||||||
|
"$1==<": { token: "@rematch", switchTo: `@default_angle_${is.id}` },
|
||||||
|
"$1==[": { token: "@rematch", switchTo: `@default_bracket_${is.id}` }
|
||||||
|
}
|
||||||
|
} : [
|
||||||
|
{ token: "@brackets.directive" },
|
||||||
|
{ token: "delimiter.directive", next: s("@unifiedCall__id__") }
|
||||||
|
]
|
||||||
|
],
|
||||||
|
// <UNIFIED_CALL_END : ("<" | "[") "/@" ((<ID>) ("."<ID>)*)? <CLOSE_TAG1>> { unifiedCallEnd(matchedToken); }
|
||||||
|
[
|
||||||
|
r(/(@open__id__)(\/@)((?:(?:@id)(?:\.(?:@id))*)?)(?:@closeTag1__id__)/),
|
||||||
|
[
|
||||||
|
{ token: "@brackets.directive" },
|
||||||
|
{ token: "delimiter.directive" },
|
||||||
|
{ token: "tag" },
|
||||||
|
{ token: "delimiter.directive" },
|
||||||
|
{ token: "@brackets.directive" }
|
||||||
|
]
|
||||||
|
],
|
||||||
|
// <TERSE_COMMENT : ("<" | "[") "#--" > { noparseTag = "-->"; handleTagSyntaxAndSwitch(matchedToken, NO_PARSE); }
|
||||||
|
[
|
||||||
|
r(/(@open__id__)#--/),
|
||||||
|
ts.id === "auto" ? {
|
||||||
|
cases: {
|
||||||
|
"$1==<": { token: "@rematch", switchTo: `@default_angle_${is.id}` },
|
||||||
|
"$1==[": { token: "@rematch", switchTo: `@default_bracket_${is.id}` }
|
||||||
|
}
|
||||||
|
} : { token: "comment", next: s("@terseComment__id__") }
|
||||||
|
],
|
||||||
|
// <UNKNOWN_DIRECTIVE : ("[#" | "[/#" | "<#" | "</#") (["a"-"z", "A"-"Z", "_"])+>
|
||||||
|
[
|
||||||
|
r(/(?:@startOrEndTag__id__)([a-zA-Z_]+)/),
|
||||||
|
ts.id === "auto" ? {
|
||||||
|
cases: {
|
||||||
|
"$1==<": { token: "@rematch", switchTo: `@default_angle_${is.id}` },
|
||||||
|
"$1==[": { token: "@rematch", switchTo: `@default_bracket_${is.id}` }
|
||||||
|
}
|
||||||
|
} : [
|
||||||
|
{ token: "@brackets.directive" },
|
||||||
|
{ token: "delimiter.directive" },
|
||||||
|
{ token: "tag.invalid", next: s("@fmExpression__id__.directive") }
|
||||||
|
]
|
||||||
|
]
|
||||||
|
],
|
||||||
|
// <DEFAULT, NO_DIRECTIVE> TOKEN :
|
||||||
|
[s("interpolation_and_text_token__id__")]: [
|
||||||
|
// <DOLLAR_INTERPOLATION_OPENING : "${"> { startInterpolation(matchedToken); }
|
||||||
|
// <SQUARE_BRACKET_INTERPOLATION_OPENING : "[="> { startInterpolation(matchedToken); }
|
||||||
|
[
|
||||||
|
r(/(@iOpen1__id__)(@iOpen2__id__)/),
|
||||||
|
[
|
||||||
|
{ token: is.id === "bracket" ? "@brackets.interpolation" : "delimiter.interpolation" },
|
||||||
|
{
|
||||||
|
token: is.id === "bracket" ? "delimiter.interpolation" : "@brackets.interpolation",
|
||||||
|
next: s("@fmExpression__id__.interpolation")
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
// <STATIC_TEXT_FALSE_ALARM : "$" | "#" | "<" | "[" | "{"> // to handle a lone dollar sign or "<" or "# or <@ with whitespace after"
|
||||||
|
// <STATIC_TEXT_WS : ("\n" | "\r" | "\t" | " ")+>
|
||||||
|
// <STATIC_TEXT_NON_WS : (~["$", "<", "#", "[", "{", "\n", "\r", "\t", " "])+>
|
||||||
|
[/[\$#<\[\{]|(?:@blank)+|[^\$<#\[\{\n\r\t ]+/, { token: "source" }]
|
||||||
|
],
|
||||||
|
// <STRING_LITERAL :
|
||||||
|
// (
|
||||||
|
// "\""
|
||||||
|
// ((~["\"", "\\"]) | <ESCAPED_CHAR>)*
|
||||||
|
// "\""
|
||||||
|
// )
|
||||||
|
// |
|
||||||
|
// (
|
||||||
|
// "'"
|
||||||
|
// ((~["'", "\\"]) | <ESCAPED_CHAR>)*
|
||||||
|
// "'"
|
||||||
|
// )
|
||||||
|
// >
|
||||||
|
[s("string_single_token__id__")]: [
|
||||||
|
[/[^'\\]/, { token: "string" }],
|
||||||
|
[/@escapedChar/, { token: "string.escape" }],
|
||||||
|
[/'/, { token: "string", next: "@pop" }]
|
||||||
|
],
|
||||||
|
[s("string_double_token__id__")]: [
|
||||||
|
[/[^"\\]/, { token: "string" }],
|
||||||
|
[/@escapedChar/, { token: "string.escape" }],
|
||||||
|
[/"/, { token: "string", next: "@pop" }]
|
||||||
|
],
|
||||||
|
// <RAW_STRING : "r" (("\"" (~["\""])* "\"") | ("'" (~["'"])* "'"))>
|
||||||
|
[s("string_single_raw_token__id__")]: [
|
||||||
|
[/[^']+/, { token: "string.raw" }],
|
||||||
|
[/'/, { token: "string.raw", next: "@pop" }]
|
||||||
|
],
|
||||||
|
[s("string_double_raw_token__id__")]: [
|
||||||
|
[/[^"]+/, { token: "string.raw" }],
|
||||||
|
[/"/, { token: "string.raw", next: "@pop" }]
|
||||||
|
],
|
||||||
|
// <FM_EXPRESSION, IN_PAREN, NO_SPACE_EXPRESSION, NAMED_PARAMETER_EXPRESSION> TOKEN :
|
||||||
|
[s("expression_token__id__")]: [
|
||||||
|
// Strings
|
||||||
|
[
|
||||||
|
/(r?)(['"])/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"r'": [
|
||||||
|
{ token: "keyword" },
|
||||||
|
{ token: "string.raw", next: s("@rawSingleString__id__") }
|
||||||
|
],
|
||||||
|
'r"': [
|
||||||
|
{ token: "keyword" },
|
||||||
|
{ token: "string.raw", next: s("@rawDoubleString__id__") }
|
||||||
|
],
|
||||||
|
"'": [{ token: "source" }, { token: "string", next: s("@singleString__id__") }],
|
||||||
|
'"': [{ token: "source" }, { token: "string", next: s("@doubleString__id__") }]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// Numbers
|
||||||
|
// <INTEGER : (["0"-"9"])+>
|
||||||
|
// <DECIMAL : <INTEGER> "." <INTEGER>>
|
||||||
|
[
|
||||||
|
/(?:@integer)(?:\.(?:@integer))?/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"(?:@integer)": { token: "number" },
|
||||||
|
"@default": { token: "number.float" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// Special hash keys that must not be treated as identifiers
|
||||||
|
// after a period, e.g. a.** is accessing the key "**" of a
|
||||||
|
[
|
||||||
|
/(\.)(@blank*)(@specialHashKeys)/,
|
||||||
|
[{ token: "delimiter" }, { token: "" }, { token: "identifier" }]
|
||||||
|
],
|
||||||
|
// Symbols / operators
|
||||||
|
[
|
||||||
|
/(?:@namedSymbols)/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@arrows": { token: "meta.arrow" },
|
||||||
|
"@delimiters": { token: "delimiter" },
|
||||||
|
"@default": { token: "operators" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// Identifiers
|
||||||
|
[
|
||||||
|
/@id/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@keywords": { token: "keyword.$0" },
|
||||||
|
"@stringOperators": { token: "operators" },
|
||||||
|
"@default": { token: "identifier" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// <OPEN_BRACKET : "[">
|
||||||
|
// <CLOSE_BRACKET : "]">
|
||||||
|
// <OPEN_PAREN : "(">
|
||||||
|
// <CLOSE_PAREN : ")">
|
||||||
|
// <OPENING_CURLY_BRACKET : "{">
|
||||||
|
// <CLOSING_CURLY_BRACKET : "}">
|
||||||
|
[
|
||||||
|
/[\[\]\(\)\{\}]/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"\\[": {
|
||||||
|
cases: {
|
||||||
|
"$S2==gt": { token: "@brackets", next: s("@inParen__id__.gt") },
|
||||||
|
"@default": { token: "@brackets", next: s("@inParen__id__.plain") }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"\\]": {
|
||||||
|
cases: {
|
||||||
|
...is.id === "bracket" ? {
|
||||||
|
"$S2==interpolation": { token: "@brackets.interpolation", next: "@popall" }
|
||||||
|
} : {},
|
||||||
|
// This cannot happen while in auto mode, since this applies only to an
|
||||||
|
// fmExpression inside a directive. But once we encounter the start of a
|
||||||
|
// directive, we can establish the tag syntax mode.
|
||||||
|
...ts.id === "bracket" ? {
|
||||||
|
"$S2==directive": { token: "@brackets.directive", next: "@popall" }
|
||||||
|
} : {},
|
||||||
|
// Ignore mismatched paren
|
||||||
|
[s("$S1==inParen__id__")]: { token: "@brackets", next: "@pop" },
|
||||||
|
"@default": { token: "@brackets" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"\\(": { token: "@brackets", next: s("@inParen__id__.gt") },
|
||||||
|
"\\)": {
|
||||||
|
cases: {
|
||||||
|
[s("$S1==inParen__id__")]: { token: "@brackets", next: "@pop" },
|
||||||
|
"@default": { token: "@brackets" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"\\{": {
|
||||||
|
cases: {
|
||||||
|
"$S2==gt": { token: "@brackets", next: s("@inParen__id__.gt") },
|
||||||
|
"@default": { token: "@brackets", next: s("@inParen__id__.plain") }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"\\}": {
|
||||||
|
cases: {
|
||||||
|
...is.id === "bracket" ? {} : {
|
||||||
|
"$S2==interpolation": { token: "@brackets.interpolation", next: "@popall" }
|
||||||
|
},
|
||||||
|
// Ignore mismatched paren
|
||||||
|
[s("$S1==inParen__id__")]: { token: "@brackets", next: "@pop" },
|
||||||
|
"@default": { token: "@brackets" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// <OPEN_MISPLACED_INTERPOLATION : "${" | "#{" | "[=">
|
||||||
|
[/\$\{/, { token: "delimiter.invalid" }]
|
||||||
|
],
|
||||||
|
// <FM_EXPRESSION, IN_PAREN, NAMED_PARAMETER_EXPRESSION> SKIP :
|
||||||
|
[s("blank_and_expression_comment_token__id__")]: [
|
||||||
|
// < ( " " | "\t" | "\n" | "\r" )+ >
|
||||||
|
[/(?:@blank)+/, { token: "" }],
|
||||||
|
// < ("<" | "[") ("#" | "!") "--"> : EXPRESSION_COMMENT
|
||||||
|
[/[<\[][#!]--/, { token: "comment", next: s("@expressionComment__id__") }]
|
||||||
|
],
|
||||||
|
// <FM_EXPRESSION, NO_SPACE_EXPRESSION, NAMED_PARAMETER_EXPRESSION> TOKEN :
|
||||||
|
[s("directive_end_token__id__")]: [
|
||||||
|
// <DIRECTIVE_END : ">">
|
||||||
|
// {
|
||||||
|
// if (inFTLHeader) {
|
||||||
|
// eatNewline();
|
||||||
|
// inFTLHeader = false;
|
||||||
|
// }
|
||||||
|
// if (squBracTagSyntax || postInterpolationLexState != -1 /* We are in an interpolation */) {
|
||||||
|
// matchedToken.kind = NATURAL_GT;
|
||||||
|
// } else {
|
||||||
|
// SwitchTo(DEFAULT);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// This cannot happen while in auto mode, since this applies only to an
|
||||||
|
// fmExpression inside a directive. But once we encounter the start of a
|
||||||
|
// directive, we can establish the tag syntax mode.
|
||||||
|
[
|
||||||
|
/>/,
|
||||||
|
ts.id === "bracket" ? { token: "operators" } : { token: "@brackets.directive", next: "@popall" }
|
||||||
|
],
|
||||||
|
// <EMPTY_DIRECTIVE_END : "/>" | "/]">
|
||||||
|
// It is a syntax error to end a tag with the wrong close token
|
||||||
|
// Let's indicate that to the user by not closing the tag
|
||||||
|
[
|
||||||
|
r(/(\/)(@close__id__)/),
|
||||||
|
[{ token: "delimiter.directive" }, { token: "@brackets.directive", next: "@popall" }]
|
||||||
|
]
|
||||||
|
],
|
||||||
|
// <IN_PAREN> TOKEN :
|
||||||
|
[s("greater_operators_token__id__")]: [
|
||||||
|
// <NATURAL_GT : ">">
|
||||||
|
[/>/, { token: "operators" }],
|
||||||
|
// <NATURAL_GTE : ">=">
|
||||||
|
[/>=/, { token: "operators" }]
|
||||||
|
],
|
||||||
|
// <NO_SPACE_EXPRESSION> TOKEN :
|
||||||
|
[s("no_space_expression_end_token__id__")]: [
|
||||||
|
// <TERMINATING_WHITESPACE : (["\n", "\r", "\t", " "])+> : FM_EXPRESSION
|
||||||
|
[/(?:@blank)+/, { token: "", switchTo: s("@fmExpression__id__.directive") }]
|
||||||
|
],
|
||||||
|
[s("unified_call_token__id__")]: [
|
||||||
|
// Special case for a call where the expression is just an ID
|
||||||
|
// <UNIFIED_CALL> <ID> <BLANK>+
|
||||||
|
[
|
||||||
|
/(@id)((?:@blank)+)/,
|
||||||
|
[{ token: "tag" }, { token: "", next: s("@fmExpression__id__.directive") }]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
r(/(@id)(\/?)(@close__id__)/),
|
||||||
|
[
|
||||||
|
{ token: "tag" },
|
||||||
|
{ token: "delimiter.directive" },
|
||||||
|
{ token: "@brackets.directive", next: "@popall" }
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[/./, { token: "@rematch", next: s("@noSpaceExpression__id__") }]
|
||||||
|
],
|
||||||
|
// <NO_PARSE> TOKEN :
|
||||||
|
[s("no_parse_token__id__")]: [
|
||||||
|
// <MAYBE_END :
|
||||||
|
// ("<" | "[")
|
||||||
|
// "/"
|
||||||
|
// ("#")?
|
||||||
|
// (["a"-"z", "A"-"Z"])+
|
||||||
|
// ( " " | "\t" | "\n" | "\r" )*
|
||||||
|
// (">" | "]")
|
||||||
|
// >
|
||||||
|
[
|
||||||
|
r(/(@open__id__)(\/#?)([a-zA-Z]+)((?:@blank)*)(@close__id__)/),
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$S2==$3": [
|
||||||
|
{ token: "@brackets.directive" },
|
||||||
|
{ token: "delimiter.directive" },
|
||||||
|
{ token: "tag" },
|
||||||
|
{ token: "" },
|
||||||
|
{ token: "@brackets.directive", next: "@popall" }
|
||||||
|
],
|
||||||
|
"$S2==comment": [
|
||||||
|
{ token: "comment" },
|
||||||
|
{ token: "comment" },
|
||||||
|
{ token: "comment" },
|
||||||
|
{ token: "comment" },
|
||||||
|
{ token: "comment" }
|
||||||
|
],
|
||||||
|
"@default": [
|
||||||
|
{ token: "source" },
|
||||||
|
{ token: "source" },
|
||||||
|
{ token: "source" },
|
||||||
|
{ token: "source" },
|
||||||
|
{ token: "source" }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// <KEEP_GOING : (~["<", "[", "-"])+>
|
||||||
|
// <LONE_LESS_THAN_OR_DASH : ["<", "[", "-"]>
|
||||||
|
[
|
||||||
|
/[^<\[\-]+|[<\[\-]/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$S2==comment": { token: "comment" },
|
||||||
|
"@default": { token: "source" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
// <EXPRESSION_COMMENT> SKIP:
|
||||||
|
[s("expression_comment_token__id__")]: [
|
||||||
|
// < "-->" | "--]">
|
||||||
|
[
|
||||||
|
/--[>\]]/,
|
||||||
|
{
|
||||||
|
token: "comment",
|
||||||
|
next: "@pop"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// < (~["-", ">", "]"])+ >
|
||||||
|
// < ">">
|
||||||
|
// < "]">
|
||||||
|
// < "-">
|
||||||
|
[/[^\->\]]+|[>\]\-]/, { token: "comment" }]
|
||||||
|
],
|
||||||
|
[s("terse_comment_token__id__")]: [
|
||||||
|
// <TERSE_COMMENT_END : "-->" | "--]">
|
||||||
|
[r(/--(?:@close__id__)/), { token: "comment", next: "@popall" }],
|
||||||
|
// <KEEP_GOING : (~["<", "[", "-"])+>
|
||||||
|
// <LONE_LESS_THAN_OR_DASH : ["<", "[", "-"]>
|
||||||
|
[/[^<\[\-]+|[<\[\-]/, { token: "comment" }]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
function createMonarchLanguageAuto(is) {
|
||||||
|
const angle = createMonarchLanguage(TagSyntaxAngle, is);
|
||||||
|
const bracket = createMonarchLanguage(TagSyntaxBracket, is);
|
||||||
|
const auto = createMonarchLanguage(TagSyntaxAuto, is);
|
||||||
|
return {
|
||||||
|
// Angle and bracket syntax mode
|
||||||
|
// We switch to one of these once we have determined the mode
|
||||||
|
...angle,
|
||||||
|
...bracket,
|
||||||
|
...auto,
|
||||||
|
// Settings
|
||||||
|
unicode: true,
|
||||||
|
includeLF: false,
|
||||||
|
start: `default_auto_${is.id}`,
|
||||||
|
ignoreCase: false,
|
||||||
|
defaultToken: "invalid",
|
||||||
|
tokenPostfix: `.freemarker2`,
|
||||||
|
brackets: [
|
||||||
|
{ open: "{", close: "}", token: "delimiter.curly" },
|
||||||
|
{ open: "[", close: "]", token: "delimiter.square" },
|
||||||
|
{ open: "(", close: ")", token: "delimiter.parenthesis" },
|
||||||
|
{ open: "<", close: ">", token: "delimiter.angle" }
|
||||||
|
],
|
||||||
|
tokenizer: {
|
||||||
|
...angle.tokenizer,
|
||||||
|
...bracket.tokenizer,
|
||||||
|
...auto.tokenizer
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
const TagAngleInterpolationDollar = {
|
||||||
|
conf: createLangConfiguration(TagSyntaxAngle),
|
||||||
|
language: createMonarchLanguage(TagSyntaxAngle, InterpolationSyntaxDollar)
|
||||||
|
};
|
||||||
|
const TagBracketInterpolationDollar = {
|
||||||
|
conf: createLangConfiguration(TagSyntaxBracket),
|
||||||
|
language: createMonarchLanguage(TagSyntaxBracket, InterpolationSyntaxDollar)
|
||||||
|
};
|
||||||
|
const TagAngleInterpolationBracket = {
|
||||||
|
conf: createLangConfiguration(TagSyntaxAngle),
|
||||||
|
language: createMonarchLanguage(TagSyntaxAngle, InterpolationSyntaxBracket)
|
||||||
|
};
|
||||||
|
const TagBracketInterpolationBracket = {
|
||||||
|
conf: createLangConfiguration(TagSyntaxBracket),
|
||||||
|
language: createMonarchLanguage(TagSyntaxBracket, InterpolationSyntaxBracket)
|
||||||
|
};
|
||||||
|
const TagAutoInterpolationDollar = {
|
||||||
|
conf: createLangConfigurationAuto(),
|
||||||
|
language: createMonarchLanguageAuto(InterpolationSyntaxDollar)
|
||||||
|
};
|
||||||
|
const TagAutoInterpolationBracket = {
|
||||||
|
conf: createLangConfigurationAuto(),
|
||||||
|
language: createMonarchLanguageAuto(InterpolationSyntaxBracket)
|
||||||
|
};
|
||||||
|
exports.TagAngleInterpolationBracket = TagAngleInterpolationBracket;
|
||||||
|
exports.TagAngleInterpolationDollar = TagAngleInterpolationDollar;
|
||||||
|
exports.TagAutoInterpolationBracket = TagAutoInterpolationBracket;
|
||||||
|
exports.TagAutoInterpolationDollar = TagAutoInterpolationDollar;
|
||||||
|
exports.TagBracketInterpolationBracket = TagBracketInterpolationBracket;
|
||||||
|
exports.TagBracketInterpolationDollar = TagBracketInterpolationDollar;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
220
_internal/editor/dev/vs/fsharp-DHdXPb1O.js
Normal file
220
_internal/editor/dev/vs/fsharp-DHdXPb1O.js
Normal file
@@ -0,0 +1,220 @@
|
|||||||
|
define("vs/fsharp-DHdXPb1O", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: "//",
|
||||||
|
blockComment: ["(*", "*)"]
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
],
|
||||||
|
folding: {
|
||||||
|
markers: {
|
||||||
|
start: new RegExp("^\\s*//\\s*#region\\b|^\\s*\\(\\*\\s*#region(.*)\\*\\)"),
|
||||||
|
end: new RegExp("^\\s*//\\s*#endregion\\b|^\\s*\\(\\*\\s*#endregion\\s*\\*\\)")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".fs",
|
||||||
|
keywords: [
|
||||||
|
"abstract",
|
||||||
|
"and",
|
||||||
|
"atomic",
|
||||||
|
"as",
|
||||||
|
"assert",
|
||||||
|
"asr",
|
||||||
|
"base",
|
||||||
|
"begin",
|
||||||
|
"break",
|
||||||
|
"checked",
|
||||||
|
"component",
|
||||||
|
"const",
|
||||||
|
"constraint",
|
||||||
|
"constructor",
|
||||||
|
"continue",
|
||||||
|
"class",
|
||||||
|
"default",
|
||||||
|
"delegate",
|
||||||
|
"do",
|
||||||
|
"done",
|
||||||
|
"downcast",
|
||||||
|
"downto",
|
||||||
|
"elif",
|
||||||
|
"else",
|
||||||
|
"end",
|
||||||
|
"exception",
|
||||||
|
"eager",
|
||||||
|
"event",
|
||||||
|
"external",
|
||||||
|
"extern",
|
||||||
|
"false",
|
||||||
|
"finally",
|
||||||
|
"for",
|
||||||
|
"fun",
|
||||||
|
"function",
|
||||||
|
"fixed",
|
||||||
|
"functor",
|
||||||
|
"global",
|
||||||
|
"if",
|
||||||
|
"in",
|
||||||
|
"include",
|
||||||
|
"inherit",
|
||||||
|
"inline",
|
||||||
|
"interface",
|
||||||
|
"internal",
|
||||||
|
"land",
|
||||||
|
"lor",
|
||||||
|
"lsl",
|
||||||
|
"lsr",
|
||||||
|
"lxor",
|
||||||
|
"lazy",
|
||||||
|
"let",
|
||||||
|
"match",
|
||||||
|
"member",
|
||||||
|
"mod",
|
||||||
|
"module",
|
||||||
|
"mutable",
|
||||||
|
"namespace",
|
||||||
|
"method",
|
||||||
|
"mixin",
|
||||||
|
"new",
|
||||||
|
"not",
|
||||||
|
"null",
|
||||||
|
"of",
|
||||||
|
"open",
|
||||||
|
"or",
|
||||||
|
"object",
|
||||||
|
"override",
|
||||||
|
"private",
|
||||||
|
"parallel",
|
||||||
|
"process",
|
||||||
|
"protected",
|
||||||
|
"pure",
|
||||||
|
"public",
|
||||||
|
"rec",
|
||||||
|
"return",
|
||||||
|
"static",
|
||||||
|
"sealed",
|
||||||
|
"struct",
|
||||||
|
"sig",
|
||||||
|
"then",
|
||||||
|
"to",
|
||||||
|
"true",
|
||||||
|
"tailcall",
|
||||||
|
"trait",
|
||||||
|
"try",
|
||||||
|
"type",
|
||||||
|
"upcast",
|
||||||
|
"use",
|
||||||
|
"val",
|
||||||
|
"void",
|
||||||
|
"virtual",
|
||||||
|
"volatile",
|
||||||
|
"when",
|
||||||
|
"while",
|
||||||
|
"with",
|
||||||
|
"yield"
|
||||||
|
],
|
||||||
|
// 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})/,
|
||||||
|
integersuffix: /[uU]?[yslnLI]?/,
|
||||||
|
floatsuffix: /[fFmM]?/,
|
||||||
|
// The main tokenizer for our languages
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
// identifiers and keywords
|
||||||
|
[
|
||||||
|
/[a-zA-Z_]\w*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@keywords": { token: "keyword.$0" },
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// whitespace
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
// [< attributes >].
|
||||||
|
[/\[<.*>\]/, "annotation"],
|
||||||
|
// Preprocessor directive
|
||||||
|
[/^#(if|else|endif)/, "keyword"],
|
||||||
|
// delimiters and operators
|
||||||
|
[/[{}()\[\]]/, "@brackets"],
|
||||||
|
[/[<>](?!@symbols)/, "@brackets"],
|
||||||
|
[/@symbols/, "delimiter"],
|
||||||
|
// numbers
|
||||||
|
[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/, "number.float"],
|
||||||
|
[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/, "number.float"],
|
||||||
|
[/0x[0-9a-fA-F]+LF/, "number.float"],
|
||||||
|
[/0x[0-9a-fA-F]+(@integersuffix)/, "number.hex"],
|
||||||
|
[/0b[0-1]+(@integersuffix)/, "number.bin"],
|
||||||
|
[/\d+(@integersuffix)/, "number"],
|
||||||
|
// delimiter: after number because of .\d floats
|
||||||
|
[/[;,.]/, "delimiter"],
|
||||||
|
// strings
|
||||||
|
[/"([^"\\]|\\.)*$/, "string.invalid"],
|
||||||
|
// non-teminated string
|
||||||
|
[/"""/, "string", '@string."""'],
|
||||||
|
[/"/, "string", '@string."'],
|
||||||
|
// literal string
|
||||||
|
[/\@"/, { token: "string.quote", next: "@litstring" }],
|
||||||
|
// characters
|
||||||
|
[/'[^\\']'B?/, "string"],
|
||||||
|
[/(')(@escapes)(')/, ["string", "string.escape", "string"]],
|
||||||
|
[/'/, "string.invalid"]
|
||||||
|
],
|
||||||
|
whitespace: [
|
||||||
|
[/[ \t\r\n]+/, ""],
|
||||||
|
[/\(\*(?!\))/, "comment", "@comment"],
|
||||||
|
[/\/\/.*$/, "comment"]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
[/[^*(]+/, "comment"],
|
||||||
|
[/\*\)/, "comment", "@pop"],
|
||||||
|
[/\*/, "comment"],
|
||||||
|
[/\(\*\)/, "comment"],
|
||||||
|
[/\(/, "comment"]
|
||||||
|
],
|
||||||
|
string: [
|
||||||
|
[/[^\\"]+/, "string"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/\\./, "string.escape.invalid"],
|
||||||
|
[
|
||||||
|
/("""|"B?)/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$#==$S2": { token: "string", next: "@pop" },
|
||||||
|
"@default": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
litstring: [
|
||||||
|
[/[^"]+/, "string"],
|
||||||
|
[/""/, "string.escape"],
|
||||||
|
[/"/, { token: "string.quote", next: "@pop" }]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
221
_internal/editor/dev/vs/go-DcS9_gMe.js
Normal file
221
_internal/editor/dev/vs/go-DcS9_gMe.js
Normal file
@@ -0,0 +1,221 @@
|
|||||||
|
define("vs/go-DcS9_gMe", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: "//",
|
||||||
|
blockComment: ["/*", "*/"]
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: "`", close: "`", notIn: ["string"] },
|
||||||
|
{ open: '"', close: '"', notIn: ["string"] },
|
||||||
|
{ open: "'", close: "'", notIn: ["string", "comment"] }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: "`", close: "`" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
]
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".go",
|
||||||
|
keywords: [
|
||||||
|
"break",
|
||||||
|
"case",
|
||||||
|
"chan",
|
||||||
|
"const",
|
||||||
|
"continue",
|
||||||
|
"default",
|
||||||
|
"defer",
|
||||||
|
"else",
|
||||||
|
"fallthrough",
|
||||||
|
"for",
|
||||||
|
"func",
|
||||||
|
"go",
|
||||||
|
"goto",
|
||||||
|
"if",
|
||||||
|
"import",
|
||||||
|
"interface",
|
||||||
|
"map",
|
||||||
|
"package",
|
||||||
|
"range",
|
||||||
|
"return",
|
||||||
|
"select",
|
||||||
|
"struct",
|
||||||
|
"switch",
|
||||||
|
"type",
|
||||||
|
"var",
|
||||||
|
"bool",
|
||||||
|
"true",
|
||||||
|
"false",
|
||||||
|
"uint8",
|
||||||
|
"uint16",
|
||||||
|
"uint32",
|
||||||
|
"uint64",
|
||||||
|
"int8",
|
||||||
|
"int16",
|
||||||
|
"int32",
|
||||||
|
"int64",
|
||||||
|
"float32",
|
||||||
|
"float64",
|
||||||
|
"complex64",
|
||||||
|
"complex128",
|
||||||
|
"byte",
|
||||||
|
"rune",
|
||||||
|
"uint",
|
||||||
|
"int",
|
||||||
|
"uintptr",
|
||||||
|
"string",
|
||||||
|
"nil"
|
||||||
|
],
|
||||||
|
operators: [
|
||||||
|
"+",
|
||||||
|
"-",
|
||||||
|
"*",
|
||||||
|
"/",
|
||||||
|
"%",
|
||||||
|
"&",
|
||||||
|
"|",
|
||||||
|
"^",
|
||||||
|
"<<",
|
||||||
|
">>",
|
||||||
|
"&^",
|
||||||
|
"+=",
|
||||||
|
"-=",
|
||||||
|
"*=",
|
||||||
|
"/=",
|
||||||
|
"%=",
|
||||||
|
"&=",
|
||||||
|
"|=",
|
||||||
|
"^=",
|
||||||
|
"<<=",
|
||||||
|
">>=",
|
||||||
|
"&^=",
|
||||||
|
"&&",
|
||||||
|
"||",
|
||||||
|
"<-",
|
||||||
|
"++",
|
||||||
|
"--",
|
||||||
|
"==",
|
||||||
|
"<",
|
||||||
|
">",
|
||||||
|
"=",
|
||||||
|
"!",
|
||||||
|
"!=",
|
||||||
|
"<=",
|
||||||
|
">=",
|
||||||
|
":=",
|
||||||
|
"...",
|
||||||
|
"(",
|
||||||
|
")",
|
||||||
|
"",
|
||||||
|
"]",
|
||||||
|
"{",
|
||||||
|
"}",
|
||||||
|
",",
|
||||||
|
";",
|
||||||
|
".",
|
||||||
|
":"
|
||||||
|
],
|
||||||
|
// 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: [
|
||||||
|
// identifiers and keywords
|
||||||
|
[
|
||||||
|
/[a-zA-Z_]\w*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@keywords": { token: "keyword.$0" },
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// whitespace
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
// [[ attributes ]].
|
||||||
|
[/\[\[.*\]\]/, "annotation"],
|
||||||
|
// Preprocessor directive
|
||||||
|
[/^\s*#\w+/, "keyword"],
|
||||||
|
// delimiters and operators
|
||||||
|
[/[{}()\[\]]/, "@brackets"],
|
||||||
|
[/[<>](?!@symbols)/, "@brackets"],
|
||||||
|
[
|
||||||
|
/@symbols/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@operators": "delimiter",
|
||||||
|
"@default": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// numbers
|
||||||
|
[/\d*\d+[eE]([\-+]?\d+)?/, "number.float"],
|
||||||
|
[/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
|
||||||
|
[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/, "number.hex"],
|
||||||
|
[/0[0-7']*[0-7]/, "number.octal"],
|
||||||
|
[/0[bB][0-1']*[0-1]/, "number.binary"],
|
||||||
|
[/\d[\d']*/, "number"],
|
||||||
|
[/\d/, "number"],
|
||||||
|
// delimiter: after number because of .\d floats
|
||||||
|
[/[;,.]/, "delimiter"],
|
||||||
|
// strings
|
||||||
|
[/"([^"\\]|\\.)*$/, "string.invalid"],
|
||||||
|
// non-teminated string
|
||||||
|
[/"/, "string", "@string"],
|
||||||
|
[/`/, "string", "@rawstring"],
|
||||||
|
// characters
|
||||||
|
[/'[^\\']'/, "string"],
|
||||||
|
[/(')(@escapes)(')/, ["string", "string.escape", "string"]],
|
||||||
|
[/'/, "string.invalid"]
|
||||||
|
],
|
||||||
|
whitespace: [
|
||||||
|
[/[ \t\r\n]+/, ""],
|
||||||
|
[/\/\*\*(?!\/)/, "comment.doc", "@doccomment"],
|
||||||
|
[/\/\*/, "comment", "@comment"],
|
||||||
|
[/\/\/.*$/, "comment"]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
[/[^\/*]+/, "comment"],
|
||||||
|
// [/\/\*/, 'comment', '@push' ], // nested comment not allowed :-(
|
||||||
|
// [/\/\*/, 'comment.invalid' ], // this breaks block comments in the shape of /* //*/
|
||||||
|
[/\*\//, "comment", "@pop"],
|
||||||
|
[/[\/*]/, "comment"]
|
||||||
|
],
|
||||||
|
//Identical copy of comment above, except for the addition of .doc
|
||||||
|
doccomment: [
|
||||||
|
[/[^\/*]+/, "comment.doc"],
|
||||||
|
// [/\/\*/, 'comment.doc', '@push' ], // nested comment not allowed :-(
|
||||||
|
[/\/\*/, "comment.doc.invalid"],
|
||||||
|
[/\*\//, "comment.doc", "@pop"],
|
||||||
|
[/[\/*]/, "comment.doc"]
|
||||||
|
],
|
||||||
|
string: [
|
||||||
|
[/[^\\"]+/, "string"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/\\./, "string.escape.invalid"],
|
||||||
|
[/"/, "string", "@pop"]
|
||||||
|
],
|
||||||
|
rawstring: [
|
||||||
|
[/[^\`]/, "string"],
|
||||||
|
[/`/, "string", "@pop"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
154
_internal/editor/dev/vs/graphql-CHzgmf8E.js
Normal file
154
_internal/editor/dev/vs/graphql-CHzgmf8E.js
Normal file
@@ -0,0 +1,154 @@
|
|||||||
|
define("vs/graphql-CHzgmf8E", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: "#"
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"""', close: '"""', notIn: ["string", "comment"] },
|
||||||
|
{ open: '"', close: '"', notIn: ["string", "comment"] }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"""', close: '"""' },
|
||||||
|
{ open: '"', close: '"' }
|
||||||
|
],
|
||||||
|
folding: {
|
||||||
|
offSide: true
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
// Set defaultToken to invalid to see what you do not tokenize yet
|
||||||
|
defaultToken: "invalid",
|
||||||
|
tokenPostfix: ".gql",
|
||||||
|
keywords: [
|
||||||
|
"null",
|
||||||
|
"true",
|
||||||
|
"false",
|
||||||
|
"query",
|
||||||
|
"mutation",
|
||||||
|
"subscription",
|
||||||
|
"extend",
|
||||||
|
"schema",
|
||||||
|
"directive",
|
||||||
|
"scalar",
|
||||||
|
"type",
|
||||||
|
"interface",
|
||||||
|
"union",
|
||||||
|
"enum",
|
||||||
|
"input",
|
||||||
|
"implements",
|
||||||
|
"fragment",
|
||||||
|
"on"
|
||||||
|
],
|
||||||
|
typeKeywords: ["Int", "Float", "String", "Boolean", "ID"],
|
||||||
|
directiveLocations: [
|
||||||
|
"SCHEMA",
|
||||||
|
"SCALAR",
|
||||||
|
"OBJECT",
|
||||||
|
"FIELD_DEFINITION",
|
||||||
|
"ARGUMENT_DEFINITION",
|
||||||
|
"INTERFACE",
|
||||||
|
"UNION",
|
||||||
|
"ENUM",
|
||||||
|
"ENUM_VALUE",
|
||||||
|
"INPUT_OBJECT",
|
||||||
|
"INPUT_FIELD_DEFINITION",
|
||||||
|
"QUERY",
|
||||||
|
"MUTATION",
|
||||||
|
"SUBSCRIPTION",
|
||||||
|
"FIELD",
|
||||||
|
"FRAGMENT_DEFINITION",
|
||||||
|
"FRAGMENT_SPREAD",
|
||||||
|
"INLINE_FRAGMENT",
|
||||||
|
"VARIABLE_DEFINITION"
|
||||||
|
],
|
||||||
|
operators: ["=", "!", "?", ":", "&", "|"],
|
||||||
|
// we include these common regular expressions
|
||||||
|
symbols: /[=!?:&|]+/,
|
||||||
|
// https://facebook.github.io/graphql/draft/#sec-String-Value
|
||||||
|
escapes: /\\(?:["\\\/bfnrt]|u[0-9A-Fa-f]{4})/,
|
||||||
|
// The main tokenizer for our languages
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
// fields and argument names
|
||||||
|
[
|
||||||
|
/[a-z_][\w$]*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@keywords": "keyword",
|
||||||
|
"@default": "key.identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// identify typed input variables
|
||||||
|
[
|
||||||
|
/[$][\w$]*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@keywords": "keyword",
|
||||||
|
"@default": "argument.identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// to show class names nicely
|
||||||
|
[
|
||||||
|
/[A-Z][\w\$]*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@typeKeywords": "keyword",
|
||||||
|
"@default": "type.identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// whitespace
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
// delimiters and operators
|
||||||
|
[/[{}()\[\]]/, "@brackets"],
|
||||||
|
[/@symbols/, { cases: { "@operators": "operator", "@default": "" } }],
|
||||||
|
// @ annotations.
|
||||||
|
// As an example, we emit a debugging log message on these tokens.
|
||||||
|
// Note: message are supressed during the first load -- change some lines to see them.
|
||||||
|
[/@\s*[a-zA-Z_\$][\w\$]*/, { token: "annotation", log: "annotation token: $0" }],
|
||||||
|
// numbers
|
||||||
|
[/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
|
||||||
|
[/0[xX][0-9a-fA-F]+/, "number.hex"],
|
||||||
|
[/\d+/, "number"],
|
||||||
|
// delimiter: after number because of .\d floats
|
||||||
|
[/[;,.]/, "delimiter"],
|
||||||
|
[/"""/, { token: "string", next: "@mlstring", nextEmbedded: "markdown" }],
|
||||||
|
// strings
|
||||||
|
[/"([^"\\]|\\.)*$/, "string.invalid"],
|
||||||
|
// non-teminated string
|
||||||
|
[/"/, { token: "string.quote", bracket: "@open", next: "@string" }]
|
||||||
|
],
|
||||||
|
mlstring: [
|
||||||
|
[/[^"]+/, "string"],
|
||||||
|
['"""', { token: "string", next: "@pop", nextEmbedded: "@pop" }]
|
||||||
|
],
|
||||||
|
string: [
|
||||||
|
[/[^\\"]+/, "string"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/\\./, "string.escape.invalid"],
|
||||||
|
[/"/, { token: "string.quote", bracket: "@close", next: "@pop" }]
|
||||||
|
],
|
||||||
|
whitespace: [
|
||||||
|
[/[ \t\r\n]+/, ""],
|
||||||
|
[/#.*$/, "comment"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
415
_internal/editor/dev/vs/handlebars-Cpd6mzVL.js
Normal file
415
_internal/editor/dev/vs/handlebars-Cpd6mzVL.js
Normal file
@@ -0,0 +1,415 @@
|
|||||||
|
define("vs/handlebars-Cpd6mzVL", ["exports", "./editor.api-BhD7pWdi"], (function(exports, editor_api) {
|
||||||
|
"use strict";
|
||||||
|
const EMPTY_ELEMENTS = [
|
||||||
|
"area",
|
||||||
|
"base",
|
||||||
|
"br",
|
||||||
|
"col",
|
||||||
|
"embed",
|
||||||
|
"hr",
|
||||||
|
"img",
|
||||||
|
"input",
|
||||||
|
"keygen",
|
||||||
|
"link",
|
||||||
|
"menuitem",
|
||||||
|
"meta",
|
||||||
|
"param",
|
||||||
|
"source",
|
||||||
|
"track",
|
||||||
|
"wbr"
|
||||||
|
];
|
||||||
|
const 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: new RegExp(
|
||||||
|
`<(?!(?:${EMPTY_ELEMENTS.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,
|
||||||
|
"i"
|
||||||
|
),
|
||||||
|
afterText: /^<\/(\w[\w\d]*)\s*>$/i,
|
||||||
|
action: {
|
||||||
|
indentAction: editor_api.languages.IndentAction.IndentOutdent
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
beforeText: new RegExp(
|
||||||
|
`<(?!(?:${EMPTY_ELEMENTS.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,
|
||||||
|
"i"
|
||||||
|
),
|
||||||
|
action: { indentAction: editor_api.languages.IndentAction.Indent }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: "",
|
||||||
|
// ignoreCase: true,
|
||||||
|
// The main tokenizer for our languages
|
||||||
|
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"],
|
||||||
|
[/[^<{]+/]
|
||||||
|
// text
|
||||||
|
],
|
||||||
|
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]+/]
|
||||||
|
// whitespace
|
||||||
|
],
|
||||||
|
// -- BEGIN <script> tags handling
|
||||||
|
// After <script
|
||||||
|
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]+/],
|
||||||
|
// whitespace
|
||||||
|
[
|
||||||
|
/(<\/)(script\s*)(>)/,
|
||||||
|
["delimiter.html", "tag.html", { token: "delimiter.html", next: "@pop" }]
|
||||||
|
]
|
||||||
|
],
|
||||||
|
// After <script ... type
|
||||||
|
scriptAfterType: [
|
||||||
|
[
|
||||||
|
/\{\{/,
|
||||||
|
{
|
||||||
|
token: "@rematch",
|
||||||
|
switchTo: "@handlebarsInSimpleState.scriptAfterType"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/=/, "delimiter", "@scriptAfterTypeEquals"],
|
||||||
|
[
|
||||||
|
/>/,
|
||||||
|
{
|
||||||
|
token: "delimiter.html",
|
||||||
|
next: "@scriptEmbedded.text/javascript",
|
||||||
|
nextEmbedded: "text/javascript"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// cover invalid e.g. <script type>
|
||||||
|
[/[ \t\r\n]+/],
|
||||||
|
// whitespace
|
||||||
|
[/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
|
||||||
|
],
|
||||||
|
// After <script ... type =
|
||||||
|
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"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// cover invalid e.g. <script type=>
|
||||||
|
[/[ \t\r\n]+/],
|
||||||
|
// whitespace
|
||||||
|
[/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
|
||||||
|
],
|
||||||
|
// After <script ... type = $S2
|
||||||
|
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]+/],
|
||||||
|
// whitespace
|
||||||
|
[/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
|
||||||
|
],
|
||||||
|
scriptEmbedded: [
|
||||||
|
[
|
||||||
|
/\{\{/,
|
||||||
|
{
|
||||||
|
token: "@rematch",
|
||||||
|
switchTo: "@handlebarsInEmbeddedState.scriptEmbedded.$S2",
|
||||||
|
nextEmbedded: "@pop"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/<\/script/, { token: "@rematch", next: "@pop", nextEmbedded: "@pop" }]
|
||||||
|
],
|
||||||
|
// -- END <script> tags handling
|
||||||
|
// -- BEGIN <style> tags handling
|
||||||
|
// After <style
|
||||||
|
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]+/],
|
||||||
|
// whitespace
|
||||||
|
[
|
||||||
|
/(<\/)(style\s*)(>)/,
|
||||||
|
["delimiter.html", "tag.html", { token: "delimiter.html", next: "@pop" }]
|
||||||
|
]
|
||||||
|
],
|
||||||
|
// After <style ... type
|
||||||
|
styleAfterType: [
|
||||||
|
[
|
||||||
|
/\{\{/,
|
||||||
|
{
|
||||||
|
token: "@rematch",
|
||||||
|
switchTo: "@handlebarsInSimpleState.styleAfterType"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/=/, "delimiter", "@styleAfterTypeEquals"],
|
||||||
|
[
|
||||||
|
/>/,
|
||||||
|
{
|
||||||
|
token: "delimiter.html",
|
||||||
|
next: "@styleEmbedded.text/css",
|
||||||
|
nextEmbedded: "text/css"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// cover invalid e.g. <style type>
|
||||||
|
[/[ \t\r\n]+/],
|
||||||
|
// whitespace
|
||||||
|
[/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
|
||||||
|
],
|
||||||
|
// After <style ... type =
|
||||||
|
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"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// cover invalid e.g. <style type=>
|
||||||
|
[/[ \t\r\n]+/],
|
||||||
|
// whitespace
|
||||||
|
[/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
|
||||||
|
],
|
||||||
|
// After <style ... type = $S2
|
||||||
|
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]+/],
|
||||||
|
// whitespace
|
||||||
|
[/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
|
||||||
|
],
|
||||||
|
styleEmbedded: [
|
||||||
|
[
|
||||||
|
/\{\{/,
|
||||||
|
{
|
||||||
|
token: "@rematch",
|
||||||
|
switchTo: "@handlebarsInEmbeddedState.styleEmbedded.$S2",
|
||||||
|
nextEmbedded: "@pop"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/<\/style/, { token: "@rematch", next: "@pop", nextEmbedded: "@pop" }]
|
||||||
|
],
|
||||||
|
// -- END <style> tags handling
|
||||||
|
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"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
186
_internal/editor/dev/vs/hcl-ChD4paVH.js
Normal file
186
_internal/editor/dev/vs/hcl-ChD4paVH.js
Normal file
@@ -0,0 +1,186 @@
|
|||||||
|
define("vs/hcl-ChD4paVH", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: "#",
|
||||||
|
blockComment: ["/*", "*/"]
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"', notIn: ["string"] }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' }
|
||||||
|
]
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".hcl",
|
||||||
|
keywords: [
|
||||||
|
"var",
|
||||||
|
"local",
|
||||||
|
"path",
|
||||||
|
"for_each",
|
||||||
|
"any",
|
||||||
|
"string",
|
||||||
|
"number",
|
||||||
|
"bool",
|
||||||
|
"true",
|
||||||
|
"false",
|
||||||
|
"null",
|
||||||
|
"if ",
|
||||||
|
"else ",
|
||||||
|
"endif ",
|
||||||
|
"for ",
|
||||||
|
"in",
|
||||||
|
"endfor"
|
||||||
|
],
|
||||||
|
operators: [
|
||||||
|
"=",
|
||||||
|
">=",
|
||||||
|
"<=",
|
||||||
|
"==",
|
||||||
|
"!=",
|
||||||
|
"+",
|
||||||
|
"-",
|
||||||
|
"*",
|
||||||
|
"/",
|
||||||
|
"%",
|
||||||
|
"&&",
|
||||||
|
"||",
|
||||||
|
"!",
|
||||||
|
"<",
|
||||||
|
">",
|
||||||
|
"?",
|
||||||
|
"...",
|
||||||
|
":"
|
||||||
|
],
|
||||||
|
symbols: /[=><!~?:&|+\-*\/\^%]+/,
|
||||||
|
escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
|
||||||
|
terraformFunctions: /(abs|ceil|floor|log|max|min|pow|signum|chomp|format|formatlist|indent|join|lower|regex|regexall|replace|split|strrev|substr|title|trimspace|upper|chunklist|coalesce|coalescelist|compact|concat|contains|distinct|element|flatten|index|keys|length|list|lookup|map|matchkeys|merge|range|reverse|setintersection|setproduct|setunion|slice|sort|transpose|values|zipmap|base64decode|base64encode|base64gzip|csvdecode|jsondecode|jsonencode|urlencode|yamldecode|yamlencode|abspath|dirname|pathexpand|basename|file|fileexists|fileset|filebase64|templatefile|formatdate|timeadd|timestamp|base64sha256|base64sha512|bcrypt|filebase64sha256|filebase64sha512|filemd5|filemd1|filesha256|filesha512|md5|rsadecrypt|sha1|sha256|sha512|uuid|uuidv5|cidrhost|cidrnetmask|cidrsubnet|tobool|tolist|tomap|tonumber|toset|tostring)/,
|
||||||
|
terraformMainBlocks: /(module|data|terraform|resource|provider|variable|output|locals)/,
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
// highlight main blocks
|
||||||
|
[
|
||||||
|
/^@terraformMainBlocks([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)(\{)/,
|
||||||
|
["type", "", "string", "", "string", "", "@brackets"]
|
||||||
|
],
|
||||||
|
// highlight all the remaining blocks
|
||||||
|
[
|
||||||
|
/(\w+[ \t]+)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)(\{)/,
|
||||||
|
["identifier", "", "string", "", "string", "", "@brackets"]
|
||||||
|
],
|
||||||
|
// highlight block
|
||||||
|
[
|
||||||
|
/(\w+[ \t]+)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)([\w-]+|"[\w-]+"|)(=)(\{)/,
|
||||||
|
["identifier", "", "string", "", "operator", "", "@brackets"]
|
||||||
|
],
|
||||||
|
// terraform general highlight - shared with expressions
|
||||||
|
{ include: "@terraform" }
|
||||||
|
],
|
||||||
|
terraform: [
|
||||||
|
// highlight terraform functions
|
||||||
|
[/@terraformFunctions(\()/, ["type", "@brackets"]],
|
||||||
|
// all other words are variables or keywords
|
||||||
|
[
|
||||||
|
/[a-zA-Z_]\w*-*/,
|
||||||
|
// must work with variables such as foo-bar and also with negative numbers
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@keywords": { token: "keyword.$0" },
|
||||||
|
"@default": "variable"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
{ include: "@heredoc" },
|
||||||
|
// delimiters and operators
|
||||||
|
[/[{}()\[\]]/, "@brackets"],
|
||||||
|
[/[<>](?!@symbols)/, "@brackets"],
|
||||||
|
[
|
||||||
|
/@symbols/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@operators": "operator",
|
||||||
|
"@default": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// numbers
|
||||||
|
[/\d*\d+[eE]([\-+]?\d+)?/, "number.float"],
|
||||||
|
[/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
|
||||||
|
[/\d[\d']*/, "number"],
|
||||||
|
[/\d/, "number"],
|
||||||
|
[/[;,.]/, "delimiter"],
|
||||||
|
// delimiter: after number because of .\d floats
|
||||||
|
// strings
|
||||||
|
[/"/, "string", "@string"],
|
||||||
|
// this will include expressions
|
||||||
|
[/'/, "invalid"]
|
||||||
|
],
|
||||||
|
heredoc: [
|
||||||
|
[/<<[-]*\s*["]?([\w\-]+)["]?/, { token: "string.heredoc.delimiter", next: "@heredocBody.$1" }]
|
||||||
|
],
|
||||||
|
heredocBody: [
|
||||||
|
[
|
||||||
|
/([\w\-]+)$/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$1==$S2": [
|
||||||
|
{
|
||||||
|
token: "string.heredoc.delimiter",
|
||||||
|
next: "@popall"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"@default": "string.heredoc"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/./, "string.heredoc"]
|
||||||
|
],
|
||||||
|
whitespace: [
|
||||||
|
[/[ \t\r\n]+/, ""],
|
||||||
|
[/\/\*/, "comment", "@comment"],
|
||||||
|
[/\/\/.*$/, "comment"],
|
||||||
|
[/#.*$/, "comment"]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
[/[^\/*]+/, "comment"],
|
||||||
|
[/\*\//, "comment", "@pop"],
|
||||||
|
[/[\/*]/, "comment"]
|
||||||
|
],
|
||||||
|
string: [
|
||||||
|
[/\$\{/, { token: "delimiter", next: "@stringExpression" }],
|
||||||
|
[/[^\\"\$]+/, "string"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/\\./, "string.escape.invalid"],
|
||||||
|
[/"/, "string", "@popall"]
|
||||||
|
],
|
||||||
|
stringInsideExpression: [
|
||||||
|
[/[^\\"]+/, "string"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/\\./, "string.escape.invalid"],
|
||||||
|
[/"/, "string", "@pop"]
|
||||||
|
],
|
||||||
|
stringExpression: [
|
||||||
|
[/\}/, { token: "delimiter", next: "@pop" }],
|
||||||
|
[/"/, "string", "@stringInsideExpression"],
|
||||||
|
{ include: "@terraform" }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
304
_internal/editor/dev/vs/html-L3fuhF-c.js
Normal file
304
_internal/editor/dev/vs/html-L3fuhF-c.js
Normal file
@@ -0,0 +1,304 @@
|
|||||||
|
define("vs/html-L3fuhF-c", ["exports", "./editor.api-BhD7pWdi"], (function(exports, editor_api) {
|
||||||
|
"use strict";
|
||||||
|
const EMPTY_ELEMENTS = [
|
||||||
|
"area",
|
||||||
|
"base",
|
||||||
|
"br",
|
||||||
|
"col",
|
||||||
|
"embed",
|
||||||
|
"hr",
|
||||||
|
"img",
|
||||||
|
"input",
|
||||||
|
"keygen",
|
||||||
|
"link",
|
||||||
|
"menuitem",
|
||||||
|
"meta",
|
||||||
|
"param",
|
||||||
|
"source",
|
||||||
|
"track",
|
||||||
|
"wbr"
|
||||||
|
];
|
||||||
|
const 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: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: "<", close: ">" }
|
||||||
|
],
|
||||||
|
onEnterRules: [
|
||||||
|
{
|
||||||
|
beforeText: new RegExp(
|
||||||
|
`<(?!(?:${EMPTY_ELEMENTS.join("|")}))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`,
|
||||||
|
"i"
|
||||||
|
),
|
||||||
|
afterText: /^<\/([_:\w][_:\w-.\d]*)\s*>$/i,
|
||||||
|
action: {
|
||||||
|
indentAction: editor_api.languages.IndentAction.IndentOutdent
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
beforeText: new RegExp(
|
||||||
|
`<(?!(?:${EMPTY_ELEMENTS.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,
|
||||||
|
"i"
|
||||||
|
),
|
||||||
|
action: { indentAction: editor_api.languages.IndentAction.Indent }
|
||||||
|
}
|
||||||
|
],
|
||||||
|
folding: {
|
||||||
|
markers: {
|
||||||
|
start: new RegExp("^\\s*<!--\\s*#region\\b.*-->"),
|
||||||
|
end: new RegExp("^\\s*<!--\\s*#endregion\\b.*-->")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".html",
|
||||||
|
ignoreCase: true,
|
||||||
|
// The main tokenizer for our languages
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
[/<!DOCTYPE/, "metatag", "@doctype"],
|
||||||
|
[/<!--/, "comment", "@comment"],
|
||||||
|
[/(<)((?:[\w\-]+:)?[\w\-]+)(\s*)(\/>)/, ["delimiter", "tag", "", "delimiter"]],
|
||||||
|
[/(<)(script)/, ["delimiter", { token: "tag", next: "@script" }]],
|
||||||
|
[/(<)(style)/, ["delimiter", { token: "tag", next: "@style" }]],
|
||||||
|
[/(<)((?:[\w\-]+:)?[\w\-]+)/, ["delimiter", { token: "tag", next: "@otherTag" }]],
|
||||||
|
[/(<\/)((?:[\w\-]+:)?[\w\-]+)/, ["delimiter", { token: "tag", next: "@otherTag" }]],
|
||||||
|
[/</, "delimiter"],
|
||||||
|
[/[^<]+/]
|
||||||
|
// text
|
||||||
|
],
|
||||||
|
doctype: [
|
||||||
|
[/[^>]+/, "metatag.content"],
|
||||||
|
[/>/, "metatag", "@pop"]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
[/-->/, "comment", "@pop"],
|
||||||
|
[/[^-]+/, "comment.content"],
|
||||||
|
[/./, "comment.content"]
|
||||||
|
],
|
||||||
|
otherTag: [
|
||||||
|
[/\/?>/, "delimiter", "@pop"],
|
||||||
|
[/"([^"]*)"/, "attribute.value"],
|
||||||
|
[/'([^']*)'/, "attribute.value"],
|
||||||
|
[/[\w\-]+/, "attribute.name"],
|
||||||
|
[/=/, "delimiter"],
|
||||||
|
[/[ \t\r\n]+/]
|
||||||
|
// whitespace
|
||||||
|
],
|
||||||
|
// -- BEGIN <script> tags handling
|
||||||
|
// After <script
|
||||||
|
script: [
|
||||||
|
[/type/, "attribute.name", "@scriptAfterType"],
|
||||||
|
[/"([^"]*)"/, "attribute.value"],
|
||||||
|
[/'([^']*)'/, "attribute.value"],
|
||||||
|
[/[\w\-]+/, "attribute.name"],
|
||||||
|
[/=/, "delimiter"],
|
||||||
|
[
|
||||||
|
/>/,
|
||||||
|
{
|
||||||
|
token: "delimiter",
|
||||||
|
next: "@scriptEmbedded",
|
||||||
|
nextEmbedded: "text/javascript"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/[ \t\r\n]+/],
|
||||||
|
// whitespace
|
||||||
|
[/(<\/)(script\s*)(>)/, ["delimiter", "tag", { token: "delimiter", next: "@pop" }]]
|
||||||
|
],
|
||||||
|
// After <script ... type
|
||||||
|
scriptAfterType: [
|
||||||
|
[/=/, "delimiter", "@scriptAfterTypeEquals"],
|
||||||
|
[
|
||||||
|
/>/,
|
||||||
|
{
|
||||||
|
token: "delimiter",
|
||||||
|
next: "@scriptEmbedded",
|
||||||
|
nextEmbedded: "text/javascript"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// cover invalid e.g. <script type>
|
||||||
|
[/[ \t\r\n]+/],
|
||||||
|
// whitespace
|
||||||
|
[/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
|
||||||
|
],
|
||||||
|
// After <script ... type =
|
||||||
|
scriptAfterTypeEquals: [
|
||||||
|
[
|
||||||
|
/"module"/,
|
||||||
|
{
|
||||||
|
token: "attribute.value",
|
||||||
|
switchTo: "@scriptWithCustomType.text/javascript"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/'module'/,
|
||||||
|
{
|
||||||
|
token: "attribute.value",
|
||||||
|
switchTo: "@scriptWithCustomType.text/javascript"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/"([^"]*)"/,
|
||||||
|
{
|
||||||
|
token: "attribute.value",
|
||||||
|
switchTo: "@scriptWithCustomType.$1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/'([^']*)'/,
|
||||||
|
{
|
||||||
|
token: "attribute.value",
|
||||||
|
switchTo: "@scriptWithCustomType.$1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/>/,
|
||||||
|
{
|
||||||
|
token: "delimiter",
|
||||||
|
next: "@scriptEmbedded",
|
||||||
|
nextEmbedded: "text/javascript"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// cover invalid e.g. <script type=>
|
||||||
|
[/[ \t\r\n]+/],
|
||||||
|
// whitespace
|
||||||
|
[/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
|
||||||
|
],
|
||||||
|
// After <script ... type = $S2
|
||||||
|
scriptWithCustomType: [
|
||||||
|
[
|
||||||
|
/>/,
|
||||||
|
{
|
||||||
|
token: "delimiter",
|
||||||
|
next: "@scriptEmbedded.$S2",
|
||||||
|
nextEmbedded: "$S2"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/"([^"]*)"/, "attribute.value"],
|
||||||
|
[/'([^']*)'/, "attribute.value"],
|
||||||
|
[/[\w\-]+/, "attribute.name"],
|
||||||
|
[/=/, "delimiter"],
|
||||||
|
[/[ \t\r\n]+/],
|
||||||
|
// whitespace
|
||||||
|
[/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
|
||||||
|
],
|
||||||
|
scriptEmbedded: [
|
||||||
|
[/<\/script/, { token: "@rematch", next: "@pop", nextEmbedded: "@pop" }],
|
||||||
|
[/[^<]+/, ""]
|
||||||
|
],
|
||||||
|
// -- END <script> tags handling
|
||||||
|
// -- BEGIN <style> tags handling
|
||||||
|
// After <style
|
||||||
|
style: [
|
||||||
|
[/type/, "attribute.name", "@styleAfterType"],
|
||||||
|
[/"([^"]*)"/, "attribute.value"],
|
||||||
|
[/'([^']*)'/, "attribute.value"],
|
||||||
|
[/[\w\-]+/, "attribute.name"],
|
||||||
|
[/=/, "delimiter"],
|
||||||
|
[
|
||||||
|
/>/,
|
||||||
|
{
|
||||||
|
token: "delimiter",
|
||||||
|
next: "@styleEmbedded",
|
||||||
|
nextEmbedded: "text/css"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/[ \t\r\n]+/],
|
||||||
|
// whitespace
|
||||||
|
[/(<\/)(style\s*)(>)/, ["delimiter", "tag", { token: "delimiter", next: "@pop" }]]
|
||||||
|
],
|
||||||
|
// After <style ... type
|
||||||
|
styleAfterType: [
|
||||||
|
[/=/, "delimiter", "@styleAfterTypeEquals"],
|
||||||
|
[
|
||||||
|
/>/,
|
||||||
|
{
|
||||||
|
token: "delimiter",
|
||||||
|
next: "@styleEmbedded",
|
||||||
|
nextEmbedded: "text/css"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// cover invalid e.g. <style type>
|
||||||
|
[/[ \t\r\n]+/],
|
||||||
|
// whitespace
|
||||||
|
[/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
|
||||||
|
],
|
||||||
|
// After <style ... type =
|
||||||
|
styleAfterTypeEquals: [
|
||||||
|
[
|
||||||
|
/"([^"]*)"/,
|
||||||
|
{
|
||||||
|
token: "attribute.value",
|
||||||
|
switchTo: "@styleWithCustomType.$1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/'([^']*)'/,
|
||||||
|
{
|
||||||
|
token: "attribute.value",
|
||||||
|
switchTo: "@styleWithCustomType.$1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/>/,
|
||||||
|
{
|
||||||
|
token: "delimiter",
|
||||||
|
next: "@styleEmbedded",
|
||||||
|
nextEmbedded: "text/css"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// cover invalid e.g. <style type=>
|
||||||
|
[/[ \t\r\n]+/],
|
||||||
|
// whitespace
|
||||||
|
[/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
|
||||||
|
],
|
||||||
|
// After <style ... type = $S2
|
||||||
|
styleWithCustomType: [
|
||||||
|
[
|
||||||
|
/>/,
|
||||||
|
{
|
||||||
|
token: "delimiter",
|
||||||
|
next: "@styleEmbedded.$S2",
|
||||||
|
nextEmbedded: "$S2"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/"([^"]*)"/, "attribute.value"],
|
||||||
|
[/'([^']*)'/, "attribute.value"],
|
||||||
|
[/[\w\-]+/, "attribute.name"],
|
||||||
|
[/=/, "delimiter"],
|
||||||
|
[/[ \t\r\n]+/],
|
||||||
|
// whitespace
|
||||||
|
[/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
|
||||||
|
],
|
||||||
|
styleEmbedded: [
|
||||||
|
[/<\/style/, { token: "@rematch", next: "@pop", nextEmbedded: "@pop" }],
|
||||||
|
[/[^<]+/, ""]
|
||||||
|
]
|
||||||
|
// -- END <style> tags handling
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
218
_internal/editor/dev/vs/htmlMode-BL74tky3.js
Normal file
218
_internal/editor/dev/vs/htmlMode-BL74tky3.js
Normal file
@@ -0,0 +1,218 @@
|
|||||||
|
define("vs/htmlMode-BL74tky3", ["exports", "./workers-CJWv4CcA", "./lspLanguageFeatures-C8J-56s2", "./editor.api-BhD7pWdi"], (function(exports, workers, lspLanguageFeatures, editor_api) {
|
||||||
|
"use strict";
|
||||||
|
const STOP_WHEN_IDLE_FOR = 2 * 60 * 1e3;
|
||||||
|
class WorkerManager {
|
||||||
|
constructor(defaults) {
|
||||||
|
this._defaults = defaults;
|
||||||
|
this._worker = null;
|
||||||
|
this._client = null;
|
||||||
|
this._idleCheckInterval = window.setInterval(() => this._checkIfIdle(), 30 * 1e3);
|
||||||
|
this._lastUsedTime = 0;
|
||||||
|
this._configChangeListener = this._defaults.onDidChange(() => this._stopWorker());
|
||||||
|
}
|
||||||
|
_stopWorker() {
|
||||||
|
if (this._worker) {
|
||||||
|
this._worker.dispose();
|
||||||
|
this._worker = null;
|
||||||
|
}
|
||||||
|
this._client = null;
|
||||||
|
}
|
||||||
|
dispose() {
|
||||||
|
clearInterval(this._idleCheckInterval);
|
||||||
|
this._configChangeListener.dispose();
|
||||||
|
this._stopWorker();
|
||||||
|
}
|
||||||
|
_checkIfIdle() {
|
||||||
|
if (!this._worker) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let timePassedSinceLastUsed = Date.now() - this._lastUsedTime;
|
||||||
|
if (timePassedSinceLastUsed > STOP_WHEN_IDLE_FOR) {
|
||||||
|
this._stopWorker();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
_getClient() {
|
||||||
|
this._lastUsedTime = Date.now();
|
||||||
|
if (!this._client) {
|
||||||
|
this._worker = workers.createWebWorker({
|
||||||
|
// module that exports the create() method and returns a `HTMLWorker` instance
|
||||||
|
moduleId: "vs/language/html/htmlWorker",
|
||||||
|
// passed in to the create() method
|
||||||
|
createData: {
|
||||||
|
languageSettings: this._defaults.options,
|
||||||
|
languageId: this._defaults.languageId
|
||||||
|
},
|
||||||
|
label: this._defaults.languageId
|
||||||
|
});
|
||||||
|
this._client = this._worker.getProxy();
|
||||||
|
}
|
||||||
|
return this._client;
|
||||||
|
}
|
||||||
|
getLanguageServiceWorker(...resources) {
|
||||||
|
let _client;
|
||||||
|
return this._getClient().then((client) => {
|
||||||
|
_client = client;
|
||||||
|
}).then((_) => {
|
||||||
|
if (this._worker) {
|
||||||
|
return this._worker.withSyncedResources(resources);
|
||||||
|
}
|
||||||
|
}).then((_) => _client);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
class HTMLCompletionAdapter extends lspLanguageFeatures.CompletionAdapter {
|
||||||
|
constructor(worker) {
|
||||||
|
super(worker, [".", ":", "<", '"', "=", "/"]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function setupMode1(defaults) {
|
||||||
|
const client = new WorkerManager(defaults);
|
||||||
|
const worker = (...uris) => {
|
||||||
|
return client.getLanguageServiceWorker(...uris);
|
||||||
|
};
|
||||||
|
let languageId = defaults.languageId;
|
||||||
|
editor_api.languages.registerCompletionItemProvider(languageId, new HTMLCompletionAdapter(worker));
|
||||||
|
editor_api.languages.registerHoverProvider(languageId, new lspLanguageFeatures.HoverAdapter(worker));
|
||||||
|
editor_api.languages.registerDocumentHighlightProvider(
|
||||||
|
languageId,
|
||||||
|
new lspLanguageFeatures.DocumentHighlightAdapter(worker)
|
||||||
|
);
|
||||||
|
editor_api.languages.registerLinkProvider(languageId, new lspLanguageFeatures.DocumentLinkAdapter(worker));
|
||||||
|
editor_api.languages.registerFoldingRangeProvider(
|
||||||
|
languageId,
|
||||||
|
new lspLanguageFeatures.FoldingRangeAdapter(worker)
|
||||||
|
);
|
||||||
|
editor_api.languages.registerDocumentSymbolProvider(
|
||||||
|
languageId,
|
||||||
|
new lspLanguageFeatures.DocumentSymbolAdapter(worker)
|
||||||
|
);
|
||||||
|
editor_api.languages.registerSelectionRangeProvider(
|
||||||
|
languageId,
|
||||||
|
new lspLanguageFeatures.SelectionRangeAdapter(worker)
|
||||||
|
);
|
||||||
|
editor_api.languages.registerRenameProvider(languageId, new lspLanguageFeatures.RenameAdapter(worker));
|
||||||
|
if (languageId === "html") {
|
||||||
|
editor_api.languages.registerDocumentFormattingEditProvider(
|
||||||
|
languageId,
|
||||||
|
new lspLanguageFeatures.DocumentFormattingEditProvider(worker)
|
||||||
|
);
|
||||||
|
editor_api.languages.registerDocumentRangeFormattingEditProvider(
|
||||||
|
languageId,
|
||||||
|
new lspLanguageFeatures.DocumentRangeFormattingEditProvider(worker)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function setupMode(defaults) {
|
||||||
|
const disposables = [];
|
||||||
|
const providers = [];
|
||||||
|
const client = new WorkerManager(defaults);
|
||||||
|
disposables.push(client);
|
||||||
|
const worker = (...uris) => {
|
||||||
|
return client.getLanguageServiceWorker(...uris);
|
||||||
|
};
|
||||||
|
function registerProviders() {
|
||||||
|
const { languageId, modeConfiguration } = defaults;
|
||||||
|
disposeAll(providers);
|
||||||
|
if (modeConfiguration.completionItems) {
|
||||||
|
providers.push(
|
||||||
|
editor_api.languages.registerCompletionItemProvider(languageId, new HTMLCompletionAdapter(worker))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (modeConfiguration.hovers) {
|
||||||
|
providers.push(
|
||||||
|
editor_api.languages.registerHoverProvider(languageId, new lspLanguageFeatures.HoverAdapter(worker))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (modeConfiguration.documentHighlights) {
|
||||||
|
providers.push(
|
||||||
|
editor_api.languages.registerDocumentHighlightProvider(
|
||||||
|
languageId,
|
||||||
|
new lspLanguageFeatures.DocumentHighlightAdapter(worker)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (modeConfiguration.links) {
|
||||||
|
providers.push(
|
||||||
|
editor_api.languages.registerLinkProvider(languageId, new lspLanguageFeatures.DocumentLinkAdapter(worker))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (modeConfiguration.documentSymbols) {
|
||||||
|
providers.push(
|
||||||
|
editor_api.languages.registerDocumentSymbolProvider(
|
||||||
|
languageId,
|
||||||
|
new lspLanguageFeatures.DocumentSymbolAdapter(worker)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (modeConfiguration.rename) {
|
||||||
|
providers.push(
|
||||||
|
editor_api.languages.registerRenameProvider(languageId, new lspLanguageFeatures.RenameAdapter(worker))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (modeConfiguration.foldingRanges) {
|
||||||
|
providers.push(
|
||||||
|
editor_api.languages.registerFoldingRangeProvider(
|
||||||
|
languageId,
|
||||||
|
new lspLanguageFeatures.FoldingRangeAdapter(worker)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (modeConfiguration.selectionRanges) {
|
||||||
|
providers.push(
|
||||||
|
editor_api.languages.registerSelectionRangeProvider(
|
||||||
|
languageId,
|
||||||
|
new lspLanguageFeatures.SelectionRangeAdapter(worker)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (modeConfiguration.documentFormattingEdits) {
|
||||||
|
providers.push(
|
||||||
|
editor_api.languages.registerDocumentFormattingEditProvider(
|
||||||
|
languageId,
|
||||||
|
new lspLanguageFeatures.DocumentFormattingEditProvider(worker)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (modeConfiguration.documentRangeFormattingEdits) {
|
||||||
|
providers.push(
|
||||||
|
editor_api.languages.registerDocumentRangeFormattingEditProvider(
|
||||||
|
languageId,
|
||||||
|
new lspLanguageFeatures.DocumentRangeFormattingEditProvider(worker)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
registerProviders();
|
||||||
|
disposables.push(asDisposable(providers));
|
||||||
|
return asDisposable(disposables);
|
||||||
|
}
|
||||||
|
function asDisposable(disposables) {
|
||||||
|
return { dispose: () => disposeAll(disposables) };
|
||||||
|
}
|
||||||
|
function disposeAll(disposables) {
|
||||||
|
while (disposables.length) {
|
||||||
|
disposables.pop().dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
exports.CompletionAdapter = lspLanguageFeatures.CompletionAdapter;
|
||||||
|
exports.DefinitionAdapter = lspLanguageFeatures.DefinitionAdapter;
|
||||||
|
exports.DiagnosticsAdapter = lspLanguageFeatures.DiagnosticsAdapter;
|
||||||
|
exports.DocumentColorAdapter = lspLanguageFeatures.DocumentColorAdapter;
|
||||||
|
exports.DocumentFormattingEditProvider = lspLanguageFeatures.DocumentFormattingEditProvider;
|
||||||
|
exports.DocumentHighlightAdapter = lspLanguageFeatures.DocumentHighlightAdapter;
|
||||||
|
exports.DocumentLinkAdapter = lspLanguageFeatures.DocumentLinkAdapter;
|
||||||
|
exports.DocumentRangeFormattingEditProvider = lspLanguageFeatures.DocumentRangeFormattingEditProvider;
|
||||||
|
exports.DocumentSymbolAdapter = lspLanguageFeatures.DocumentSymbolAdapter;
|
||||||
|
exports.FoldingRangeAdapter = lspLanguageFeatures.FoldingRangeAdapter;
|
||||||
|
exports.HoverAdapter = lspLanguageFeatures.HoverAdapter;
|
||||||
|
exports.ReferenceAdapter = lspLanguageFeatures.ReferenceAdapter;
|
||||||
|
exports.RenameAdapter = lspLanguageFeatures.RenameAdapter;
|
||||||
|
exports.SelectionRangeAdapter = lspLanguageFeatures.SelectionRangeAdapter;
|
||||||
|
exports.fromPosition = lspLanguageFeatures.fromPosition;
|
||||||
|
exports.fromRange = lspLanguageFeatures.fromRange;
|
||||||
|
exports.toRange = lspLanguageFeatures.toRange;
|
||||||
|
exports.toTextEdit = lspLanguageFeatures.toTextEdit;
|
||||||
|
exports.WorkerManager = WorkerManager;
|
||||||
|
exports.setupMode = setupMode;
|
||||||
|
exports.setupMode1 = setupMode1;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
74
_internal/editor/dev/vs/ini-CdZgSnLI.js
Normal file
74
_internal/editor/dev/vs/ini-CdZgSnLI.js
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
define("vs/ini-CdZgSnLI", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: "#"
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
]
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".ini",
|
||||||
|
// we include these common regular expressions
|
||||||
|
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: [
|
||||||
|
// sections
|
||||||
|
[/^\[[^\]]*\]/, "metatag"],
|
||||||
|
// keys
|
||||||
|
[/(^\w+)(\s*)(\=)/, ["key", "", "delimiter"]],
|
||||||
|
// whitespace
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
// numbers
|
||||||
|
[/\d+/, "number"],
|
||||||
|
// strings: recover on non-terminated strings
|
||||||
|
[/"([^"\\]|\\.)*$/, "string.invalid"],
|
||||||
|
// non-teminated string
|
||||||
|
[/'([^'\\]|\\.)*$/, "string.invalid"],
|
||||||
|
// non-teminated string
|
||||||
|
[/"/, "string", '@string."'],
|
||||||
|
[/'/, "string", "@string.'"]
|
||||||
|
],
|
||||||
|
whitespace: [
|
||||||
|
[/[ \t\r\n]+/, ""],
|
||||||
|
[/^\s*[#;].*$/, "comment"]
|
||||||
|
],
|
||||||
|
string: [
|
||||||
|
[/[^\\"']+/, "string"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/\\./, "string.escape.invalid"],
|
||||||
|
[
|
||||||
|
/["']/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$#==$S2": { token: "string", next: "@pop" },
|
||||||
|
"@default": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
235
_internal/editor/dev/vs/java-vwwkdu2k.js
Normal file
235
_internal/editor/dev/vs/java-vwwkdu2k.js
Normal file
@@ -0,0 +1,235 @@
|
|||||||
|
define("vs/java-vwwkdu2k", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
// the default separators except `@$`
|
||||||
|
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
|
||||||
|
comments: {
|
||||||
|
lineComment: "//",
|
||||||
|
blockComment: ["/*", "*/"]
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" },
|
||||||
|
{ open: "<", close: ">" }
|
||||||
|
],
|
||||||
|
folding: {
|
||||||
|
markers: {
|
||||||
|
start: new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))"),
|
||||||
|
end: new RegExp("^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".java",
|
||||||
|
keywords: [
|
||||||
|
"abstract",
|
||||||
|
"continue",
|
||||||
|
"for",
|
||||||
|
"new",
|
||||||
|
"switch",
|
||||||
|
"assert",
|
||||||
|
"default",
|
||||||
|
"goto",
|
||||||
|
"package",
|
||||||
|
"synchronized",
|
||||||
|
"boolean",
|
||||||
|
"do",
|
||||||
|
"if",
|
||||||
|
"private",
|
||||||
|
"this",
|
||||||
|
"break",
|
||||||
|
"double",
|
||||||
|
"implements",
|
||||||
|
"protected",
|
||||||
|
"throw",
|
||||||
|
"byte",
|
||||||
|
"else",
|
||||||
|
"import",
|
||||||
|
"public",
|
||||||
|
"throws",
|
||||||
|
"case",
|
||||||
|
"enum",
|
||||||
|
"instanceof",
|
||||||
|
"return",
|
||||||
|
"transient",
|
||||||
|
"catch",
|
||||||
|
"extends",
|
||||||
|
"int",
|
||||||
|
"short",
|
||||||
|
"try",
|
||||||
|
"char",
|
||||||
|
"final",
|
||||||
|
"interface",
|
||||||
|
"static",
|
||||||
|
"void",
|
||||||
|
"class",
|
||||||
|
"finally",
|
||||||
|
"long",
|
||||||
|
"strictfp",
|
||||||
|
"volatile",
|
||||||
|
"const",
|
||||||
|
"float",
|
||||||
|
"native",
|
||||||
|
"super",
|
||||||
|
"while",
|
||||||
|
"true",
|
||||||
|
"false",
|
||||||
|
"yield",
|
||||||
|
"record",
|
||||||
|
"sealed",
|
||||||
|
"non-sealed",
|
||||||
|
"permits"
|
||||||
|
],
|
||||||
|
operators: [
|
||||||
|
"=",
|
||||||
|
">",
|
||||||
|
"<",
|
||||||
|
"!",
|
||||||
|
"~",
|
||||||
|
"?",
|
||||||
|
":",
|
||||||
|
"==",
|
||||||
|
"<=",
|
||||||
|
">=",
|
||||||
|
"!=",
|
||||||
|
"&&",
|
||||||
|
"||",
|
||||||
|
"++",
|
||||||
|
"--",
|
||||||
|
"+",
|
||||||
|
"-",
|
||||||
|
"*",
|
||||||
|
"/",
|
||||||
|
"&",
|
||||||
|
"|",
|
||||||
|
"^",
|
||||||
|
"%",
|
||||||
|
"<<",
|
||||||
|
">>",
|
||||||
|
">>>",
|
||||||
|
"+=",
|
||||||
|
"-=",
|
||||||
|
"*=",
|
||||||
|
"/=",
|
||||||
|
"&=",
|
||||||
|
"|=",
|
||||||
|
"^=",
|
||||||
|
"%=",
|
||||||
|
"<<=",
|
||||||
|
">>=",
|
||||||
|
">>>="
|
||||||
|
],
|
||||||
|
// 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})/,
|
||||||
|
digits: /\d+(_+\d+)*/,
|
||||||
|
octaldigits: /[0-7]+(_+[0-7]+)*/,
|
||||||
|
binarydigits: /[0-1]+(_+[0-1]+)*/,
|
||||||
|
hexdigits: /[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,
|
||||||
|
// The main tokenizer for our languages
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
// Special keyword with a dash
|
||||||
|
["non-sealed", "keyword.non-sealed"],
|
||||||
|
// identifiers and keywords
|
||||||
|
[
|
||||||
|
/[a-zA-Z_$][\w$]*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@keywords": { token: "keyword.$0" },
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// whitespace
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
// delimiters and operators
|
||||||
|
[/[{}()\[\]]/, "@brackets"],
|
||||||
|
[/[<>](?!@symbols)/, "@brackets"],
|
||||||
|
[
|
||||||
|
/@symbols/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@operators": "delimiter",
|
||||||
|
"@default": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// @ annotations.
|
||||||
|
[/@\s*[a-zA-Z_\$][\w\$]*/, "annotation"],
|
||||||
|
// numbers
|
||||||
|
[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/, "number.float"],
|
||||||
|
[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/, "number.float"],
|
||||||
|
[/0[xX](@hexdigits)[Ll]?/, "number.hex"],
|
||||||
|
[/0(@octaldigits)[Ll]?/, "number.octal"],
|
||||||
|
[/0[bB](@binarydigits)[Ll]?/, "number.binary"],
|
||||||
|
[/(@digits)[fFdD]/, "number.float"],
|
||||||
|
[/(@digits)[lL]?/, "number"],
|
||||||
|
// delimiter: after number because of .\d floats
|
||||||
|
[/[;,.]/, "delimiter"],
|
||||||
|
// strings
|
||||||
|
[/"([^"\\]|\\.)*$/, "string.invalid"],
|
||||||
|
// non-teminated string
|
||||||
|
[/"""/, "string", "@multistring"],
|
||||||
|
[/"/, "string", "@string"],
|
||||||
|
// characters
|
||||||
|
[/'[^\\']'/, "string"],
|
||||||
|
[/(')(@escapes)(')/, ["string", "string.escape", "string"]],
|
||||||
|
[/'/, "string.invalid"]
|
||||||
|
],
|
||||||
|
whitespace: [
|
||||||
|
[/[ \t\r\n]+/, ""],
|
||||||
|
[/\/\*\*(?!\/)/, "comment.doc", "@javadoc"],
|
||||||
|
[/\/\*/, "comment", "@comment"],
|
||||||
|
[/\/\/.*$/, "comment"]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
[/[^\/*]+/, "comment"],
|
||||||
|
// [/\/\*/, 'comment', '@push' ], // nested comment not allowed :-(
|
||||||
|
// [/\/\*/, 'comment.invalid' ], // this breaks block comments in the shape of /* //*/
|
||||||
|
[/\*\//, "comment", "@pop"],
|
||||||
|
[/[\/*]/, "comment"]
|
||||||
|
],
|
||||||
|
//Identical copy of comment above, except for the addition of .doc
|
||||||
|
javadoc: [
|
||||||
|
[/[^\/*]+/, "comment.doc"],
|
||||||
|
// [/\/\*/, 'comment.doc', '@push' ], // nested comment not allowed :-(
|
||||||
|
[/\/\*/, "comment.doc.invalid"],
|
||||||
|
[/\*\//, "comment.doc", "@pop"],
|
||||||
|
[/[\/*]/, "comment.doc"]
|
||||||
|
],
|
||||||
|
string: [
|
||||||
|
[/[^\\"]+/, "string"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/\\./, "string.escape.invalid"],
|
||||||
|
[/"/, "string", "@pop"]
|
||||||
|
],
|
||||||
|
multistring: [
|
||||||
|
[/[^\\"]+/, "string"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/\\./, "string.escape.invalid"],
|
||||||
|
[/"""/, "string", "@pop"],
|
||||||
|
[/./, "string"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
72
_internal/editor/dev/vs/javascript-DtYAOqDf.js
Normal file
72
_internal/editor/dev/vs/javascript-DtYAOqDf.js
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
define("vs/javascript-DtYAOqDf", ["exports", "./typescript-qRP7tyf4"], (function(exports, typescript) {
|
||||||
|
"use strict";
|
||||||
|
const conf = typescript.conf;
|
||||||
|
const language = {
|
||||||
|
// Set defaultToken to invalid to see what you do not tokenize yet
|
||||||
|
defaultToken: "invalid",
|
||||||
|
tokenPostfix: ".js",
|
||||||
|
keywords: [
|
||||||
|
"break",
|
||||||
|
"case",
|
||||||
|
"catch",
|
||||||
|
"class",
|
||||||
|
"continue",
|
||||||
|
"const",
|
||||||
|
"constructor",
|
||||||
|
"debugger",
|
||||||
|
"default",
|
||||||
|
"delete",
|
||||||
|
"do",
|
||||||
|
"else",
|
||||||
|
"export",
|
||||||
|
"extends",
|
||||||
|
"false",
|
||||||
|
"finally",
|
||||||
|
"for",
|
||||||
|
"from",
|
||||||
|
"function",
|
||||||
|
"get",
|
||||||
|
"if",
|
||||||
|
"import",
|
||||||
|
"in",
|
||||||
|
"instanceof",
|
||||||
|
"let",
|
||||||
|
"new",
|
||||||
|
"null",
|
||||||
|
"return",
|
||||||
|
"set",
|
||||||
|
"static",
|
||||||
|
"super",
|
||||||
|
"switch",
|
||||||
|
"symbol",
|
||||||
|
"this",
|
||||||
|
"throw",
|
||||||
|
"true",
|
||||||
|
"try",
|
||||||
|
"typeof",
|
||||||
|
"undefined",
|
||||||
|
"var",
|
||||||
|
"void",
|
||||||
|
"while",
|
||||||
|
"with",
|
||||||
|
"yield",
|
||||||
|
"async",
|
||||||
|
"await",
|
||||||
|
"of"
|
||||||
|
],
|
||||||
|
typeKeywords: [],
|
||||||
|
operators: typescript.language.operators,
|
||||||
|
symbols: typescript.language.symbols,
|
||||||
|
escapes: typescript.language.escapes,
|
||||||
|
digits: typescript.language.digits,
|
||||||
|
octaldigits: typescript.language.octaldigits,
|
||||||
|
binarydigits: typescript.language.binarydigits,
|
||||||
|
hexdigits: typescript.language.hexdigits,
|
||||||
|
regexpctl: typescript.language.regexpctl,
|
||||||
|
regexpesc: typescript.language.regexpesc,
|
||||||
|
tokenizer: typescript.language.tokenizer
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
925
_internal/editor/dev/vs/jsonMode-KHMzkiG2.js
Normal file
925
_internal/editor/dev/vs/jsonMode-KHMzkiG2.js
Normal file
@@ -0,0 +1,925 @@
|
|||||||
|
define("vs/jsonMode-KHMzkiG2", ["exports", "./workers-CJWv4CcA", "./lspLanguageFeatures-C8J-56s2", "./editor.api-BhD7pWdi"], (function(exports, workers, lspLanguageFeatures, editor_api) {
|
||||||
|
"use strict";
|
||||||
|
const STOP_WHEN_IDLE_FOR = 2 * 60 * 1e3;
|
||||||
|
class WorkerManager {
|
||||||
|
constructor(defaults) {
|
||||||
|
this._defaults = defaults;
|
||||||
|
this._worker = null;
|
||||||
|
this._client = null;
|
||||||
|
this._idleCheckInterval = window.setInterval(() => this._checkIfIdle(), 30 * 1e3);
|
||||||
|
this._lastUsedTime = 0;
|
||||||
|
this._configChangeListener = this._defaults.onDidChange(() => this._stopWorker());
|
||||||
|
}
|
||||||
|
_stopWorker() {
|
||||||
|
if (this._worker) {
|
||||||
|
this._worker.dispose();
|
||||||
|
this._worker = null;
|
||||||
|
}
|
||||||
|
this._client = null;
|
||||||
|
}
|
||||||
|
dispose() {
|
||||||
|
clearInterval(this._idleCheckInterval);
|
||||||
|
this._configChangeListener.dispose();
|
||||||
|
this._stopWorker();
|
||||||
|
}
|
||||||
|
_checkIfIdle() {
|
||||||
|
if (!this._worker) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let timePassedSinceLastUsed = Date.now() - this._lastUsedTime;
|
||||||
|
if (timePassedSinceLastUsed > STOP_WHEN_IDLE_FOR) {
|
||||||
|
this._stopWorker();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
_getClient() {
|
||||||
|
this._lastUsedTime = Date.now();
|
||||||
|
if (!this._client) {
|
||||||
|
this._worker = workers.createWebWorker({
|
||||||
|
// module that exports the create() method and returns a `JSONWorker` instance
|
||||||
|
moduleId: "vs/language/json/jsonWorker",
|
||||||
|
label: this._defaults.languageId,
|
||||||
|
// passed in to the create() method
|
||||||
|
createData: {
|
||||||
|
languageSettings: this._defaults.diagnosticsOptions,
|
||||||
|
languageId: this._defaults.languageId,
|
||||||
|
enableSchemaRequest: this._defaults.diagnosticsOptions.enableSchemaRequest
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this._client = this._worker.getProxy();
|
||||||
|
}
|
||||||
|
return this._client;
|
||||||
|
}
|
||||||
|
getLanguageServiceWorker(...resources) {
|
||||||
|
let _client;
|
||||||
|
return this._getClient().then((client) => {
|
||||||
|
_client = client;
|
||||||
|
}).then((_) => {
|
||||||
|
if (this._worker) {
|
||||||
|
return this._worker.withSyncedResources(resources);
|
||||||
|
}
|
||||||
|
}).then((_) => _client);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function createScanner$1(text, ignoreTrivia = false) {
|
||||||
|
const len = text.length;
|
||||||
|
let pos = 0, value = "", tokenOffset = 0, token = 16, lineNumber = 0, lineStartOffset = 0, tokenLineStartOffset = 0, prevTokenLineStartOffset = 0, scanError = 0;
|
||||||
|
function scanHexDigits(count, exact) {
|
||||||
|
let digits = 0;
|
||||||
|
let value2 = 0;
|
||||||
|
while (digits < count || false) {
|
||||||
|
let ch = text.charCodeAt(pos);
|
||||||
|
if (ch >= 48 && ch <= 57) {
|
||||||
|
value2 = value2 * 16 + ch - 48;
|
||||||
|
} else if (ch >= 65 && ch <= 70) {
|
||||||
|
value2 = value2 * 16 + ch - 65 + 10;
|
||||||
|
} else if (ch >= 97 && ch <= 102) {
|
||||||
|
value2 = value2 * 16 + ch - 97 + 10;
|
||||||
|
} else {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
pos++;
|
||||||
|
digits++;
|
||||||
|
}
|
||||||
|
if (digits < count) {
|
||||||
|
value2 = -1;
|
||||||
|
}
|
||||||
|
return value2;
|
||||||
|
}
|
||||||
|
function setPosition(newPosition) {
|
||||||
|
pos = newPosition;
|
||||||
|
value = "";
|
||||||
|
tokenOffset = 0;
|
||||||
|
token = 16;
|
||||||
|
scanError = 0;
|
||||||
|
}
|
||||||
|
function scanNumber() {
|
||||||
|
let start = pos;
|
||||||
|
if (text.charCodeAt(pos) === 48) {
|
||||||
|
pos++;
|
||||||
|
} else {
|
||||||
|
pos++;
|
||||||
|
while (pos < text.length && isDigit(text.charCodeAt(pos))) {
|
||||||
|
pos++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (pos < text.length && text.charCodeAt(pos) === 46) {
|
||||||
|
pos++;
|
||||||
|
if (pos < text.length && isDigit(text.charCodeAt(pos))) {
|
||||||
|
pos++;
|
||||||
|
while (pos < text.length && isDigit(text.charCodeAt(pos))) {
|
||||||
|
pos++;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
scanError = 3;
|
||||||
|
return text.substring(start, pos);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let end = pos;
|
||||||
|
if (pos < text.length && (text.charCodeAt(pos) === 69 || text.charCodeAt(pos) === 101)) {
|
||||||
|
pos++;
|
||||||
|
if (pos < text.length && text.charCodeAt(pos) === 43 || text.charCodeAt(pos) === 45) {
|
||||||
|
pos++;
|
||||||
|
}
|
||||||
|
if (pos < text.length && isDigit(text.charCodeAt(pos))) {
|
||||||
|
pos++;
|
||||||
|
while (pos < text.length && isDigit(text.charCodeAt(pos))) {
|
||||||
|
pos++;
|
||||||
|
}
|
||||||
|
end = pos;
|
||||||
|
} else {
|
||||||
|
scanError = 3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return text.substring(start, end);
|
||||||
|
}
|
||||||
|
function scanString() {
|
||||||
|
let result = "", start = pos;
|
||||||
|
while (true) {
|
||||||
|
if (pos >= len) {
|
||||||
|
result += text.substring(start, pos);
|
||||||
|
scanError = 2;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
const ch = text.charCodeAt(pos);
|
||||||
|
if (ch === 34) {
|
||||||
|
result += text.substring(start, pos);
|
||||||
|
pos++;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (ch === 92) {
|
||||||
|
result += text.substring(start, pos);
|
||||||
|
pos++;
|
||||||
|
if (pos >= len) {
|
||||||
|
scanError = 2;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
const ch2 = text.charCodeAt(pos++);
|
||||||
|
switch (ch2) {
|
||||||
|
case 34:
|
||||||
|
result += '"';
|
||||||
|
break;
|
||||||
|
case 92:
|
||||||
|
result += "\\";
|
||||||
|
break;
|
||||||
|
case 47:
|
||||||
|
result += "/";
|
||||||
|
break;
|
||||||
|
case 98:
|
||||||
|
result += "\b";
|
||||||
|
break;
|
||||||
|
case 102:
|
||||||
|
result += "\f";
|
||||||
|
break;
|
||||||
|
case 110:
|
||||||
|
result += "\n";
|
||||||
|
break;
|
||||||
|
case 114:
|
||||||
|
result += "\r";
|
||||||
|
break;
|
||||||
|
case 116:
|
||||||
|
result += " ";
|
||||||
|
break;
|
||||||
|
case 117:
|
||||||
|
const ch3 = scanHexDigits(4);
|
||||||
|
if (ch3 >= 0) {
|
||||||
|
result += String.fromCharCode(ch3);
|
||||||
|
} else {
|
||||||
|
scanError = 4;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
scanError = 5;
|
||||||
|
}
|
||||||
|
start = pos;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (ch >= 0 && ch <= 31) {
|
||||||
|
if (isLineBreak(ch)) {
|
||||||
|
result += text.substring(start, pos);
|
||||||
|
scanError = 2;
|
||||||
|
break;
|
||||||
|
} else {
|
||||||
|
scanError = 6;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
pos++;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
function scanNext() {
|
||||||
|
value = "";
|
||||||
|
scanError = 0;
|
||||||
|
tokenOffset = pos;
|
||||||
|
lineStartOffset = lineNumber;
|
||||||
|
prevTokenLineStartOffset = tokenLineStartOffset;
|
||||||
|
if (pos >= len) {
|
||||||
|
tokenOffset = len;
|
||||||
|
return token = 17;
|
||||||
|
}
|
||||||
|
let code = text.charCodeAt(pos);
|
||||||
|
if (isWhiteSpace(code)) {
|
||||||
|
do {
|
||||||
|
pos++;
|
||||||
|
value += String.fromCharCode(code);
|
||||||
|
code = text.charCodeAt(pos);
|
||||||
|
} while (isWhiteSpace(code));
|
||||||
|
return token = 15;
|
||||||
|
}
|
||||||
|
if (isLineBreak(code)) {
|
||||||
|
pos++;
|
||||||
|
value += String.fromCharCode(code);
|
||||||
|
if (code === 13 && text.charCodeAt(pos) === 10) {
|
||||||
|
pos++;
|
||||||
|
value += "\n";
|
||||||
|
}
|
||||||
|
lineNumber++;
|
||||||
|
tokenLineStartOffset = pos;
|
||||||
|
return token = 14;
|
||||||
|
}
|
||||||
|
switch (code) {
|
||||||
|
// tokens: []{}:,
|
||||||
|
case 123:
|
||||||
|
pos++;
|
||||||
|
return token = 1;
|
||||||
|
case 125:
|
||||||
|
pos++;
|
||||||
|
return token = 2;
|
||||||
|
case 91:
|
||||||
|
pos++;
|
||||||
|
return token = 3;
|
||||||
|
case 93:
|
||||||
|
pos++;
|
||||||
|
return token = 4;
|
||||||
|
case 58:
|
||||||
|
pos++;
|
||||||
|
return token = 6;
|
||||||
|
case 44:
|
||||||
|
pos++;
|
||||||
|
return token = 5;
|
||||||
|
// strings
|
||||||
|
case 34:
|
||||||
|
pos++;
|
||||||
|
value = scanString();
|
||||||
|
return token = 10;
|
||||||
|
// comments
|
||||||
|
case 47:
|
||||||
|
const start = pos - 1;
|
||||||
|
if (text.charCodeAt(pos + 1) === 47) {
|
||||||
|
pos += 2;
|
||||||
|
while (pos < len) {
|
||||||
|
if (isLineBreak(text.charCodeAt(pos))) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
pos++;
|
||||||
|
}
|
||||||
|
value = text.substring(start, pos);
|
||||||
|
return token = 12;
|
||||||
|
}
|
||||||
|
if (text.charCodeAt(pos + 1) === 42) {
|
||||||
|
pos += 2;
|
||||||
|
const safeLength = len - 1;
|
||||||
|
let commentClosed = false;
|
||||||
|
while (pos < safeLength) {
|
||||||
|
const ch = text.charCodeAt(pos);
|
||||||
|
if (ch === 42 && text.charCodeAt(pos + 1) === 47) {
|
||||||
|
pos += 2;
|
||||||
|
commentClosed = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
pos++;
|
||||||
|
if (isLineBreak(ch)) {
|
||||||
|
if (ch === 13 && text.charCodeAt(pos) === 10) {
|
||||||
|
pos++;
|
||||||
|
}
|
||||||
|
lineNumber++;
|
||||||
|
tokenLineStartOffset = pos;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!commentClosed) {
|
||||||
|
pos++;
|
||||||
|
scanError = 1;
|
||||||
|
}
|
||||||
|
value = text.substring(start, pos);
|
||||||
|
return token = 13;
|
||||||
|
}
|
||||||
|
value += String.fromCharCode(code);
|
||||||
|
pos++;
|
||||||
|
return token = 16;
|
||||||
|
// numbers
|
||||||
|
case 45:
|
||||||
|
value += String.fromCharCode(code);
|
||||||
|
pos++;
|
||||||
|
if (pos === len || !isDigit(text.charCodeAt(pos))) {
|
||||||
|
return token = 16;
|
||||||
|
}
|
||||||
|
// found a minus, followed by a number so
|
||||||
|
// we fall through to proceed with scanning
|
||||||
|
// numbers
|
||||||
|
case 48:
|
||||||
|
case 49:
|
||||||
|
case 50:
|
||||||
|
case 51:
|
||||||
|
case 52:
|
||||||
|
case 53:
|
||||||
|
case 54:
|
||||||
|
case 55:
|
||||||
|
case 56:
|
||||||
|
case 57:
|
||||||
|
value += scanNumber();
|
||||||
|
return token = 11;
|
||||||
|
// literals and unknown symbols
|
||||||
|
default:
|
||||||
|
while (pos < len && isUnknownContentCharacter(code)) {
|
||||||
|
pos++;
|
||||||
|
code = text.charCodeAt(pos);
|
||||||
|
}
|
||||||
|
if (tokenOffset !== pos) {
|
||||||
|
value = text.substring(tokenOffset, pos);
|
||||||
|
switch (value) {
|
||||||
|
case "true":
|
||||||
|
return token = 8;
|
||||||
|
case "false":
|
||||||
|
return token = 9;
|
||||||
|
case "null":
|
||||||
|
return token = 7;
|
||||||
|
}
|
||||||
|
return token = 16;
|
||||||
|
}
|
||||||
|
value += String.fromCharCode(code);
|
||||||
|
pos++;
|
||||||
|
return token = 16;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function isUnknownContentCharacter(code) {
|
||||||
|
if (isWhiteSpace(code) || isLineBreak(code)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
switch (code) {
|
||||||
|
case 125:
|
||||||
|
case 93:
|
||||||
|
case 123:
|
||||||
|
case 91:
|
||||||
|
case 34:
|
||||||
|
case 58:
|
||||||
|
case 44:
|
||||||
|
case 47:
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
function scanNextNonTrivia() {
|
||||||
|
let result;
|
||||||
|
do {
|
||||||
|
result = scanNext();
|
||||||
|
} while (result >= 12 && result <= 15);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
setPosition,
|
||||||
|
getPosition: () => pos,
|
||||||
|
scan: ignoreTrivia ? scanNextNonTrivia : scanNext,
|
||||||
|
getToken: () => token,
|
||||||
|
getTokenValue: () => value,
|
||||||
|
getTokenOffset: () => tokenOffset,
|
||||||
|
getTokenLength: () => pos - tokenOffset,
|
||||||
|
getTokenStartLine: () => lineStartOffset,
|
||||||
|
getTokenStartCharacter: () => tokenOffset - prevTokenLineStartOffset,
|
||||||
|
getTokenError: () => scanError
|
||||||
|
};
|
||||||
|
}
|
||||||
|
function isWhiteSpace(ch) {
|
||||||
|
return ch === 32 || ch === 9;
|
||||||
|
}
|
||||||
|
function isLineBreak(ch) {
|
||||||
|
return ch === 10 || ch === 13;
|
||||||
|
}
|
||||||
|
function isDigit(ch) {
|
||||||
|
return ch >= 48 && ch <= 57;
|
||||||
|
}
|
||||||
|
var CharacterCodes;
|
||||||
|
(function(CharacterCodes2) {
|
||||||
|
CharacterCodes2[CharacterCodes2["lineFeed"] = 10] = "lineFeed";
|
||||||
|
CharacterCodes2[CharacterCodes2["carriageReturn"] = 13] = "carriageReturn";
|
||||||
|
CharacterCodes2[CharacterCodes2["space"] = 32] = "space";
|
||||||
|
CharacterCodes2[CharacterCodes2["_0"] = 48] = "_0";
|
||||||
|
CharacterCodes2[CharacterCodes2["_1"] = 49] = "_1";
|
||||||
|
CharacterCodes2[CharacterCodes2["_2"] = 50] = "_2";
|
||||||
|
CharacterCodes2[CharacterCodes2["_3"] = 51] = "_3";
|
||||||
|
CharacterCodes2[CharacterCodes2["_4"] = 52] = "_4";
|
||||||
|
CharacterCodes2[CharacterCodes2["_5"] = 53] = "_5";
|
||||||
|
CharacterCodes2[CharacterCodes2["_6"] = 54] = "_6";
|
||||||
|
CharacterCodes2[CharacterCodes2["_7"] = 55] = "_7";
|
||||||
|
CharacterCodes2[CharacterCodes2["_8"] = 56] = "_8";
|
||||||
|
CharacterCodes2[CharacterCodes2["_9"] = 57] = "_9";
|
||||||
|
CharacterCodes2[CharacterCodes2["a"] = 97] = "a";
|
||||||
|
CharacterCodes2[CharacterCodes2["b"] = 98] = "b";
|
||||||
|
CharacterCodes2[CharacterCodes2["c"] = 99] = "c";
|
||||||
|
CharacterCodes2[CharacterCodes2["d"] = 100] = "d";
|
||||||
|
CharacterCodes2[CharacterCodes2["e"] = 101] = "e";
|
||||||
|
CharacterCodes2[CharacterCodes2["f"] = 102] = "f";
|
||||||
|
CharacterCodes2[CharacterCodes2["g"] = 103] = "g";
|
||||||
|
CharacterCodes2[CharacterCodes2["h"] = 104] = "h";
|
||||||
|
CharacterCodes2[CharacterCodes2["i"] = 105] = "i";
|
||||||
|
CharacterCodes2[CharacterCodes2["j"] = 106] = "j";
|
||||||
|
CharacterCodes2[CharacterCodes2["k"] = 107] = "k";
|
||||||
|
CharacterCodes2[CharacterCodes2["l"] = 108] = "l";
|
||||||
|
CharacterCodes2[CharacterCodes2["m"] = 109] = "m";
|
||||||
|
CharacterCodes2[CharacterCodes2["n"] = 110] = "n";
|
||||||
|
CharacterCodes2[CharacterCodes2["o"] = 111] = "o";
|
||||||
|
CharacterCodes2[CharacterCodes2["p"] = 112] = "p";
|
||||||
|
CharacterCodes2[CharacterCodes2["q"] = 113] = "q";
|
||||||
|
CharacterCodes2[CharacterCodes2["r"] = 114] = "r";
|
||||||
|
CharacterCodes2[CharacterCodes2["s"] = 115] = "s";
|
||||||
|
CharacterCodes2[CharacterCodes2["t"] = 116] = "t";
|
||||||
|
CharacterCodes2[CharacterCodes2["u"] = 117] = "u";
|
||||||
|
CharacterCodes2[CharacterCodes2["v"] = 118] = "v";
|
||||||
|
CharacterCodes2[CharacterCodes2["w"] = 119] = "w";
|
||||||
|
CharacterCodes2[CharacterCodes2["x"] = 120] = "x";
|
||||||
|
CharacterCodes2[CharacterCodes2["y"] = 121] = "y";
|
||||||
|
CharacterCodes2[CharacterCodes2["z"] = 122] = "z";
|
||||||
|
CharacterCodes2[CharacterCodes2["A"] = 65] = "A";
|
||||||
|
CharacterCodes2[CharacterCodes2["B"] = 66] = "B";
|
||||||
|
CharacterCodes2[CharacterCodes2["C"] = 67] = "C";
|
||||||
|
CharacterCodes2[CharacterCodes2["D"] = 68] = "D";
|
||||||
|
CharacterCodes2[CharacterCodes2["E"] = 69] = "E";
|
||||||
|
CharacterCodes2[CharacterCodes2["F"] = 70] = "F";
|
||||||
|
CharacterCodes2[CharacterCodes2["G"] = 71] = "G";
|
||||||
|
CharacterCodes2[CharacterCodes2["H"] = 72] = "H";
|
||||||
|
CharacterCodes2[CharacterCodes2["I"] = 73] = "I";
|
||||||
|
CharacterCodes2[CharacterCodes2["J"] = 74] = "J";
|
||||||
|
CharacterCodes2[CharacterCodes2["K"] = 75] = "K";
|
||||||
|
CharacterCodes2[CharacterCodes2["L"] = 76] = "L";
|
||||||
|
CharacterCodes2[CharacterCodes2["M"] = 77] = "M";
|
||||||
|
CharacterCodes2[CharacterCodes2["N"] = 78] = "N";
|
||||||
|
CharacterCodes2[CharacterCodes2["O"] = 79] = "O";
|
||||||
|
CharacterCodes2[CharacterCodes2["P"] = 80] = "P";
|
||||||
|
CharacterCodes2[CharacterCodes2["Q"] = 81] = "Q";
|
||||||
|
CharacterCodes2[CharacterCodes2["R"] = 82] = "R";
|
||||||
|
CharacterCodes2[CharacterCodes2["S"] = 83] = "S";
|
||||||
|
CharacterCodes2[CharacterCodes2["T"] = 84] = "T";
|
||||||
|
CharacterCodes2[CharacterCodes2["U"] = 85] = "U";
|
||||||
|
CharacterCodes2[CharacterCodes2["V"] = 86] = "V";
|
||||||
|
CharacterCodes2[CharacterCodes2["W"] = 87] = "W";
|
||||||
|
CharacterCodes2[CharacterCodes2["X"] = 88] = "X";
|
||||||
|
CharacterCodes2[CharacterCodes2["Y"] = 89] = "Y";
|
||||||
|
CharacterCodes2[CharacterCodes2["Z"] = 90] = "Z";
|
||||||
|
CharacterCodes2[CharacterCodes2["asterisk"] = 42] = "asterisk";
|
||||||
|
CharacterCodes2[CharacterCodes2["backslash"] = 92] = "backslash";
|
||||||
|
CharacterCodes2[CharacterCodes2["closeBrace"] = 125] = "closeBrace";
|
||||||
|
CharacterCodes2[CharacterCodes2["closeBracket"] = 93] = "closeBracket";
|
||||||
|
CharacterCodes2[CharacterCodes2["colon"] = 58] = "colon";
|
||||||
|
CharacterCodes2[CharacterCodes2["comma"] = 44] = "comma";
|
||||||
|
CharacterCodes2[CharacterCodes2["dot"] = 46] = "dot";
|
||||||
|
CharacterCodes2[CharacterCodes2["doubleQuote"] = 34] = "doubleQuote";
|
||||||
|
CharacterCodes2[CharacterCodes2["minus"] = 45] = "minus";
|
||||||
|
CharacterCodes2[CharacterCodes2["openBrace"] = 123] = "openBrace";
|
||||||
|
CharacterCodes2[CharacterCodes2["openBracket"] = 91] = "openBracket";
|
||||||
|
CharacterCodes2[CharacterCodes2["plus"] = 43] = "plus";
|
||||||
|
CharacterCodes2[CharacterCodes2["slash"] = 47] = "slash";
|
||||||
|
CharacterCodes2[CharacterCodes2["formFeed"] = 12] = "formFeed";
|
||||||
|
CharacterCodes2[CharacterCodes2["tab"] = 9] = "tab";
|
||||||
|
})(CharacterCodes || (CharacterCodes = {}));
|
||||||
|
new Array(20).fill(0).map((_, index) => {
|
||||||
|
return " ".repeat(index);
|
||||||
|
});
|
||||||
|
const maxCachedValues = 200;
|
||||||
|
({
|
||||||
|
" ": {
|
||||||
|
"\n": new Array(maxCachedValues).fill(0).map((_, index) => {
|
||||||
|
return "\n" + " ".repeat(index);
|
||||||
|
}),
|
||||||
|
"\r": new Array(maxCachedValues).fill(0).map((_, index) => {
|
||||||
|
return "\r" + " ".repeat(index);
|
||||||
|
}),
|
||||||
|
"\r\n": new Array(maxCachedValues).fill(0).map((_, index) => {
|
||||||
|
return "\r\n" + " ".repeat(index);
|
||||||
|
})
|
||||||
|
},
|
||||||
|
" ": {
|
||||||
|
"\n": new Array(maxCachedValues).fill(0).map((_, index) => {
|
||||||
|
return "\n" + " ".repeat(index);
|
||||||
|
}),
|
||||||
|
"\r": new Array(maxCachedValues).fill(0).map((_, index) => {
|
||||||
|
return "\r" + " ".repeat(index);
|
||||||
|
}),
|
||||||
|
"\r\n": new Array(maxCachedValues).fill(0).map((_, index) => {
|
||||||
|
return "\r\n" + " ".repeat(index);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
});
|
||||||
|
var ParseOptions;
|
||||||
|
(function(ParseOptions2) {
|
||||||
|
ParseOptions2.DEFAULT = {
|
||||||
|
allowTrailingComma: false
|
||||||
|
};
|
||||||
|
})(ParseOptions || (ParseOptions = {}));
|
||||||
|
const createScanner = createScanner$1;
|
||||||
|
var ScanError;
|
||||||
|
(function(ScanError2) {
|
||||||
|
ScanError2[ScanError2["None"] = 0] = "None";
|
||||||
|
ScanError2[ScanError2["UnexpectedEndOfComment"] = 1] = "UnexpectedEndOfComment";
|
||||||
|
ScanError2[ScanError2["UnexpectedEndOfString"] = 2] = "UnexpectedEndOfString";
|
||||||
|
ScanError2[ScanError2["UnexpectedEndOfNumber"] = 3] = "UnexpectedEndOfNumber";
|
||||||
|
ScanError2[ScanError2["InvalidUnicode"] = 4] = "InvalidUnicode";
|
||||||
|
ScanError2[ScanError2["InvalidEscapeCharacter"] = 5] = "InvalidEscapeCharacter";
|
||||||
|
ScanError2[ScanError2["InvalidCharacter"] = 6] = "InvalidCharacter";
|
||||||
|
})(ScanError || (ScanError = {}));
|
||||||
|
var SyntaxKind;
|
||||||
|
(function(SyntaxKind2) {
|
||||||
|
SyntaxKind2[SyntaxKind2["OpenBraceToken"] = 1] = "OpenBraceToken";
|
||||||
|
SyntaxKind2[SyntaxKind2["CloseBraceToken"] = 2] = "CloseBraceToken";
|
||||||
|
SyntaxKind2[SyntaxKind2["OpenBracketToken"] = 3] = "OpenBracketToken";
|
||||||
|
SyntaxKind2[SyntaxKind2["CloseBracketToken"] = 4] = "CloseBracketToken";
|
||||||
|
SyntaxKind2[SyntaxKind2["CommaToken"] = 5] = "CommaToken";
|
||||||
|
SyntaxKind2[SyntaxKind2["ColonToken"] = 6] = "ColonToken";
|
||||||
|
SyntaxKind2[SyntaxKind2["NullKeyword"] = 7] = "NullKeyword";
|
||||||
|
SyntaxKind2[SyntaxKind2["TrueKeyword"] = 8] = "TrueKeyword";
|
||||||
|
SyntaxKind2[SyntaxKind2["FalseKeyword"] = 9] = "FalseKeyword";
|
||||||
|
SyntaxKind2[SyntaxKind2["StringLiteral"] = 10] = "StringLiteral";
|
||||||
|
SyntaxKind2[SyntaxKind2["NumericLiteral"] = 11] = "NumericLiteral";
|
||||||
|
SyntaxKind2[SyntaxKind2["LineCommentTrivia"] = 12] = "LineCommentTrivia";
|
||||||
|
SyntaxKind2[SyntaxKind2["BlockCommentTrivia"] = 13] = "BlockCommentTrivia";
|
||||||
|
SyntaxKind2[SyntaxKind2["LineBreakTrivia"] = 14] = "LineBreakTrivia";
|
||||||
|
SyntaxKind2[SyntaxKind2["Trivia"] = 15] = "Trivia";
|
||||||
|
SyntaxKind2[SyntaxKind2["Unknown"] = 16] = "Unknown";
|
||||||
|
SyntaxKind2[SyntaxKind2["EOF"] = 17] = "EOF";
|
||||||
|
})(SyntaxKind || (SyntaxKind = {}));
|
||||||
|
var ParseErrorCode;
|
||||||
|
(function(ParseErrorCode2) {
|
||||||
|
ParseErrorCode2[ParseErrorCode2["InvalidSymbol"] = 1] = "InvalidSymbol";
|
||||||
|
ParseErrorCode2[ParseErrorCode2["InvalidNumberFormat"] = 2] = "InvalidNumberFormat";
|
||||||
|
ParseErrorCode2[ParseErrorCode2["PropertyNameExpected"] = 3] = "PropertyNameExpected";
|
||||||
|
ParseErrorCode2[ParseErrorCode2["ValueExpected"] = 4] = "ValueExpected";
|
||||||
|
ParseErrorCode2[ParseErrorCode2["ColonExpected"] = 5] = "ColonExpected";
|
||||||
|
ParseErrorCode2[ParseErrorCode2["CommaExpected"] = 6] = "CommaExpected";
|
||||||
|
ParseErrorCode2[ParseErrorCode2["CloseBraceExpected"] = 7] = "CloseBraceExpected";
|
||||||
|
ParseErrorCode2[ParseErrorCode2["CloseBracketExpected"] = 8] = "CloseBracketExpected";
|
||||||
|
ParseErrorCode2[ParseErrorCode2["EndOfFileExpected"] = 9] = "EndOfFileExpected";
|
||||||
|
ParseErrorCode2[ParseErrorCode2["InvalidCommentToken"] = 10] = "InvalidCommentToken";
|
||||||
|
ParseErrorCode2[ParseErrorCode2["UnexpectedEndOfComment"] = 11] = "UnexpectedEndOfComment";
|
||||||
|
ParseErrorCode2[ParseErrorCode2["UnexpectedEndOfString"] = 12] = "UnexpectedEndOfString";
|
||||||
|
ParseErrorCode2[ParseErrorCode2["UnexpectedEndOfNumber"] = 13] = "UnexpectedEndOfNumber";
|
||||||
|
ParseErrorCode2[ParseErrorCode2["InvalidUnicode"] = 14] = "InvalidUnicode";
|
||||||
|
ParseErrorCode2[ParseErrorCode2["InvalidEscapeCharacter"] = 15] = "InvalidEscapeCharacter";
|
||||||
|
ParseErrorCode2[ParseErrorCode2["InvalidCharacter"] = 16] = "InvalidCharacter";
|
||||||
|
})(ParseErrorCode || (ParseErrorCode = {}));
|
||||||
|
function createTokenizationSupport(supportComments) {
|
||||||
|
return {
|
||||||
|
getInitialState: () => new JSONState(null, null, false, null),
|
||||||
|
tokenize: (line, state) => tokenize(supportComments, line, state)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
const TOKEN_DELIM_OBJECT = "delimiter.bracket.json";
|
||||||
|
const TOKEN_DELIM_ARRAY = "delimiter.array.json";
|
||||||
|
const TOKEN_DELIM_COLON = "delimiter.colon.json";
|
||||||
|
const TOKEN_DELIM_COMMA = "delimiter.comma.json";
|
||||||
|
const TOKEN_VALUE_BOOLEAN = "keyword.json";
|
||||||
|
const TOKEN_VALUE_NULL = "keyword.json";
|
||||||
|
const TOKEN_VALUE_STRING = "string.value.json";
|
||||||
|
const TOKEN_VALUE_NUMBER = "number.json";
|
||||||
|
const TOKEN_PROPERTY_NAME = "string.key.json";
|
||||||
|
const TOKEN_COMMENT_BLOCK = "comment.block.json";
|
||||||
|
const TOKEN_COMMENT_LINE = "comment.line.json";
|
||||||
|
class ParentsStack {
|
||||||
|
constructor(parent, type) {
|
||||||
|
this.parent = parent;
|
||||||
|
this.type = type;
|
||||||
|
}
|
||||||
|
static pop(parents) {
|
||||||
|
if (parents) {
|
||||||
|
return parents.parent;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
static push(parents, type) {
|
||||||
|
return new ParentsStack(parents, type);
|
||||||
|
}
|
||||||
|
static equals(a, b) {
|
||||||
|
if (!a && !b) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (!a || !b) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
while (a && b) {
|
||||||
|
if (a === b) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (a.type !== b.type) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
a = a.parent;
|
||||||
|
b = b.parent;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
class JSONState {
|
||||||
|
constructor(state, scanError, lastWasColon, parents) {
|
||||||
|
this._state = state;
|
||||||
|
this.scanError = scanError;
|
||||||
|
this.lastWasColon = lastWasColon;
|
||||||
|
this.parents = parents;
|
||||||
|
}
|
||||||
|
clone() {
|
||||||
|
return new JSONState(this._state, this.scanError, this.lastWasColon, this.parents);
|
||||||
|
}
|
||||||
|
equals(other) {
|
||||||
|
if (other === this) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (!other || !(other instanceof JSONState)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return this.scanError === other.scanError && this.lastWasColon === other.lastWasColon && ParentsStack.equals(this.parents, other.parents);
|
||||||
|
}
|
||||||
|
getStateData() {
|
||||||
|
return this._state;
|
||||||
|
}
|
||||||
|
setStateData(state) {
|
||||||
|
this._state = state;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function tokenize(comments, line, state, offsetDelta = 0) {
|
||||||
|
let numberOfInsertedCharacters = 0;
|
||||||
|
let adjustOffset = false;
|
||||||
|
switch (state.scanError) {
|
||||||
|
case 2:
|
||||||
|
line = '"' + line;
|
||||||
|
numberOfInsertedCharacters = 1;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
line = "/*" + line;
|
||||||
|
numberOfInsertedCharacters = 2;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
const scanner = createScanner(line);
|
||||||
|
let lastWasColon = state.lastWasColon;
|
||||||
|
let parents = state.parents;
|
||||||
|
const ret = {
|
||||||
|
tokens: [],
|
||||||
|
endState: state.clone()
|
||||||
|
};
|
||||||
|
while (true) {
|
||||||
|
let offset = offsetDelta + scanner.getPosition();
|
||||||
|
let type = "";
|
||||||
|
const kind = scanner.scan();
|
||||||
|
if (kind === 17) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (offset === offsetDelta + scanner.getPosition()) {
|
||||||
|
throw new Error(
|
||||||
|
"Scanner did not advance, next 3 characters are: " + line.substr(scanner.getPosition(), 3)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (adjustOffset) {
|
||||||
|
offset -= numberOfInsertedCharacters;
|
||||||
|
}
|
||||||
|
adjustOffset = numberOfInsertedCharacters > 0;
|
||||||
|
switch (kind) {
|
||||||
|
case 1:
|
||||||
|
parents = ParentsStack.push(
|
||||||
|
parents,
|
||||||
|
0
|
||||||
|
/* Object */
|
||||||
|
);
|
||||||
|
type = TOKEN_DELIM_OBJECT;
|
||||||
|
lastWasColon = false;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
parents = ParentsStack.pop(parents);
|
||||||
|
type = TOKEN_DELIM_OBJECT;
|
||||||
|
lastWasColon = false;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
parents = ParentsStack.push(
|
||||||
|
parents,
|
||||||
|
1
|
||||||
|
/* Array */
|
||||||
|
);
|
||||||
|
type = TOKEN_DELIM_ARRAY;
|
||||||
|
lastWasColon = false;
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
parents = ParentsStack.pop(parents);
|
||||||
|
type = TOKEN_DELIM_ARRAY;
|
||||||
|
lastWasColon = false;
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
type = TOKEN_DELIM_COLON;
|
||||||
|
lastWasColon = true;
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
type = TOKEN_DELIM_COMMA;
|
||||||
|
lastWasColon = false;
|
||||||
|
break;
|
||||||
|
case 8:
|
||||||
|
case 9:
|
||||||
|
type = TOKEN_VALUE_BOOLEAN;
|
||||||
|
lastWasColon = false;
|
||||||
|
break;
|
||||||
|
case 7:
|
||||||
|
type = TOKEN_VALUE_NULL;
|
||||||
|
lastWasColon = false;
|
||||||
|
break;
|
||||||
|
case 10:
|
||||||
|
const currentParent = parents ? parents.type : 0;
|
||||||
|
const inArray = currentParent === 1;
|
||||||
|
type = lastWasColon || inArray ? TOKEN_VALUE_STRING : TOKEN_PROPERTY_NAME;
|
||||||
|
lastWasColon = false;
|
||||||
|
break;
|
||||||
|
case 11:
|
||||||
|
type = TOKEN_VALUE_NUMBER;
|
||||||
|
lastWasColon = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
switch (kind) {
|
||||||
|
case 12:
|
||||||
|
type = TOKEN_COMMENT_LINE;
|
||||||
|
break;
|
||||||
|
case 13:
|
||||||
|
type = TOKEN_COMMENT_BLOCK;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ret.endState = new JSONState(
|
||||||
|
state.getStateData(),
|
||||||
|
scanner.getTokenError(),
|
||||||
|
lastWasColon,
|
||||||
|
parents
|
||||||
|
);
|
||||||
|
ret.tokens.push({
|
||||||
|
startIndex: offset,
|
||||||
|
scopes: type
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
let worker;
|
||||||
|
function getWorker() {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
if (!worker) {
|
||||||
|
return reject("JSON not registered!");
|
||||||
|
}
|
||||||
|
resolve(worker);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
class JSONDiagnosticsAdapter extends lspLanguageFeatures.DiagnosticsAdapter {
|
||||||
|
constructor(languageId, worker2, defaults) {
|
||||||
|
super(languageId, worker2, defaults.onDidChange);
|
||||||
|
this._disposables.push(
|
||||||
|
editor_api.editor.onWillDisposeModel((model) => {
|
||||||
|
this._resetSchema(model.uri);
|
||||||
|
})
|
||||||
|
);
|
||||||
|
this._disposables.push(
|
||||||
|
editor_api.editor.onDidChangeModelLanguage((event) => {
|
||||||
|
this._resetSchema(event.model.uri);
|
||||||
|
})
|
||||||
|
);
|
||||||
|
}
|
||||||
|
_resetSchema(resource) {
|
||||||
|
this._worker().then((worker2) => {
|
||||||
|
worker2.resetSchema(resource.toString());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function setupMode(defaults) {
|
||||||
|
const disposables = [];
|
||||||
|
const providers = [];
|
||||||
|
const client = new WorkerManager(defaults);
|
||||||
|
disposables.push(client);
|
||||||
|
worker = (...uris) => {
|
||||||
|
return client.getLanguageServiceWorker(...uris);
|
||||||
|
};
|
||||||
|
function registerProviders() {
|
||||||
|
const { languageId, modeConfiguration: modeConfiguration2 } = defaults;
|
||||||
|
disposeAll(providers);
|
||||||
|
if (modeConfiguration2.documentFormattingEdits) {
|
||||||
|
providers.push(
|
||||||
|
editor_api.languages.registerDocumentFormattingEditProvider(
|
||||||
|
languageId,
|
||||||
|
new lspLanguageFeatures.DocumentFormattingEditProvider(worker)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (modeConfiguration2.documentRangeFormattingEdits) {
|
||||||
|
providers.push(
|
||||||
|
editor_api.languages.registerDocumentRangeFormattingEditProvider(
|
||||||
|
languageId,
|
||||||
|
new lspLanguageFeatures.DocumentRangeFormattingEditProvider(worker)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (modeConfiguration2.completionItems) {
|
||||||
|
providers.push(
|
||||||
|
editor_api.languages.registerCompletionItemProvider(
|
||||||
|
languageId,
|
||||||
|
new lspLanguageFeatures.CompletionAdapter(worker, [" ", ":", '"'])
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (modeConfiguration2.hovers) {
|
||||||
|
providers.push(
|
||||||
|
editor_api.languages.registerHoverProvider(languageId, new lspLanguageFeatures.HoverAdapter(worker))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (modeConfiguration2.documentSymbols) {
|
||||||
|
providers.push(
|
||||||
|
editor_api.languages.registerDocumentSymbolProvider(
|
||||||
|
languageId,
|
||||||
|
new lspLanguageFeatures.DocumentSymbolAdapter(worker)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (modeConfiguration2.tokens) {
|
||||||
|
providers.push(editor_api.languages.setTokensProvider(languageId, createTokenizationSupport(true)));
|
||||||
|
}
|
||||||
|
if (modeConfiguration2.colors) {
|
||||||
|
providers.push(
|
||||||
|
editor_api.languages.registerColorProvider(
|
||||||
|
languageId,
|
||||||
|
new lspLanguageFeatures.DocumentColorAdapter(worker)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (modeConfiguration2.foldingRanges) {
|
||||||
|
providers.push(
|
||||||
|
editor_api.languages.registerFoldingRangeProvider(
|
||||||
|
languageId,
|
||||||
|
new lspLanguageFeatures.FoldingRangeAdapter(worker)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (modeConfiguration2.diagnostics) {
|
||||||
|
providers.push(new JSONDiagnosticsAdapter(languageId, worker, defaults));
|
||||||
|
}
|
||||||
|
if (modeConfiguration2.selectionRanges) {
|
||||||
|
providers.push(
|
||||||
|
editor_api.languages.registerSelectionRangeProvider(
|
||||||
|
languageId,
|
||||||
|
new lspLanguageFeatures.SelectionRangeAdapter(worker)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
registerProviders();
|
||||||
|
disposables.push(editor_api.languages.setLanguageConfiguration(defaults.languageId, richEditConfiguration));
|
||||||
|
let modeConfiguration = defaults.modeConfiguration;
|
||||||
|
defaults.onDidChange((newDefaults) => {
|
||||||
|
if (newDefaults.modeConfiguration !== modeConfiguration) {
|
||||||
|
modeConfiguration = newDefaults.modeConfiguration;
|
||||||
|
registerProviders();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
disposables.push(asDisposable(providers));
|
||||||
|
return asDisposable(disposables);
|
||||||
|
}
|
||||||
|
function asDisposable(disposables) {
|
||||||
|
return { dispose: () => disposeAll(disposables) };
|
||||||
|
}
|
||||||
|
function disposeAll(disposables) {
|
||||||
|
while (disposables.length) {
|
||||||
|
disposables.pop().dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const richEditConfiguration = {
|
||||||
|
wordPattern: /(-?\d*\.\d\w*)|([^\[\{\]\}\:\"\,\s]+)/g,
|
||||||
|
comments: {
|
||||||
|
lineComment: "//",
|
||||||
|
blockComment: ["/*", "*/"]
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}", notIn: ["string"] },
|
||||||
|
{ open: "[", close: "]", notIn: ["string"] },
|
||||||
|
{ open: '"', close: '"', notIn: ["string"] }
|
||||||
|
]
|
||||||
|
};
|
||||||
|
exports.CompletionAdapter = lspLanguageFeatures.CompletionAdapter;
|
||||||
|
exports.DefinitionAdapter = lspLanguageFeatures.DefinitionAdapter;
|
||||||
|
exports.DiagnosticsAdapter = lspLanguageFeatures.DiagnosticsAdapter;
|
||||||
|
exports.DocumentColorAdapter = lspLanguageFeatures.DocumentColorAdapter;
|
||||||
|
exports.DocumentFormattingEditProvider = lspLanguageFeatures.DocumentFormattingEditProvider;
|
||||||
|
exports.DocumentHighlightAdapter = lspLanguageFeatures.DocumentHighlightAdapter;
|
||||||
|
exports.DocumentLinkAdapter = lspLanguageFeatures.DocumentLinkAdapter;
|
||||||
|
exports.DocumentRangeFormattingEditProvider = lspLanguageFeatures.DocumentRangeFormattingEditProvider;
|
||||||
|
exports.DocumentSymbolAdapter = lspLanguageFeatures.DocumentSymbolAdapter;
|
||||||
|
exports.FoldingRangeAdapter = lspLanguageFeatures.FoldingRangeAdapter;
|
||||||
|
exports.HoverAdapter = lspLanguageFeatures.HoverAdapter;
|
||||||
|
exports.ReferenceAdapter = lspLanguageFeatures.ReferenceAdapter;
|
||||||
|
exports.RenameAdapter = lspLanguageFeatures.RenameAdapter;
|
||||||
|
exports.SelectionRangeAdapter = lspLanguageFeatures.SelectionRangeAdapter;
|
||||||
|
exports.fromPosition = lspLanguageFeatures.fromPosition;
|
||||||
|
exports.fromRange = lspLanguageFeatures.fromRange;
|
||||||
|
exports.toRange = lspLanguageFeatures.toRange;
|
||||||
|
exports.toTextEdit = lspLanguageFeatures.toTextEdit;
|
||||||
|
exports.WorkerManager = WorkerManager;
|
||||||
|
exports.getWorker = getWorker;
|
||||||
|
exports.setupMode = setupMode;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
514
_internal/editor/dev/vs/julia-DrYN6c6i.js
Normal file
514
_internal/editor/dev/vs/julia-DrYN6c6i.js
Normal file
@@ -0,0 +1,514 @@
|
|||||||
|
define("vs/julia-DrYN6c6i", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
]
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
tokenPostfix: ".julia",
|
||||||
|
keywords: [
|
||||||
|
"begin",
|
||||||
|
"while",
|
||||||
|
"if",
|
||||||
|
"for",
|
||||||
|
"try",
|
||||||
|
"return",
|
||||||
|
"break",
|
||||||
|
"continue",
|
||||||
|
"function",
|
||||||
|
"macro",
|
||||||
|
"quote",
|
||||||
|
"let",
|
||||||
|
"local",
|
||||||
|
"global",
|
||||||
|
"const",
|
||||||
|
"do",
|
||||||
|
"struct",
|
||||||
|
"module",
|
||||||
|
"baremodule",
|
||||||
|
"using",
|
||||||
|
"import",
|
||||||
|
"export",
|
||||||
|
"end",
|
||||||
|
"else",
|
||||||
|
"elseif",
|
||||||
|
"catch",
|
||||||
|
"finally",
|
||||||
|
"mutable",
|
||||||
|
"primitive",
|
||||||
|
"abstract",
|
||||||
|
"type",
|
||||||
|
"in",
|
||||||
|
"isa",
|
||||||
|
"where",
|
||||||
|
"new"
|
||||||
|
],
|
||||||
|
types: [
|
||||||
|
"LinRange",
|
||||||
|
"LineNumberNode",
|
||||||
|
"LinearIndices",
|
||||||
|
"LoadError",
|
||||||
|
"MIME",
|
||||||
|
"Matrix",
|
||||||
|
"Method",
|
||||||
|
"MethodError",
|
||||||
|
"Missing",
|
||||||
|
"MissingException",
|
||||||
|
"Module",
|
||||||
|
"NTuple",
|
||||||
|
"NamedTuple",
|
||||||
|
"Nothing",
|
||||||
|
"Number",
|
||||||
|
"OrdinalRange",
|
||||||
|
"OutOfMemoryError",
|
||||||
|
"OverflowError",
|
||||||
|
"Pair",
|
||||||
|
"PartialQuickSort",
|
||||||
|
"PermutedDimsArray",
|
||||||
|
"Pipe",
|
||||||
|
"Ptr",
|
||||||
|
"QuoteNode",
|
||||||
|
"Rational",
|
||||||
|
"RawFD",
|
||||||
|
"ReadOnlyMemoryError",
|
||||||
|
"Real",
|
||||||
|
"ReentrantLock",
|
||||||
|
"Ref",
|
||||||
|
"Regex",
|
||||||
|
"RegexMatch",
|
||||||
|
"RoundingMode",
|
||||||
|
"SegmentationFault",
|
||||||
|
"Set",
|
||||||
|
"Signed",
|
||||||
|
"Some",
|
||||||
|
"StackOverflowError",
|
||||||
|
"StepRange",
|
||||||
|
"StepRangeLen",
|
||||||
|
"StridedArray",
|
||||||
|
"StridedMatrix",
|
||||||
|
"StridedVecOrMat",
|
||||||
|
"StridedVector",
|
||||||
|
"String",
|
||||||
|
"StringIndexError",
|
||||||
|
"SubArray",
|
||||||
|
"SubString",
|
||||||
|
"SubstitutionString",
|
||||||
|
"Symbol",
|
||||||
|
"SystemError",
|
||||||
|
"Task",
|
||||||
|
"Text",
|
||||||
|
"TextDisplay",
|
||||||
|
"Timer",
|
||||||
|
"Tuple",
|
||||||
|
"Type",
|
||||||
|
"TypeError",
|
||||||
|
"TypeVar",
|
||||||
|
"UInt",
|
||||||
|
"UInt128",
|
||||||
|
"UInt16",
|
||||||
|
"UInt32",
|
||||||
|
"UInt64",
|
||||||
|
"UInt8",
|
||||||
|
"UndefInitializer",
|
||||||
|
"AbstractArray",
|
||||||
|
"UndefKeywordError",
|
||||||
|
"AbstractChannel",
|
||||||
|
"UndefRefError",
|
||||||
|
"AbstractChar",
|
||||||
|
"UndefVarError",
|
||||||
|
"AbstractDict",
|
||||||
|
"Union",
|
||||||
|
"AbstractDisplay",
|
||||||
|
"UnionAll",
|
||||||
|
"AbstractFloat",
|
||||||
|
"UnitRange",
|
||||||
|
"AbstractIrrational",
|
||||||
|
"Unsigned",
|
||||||
|
"AbstractMatrix",
|
||||||
|
"AbstractRange",
|
||||||
|
"Val",
|
||||||
|
"AbstractSet",
|
||||||
|
"Vararg",
|
||||||
|
"AbstractString",
|
||||||
|
"VecElement",
|
||||||
|
"AbstractUnitRange",
|
||||||
|
"VecOrMat",
|
||||||
|
"AbstractVecOrMat",
|
||||||
|
"Vector",
|
||||||
|
"AbstractVector",
|
||||||
|
"VersionNumber",
|
||||||
|
"Any",
|
||||||
|
"WeakKeyDict",
|
||||||
|
"ArgumentError",
|
||||||
|
"WeakRef",
|
||||||
|
"Array",
|
||||||
|
"AssertionError",
|
||||||
|
"BigFloat",
|
||||||
|
"BigInt",
|
||||||
|
"BitArray",
|
||||||
|
"BitMatrix",
|
||||||
|
"BitSet",
|
||||||
|
"BitVector",
|
||||||
|
"Bool",
|
||||||
|
"BoundsError",
|
||||||
|
"CapturedException",
|
||||||
|
"CartesianIndex",
|
||||||
|
"CartesianIndices",
|
||||||
|
"Cchar",
|
||||||
|
"Cdouble",
|
||||||
|
"Cfloat",
|
||||||
|
"Channel",
|
||||||
|
"Char",
|
||||||
|
"Cint",
|
||||||
|
"Cintmax_t",
|
||||||
|
"Clong",
|
||||||
|
"Clonglong",
|
||||||
|
"Cmd",
|
||||||
|
"Colon",
|
||||||
|
"Complex",
|
||||||
|
"ComplexF16",
|
||||||
|
"ComplexF32",
|
||||||
|
"ComplexF64",
|
||||||
|
"CompositeException",
|
||||||
|
"Condition",
|
||||||
|
"Cptrdiff_t",
|
||||||
|
"Cshort",
|
||||||
|
"Csize_t",
|
||||||
|
"Cssize_t",
|
||||||
|
"Cstring",
|
||||||
|
"Cuchar",
|
||||||
|
"Cuint",
|
||||||
|
"Cuintmax_t",
|
||||||
|
"Culong",
|
||||||
|
"Culonglong",
|
||||||
|
"Cushort",
|
||||||
|
"Cvoid",
|
||||||
|
"Cwchar_t",
|
||||||
|
"Cwstring",
|
||||||
|
"DataType",
|
||||||
|
"DenseArray",
|
||||||
|
"DenseMatrix",
|
||||||
|
"DenseVecOrMat",
|
||||||
|
"DenseVector",
|
||||||
|
"Dict",
|
||||||
|
"DimensionMismatch",
|
||||||
|
"Dims",
|
||||||
|
"DivideError",
|
||||||
|
"DomainError",
|
||||||
|
"EOFError",
|
||||||
|
"Enum",
|
||||||
|
"ErrorException",
|
||||||
|
"Exception",
|
||||||
|
"ExponentialBackOff",
|
||||||
|
"Expr",
|
||||||
|
"Float16",
|
||||||
|
"Float32",
|
||||||
|
"Float64",
|
||||||
|
"Function",
|
||||||
|
"GlobalRef",
|
||||||
|
"HTML",
|
||||||
|
"IO",
|
||||||
|
"IOBuffer",
|
||||||
|
"IOContext",
|
||||||
|
"IOStream",
|
||||||
|
"IdDict",
|
||||||
|
"IndexCartesian",
|
||||||
|
"IndexLinear",
|
||||||
|
"IndexStyle",
|
||||||
|
"InexactError",
|
||||||
|
"InitError",
|
||||||
|
"Int",
|
||||||
|
"Int128",
|
||||||
|
"Int16",
|
||||||
|
"Int32",
|
||||||
|
"Int64",
|
||||||
|
"Int8",
|
||||||
|
"Integer",
|
||||||
|
"InterruptException",
|
||||||
|
"InvalidStateException",
|
||||||
|
"Irrational",
|
||||||
|
"KeyError"
|
||||||
|
],
|
||||||
|
keywordops: ["<:", ">:", ":", "=>", "...", ".", "->", "?"],
|
||||||
|
allops: /[^\w\d\s()\[\]{}"'#]+/,
|
||||||
|
constants: [
|
||||||
|
"true",
|
||||||
|
"false",
|
||||||
|
"nothing",
|
||||||
|
"missing",
|
||||||
|
"undef",
|
||||||
|
"Inf",
|
||||||
|
"pi",
|
||||||
|
"NaN",
|
||||||
|
"π",
|
||||||
|
"ℯ",
|
||||||
|
"ans",
|
||||||
|
"PROGRAM_FILE",
|
||||||
|
"ARGS",
|
||||||
|
"C_NULL",
|
||||||
|
"VERSION",
|
||||||
|
"DEPOT_PATH",
|
||||||
|
"LOAD_PATH"
|
||||||
|
],
|
||||||
|
operators: [
|
||||||
|
"!",
|
||||||
|
"!=",
|
||||||
|
"!==",
|
||||||
|
"%",
|
||||||
|
"&",
|
||||||
|
"*",
|
||||||
|
"+",
|
||||||
|
"-",
|
||||||
|
"/",
|
||||||
|
"//",
|
||||||
|
"<",
|
||||||
|
"<<",
|
||||||
|
"<=",
|
||||||
|
"==",
|
||||||
|
"===",
|
||||||
|
"=>",
|
||||||
|
">",
|
||||||
|
">=",
|
||||||
|
">>",
|
||||||
|
">>>",
|
||||||
|
"\\",
|
||||||
|
"^",
|
||||||
|
"|",
|
||||||
|
"|>",
|
||||||
|
"~",
|
||||||
|
"÷",
|
||||||
|
"∈",
|
||||||
|
"∉",
|
||||||
|
"∋",
|
||||||
|
"∌",
|
||||||
|
"∘",
|
||||||
|
"√",
|
||||||
|
"∛",
|
||||||
|
"∩",
|
||||||
|
"∪",
|
||||||
|
"≈",
|
||||||
|
"≉",
|
||||||
|
"≠",
|
||||||
|
"≡",
|
||||||
|
"≢",
|
||||||
|
"≤",
|
||||||
|
"≥",
|
||||||
|
"⊆",
|
||||||
|
"⊇",
|
||||||
|
"⊈",
|
||||||
|
"⊉",
|
||||||
|
"⊊",
|
||||||
|
"⊋",
|
||||||
|
"⊻"
|
||||||
|
],
|
||||||
|
brackets: [
|
||||||
|
{ open: "(", close: ")", token: "delimiter.parenthesis" },
|
||||||
|
{ open: "{", close: "}", token: "delimiter.curly" },
|
||||||
|
{ open: "[", close: "]", token: "delimiter.square" }
|
||||||
|
],
|
||||||
|
ident: /π|ℯ|\b(?!\d)\w+\b/,
|
||||||
|
// escape sequences
|
||||||
|
escape: /(?:[abefnrstv\\"'\n\r]|[0-7]{1,3}|x[0-9A-Fa-f]{1,2}|u[0-9A-Fa-f]{4})/,
|
||||||
|
escapes: /\\(?:C\-(@escape|.)|c(@escape|.)|@escape)/,
|
||||||
|
// The main tokenizer for our languages
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
[/(::)\s*|\b(isa)\s+/, "keyword", "@typeanno"],
|
||||||
|
[/\b(isa)(\s*\(@ident\s*,\s*)/, ["keyword", { token: "", next: "@typeanno" }]],
|
||||||
|
[/\b(type|struct)[ \t]+/, "keyword", "@typeanno"],
|
||||||
|
// symbols
|
||||||
|
[/^\s*:@ident[!?]?/, "metatag"],
|
||||||
|
[/(return)(\s*:@ident[!?]?)/, ["keyword", "metatag"]],
|
||||||
|
[/(\(|\[|\{|@allops)(\s*:@ident[!?]?)/, ["", "metatag"]],
|
||||||
|
[/:\(/, "metatag", "@quote"],
|
||||||
|
// regular expressions
|
||||||
|
[/r"""/, "regexp.delim", "@tregexp"],
|
||||||
|
[/r"/, "regexp.delim", "@sregexp"],
|
||||||
|
// strings
|
||||||
|
[/raw"""/, "string.delim", "@rtstring"],
|
||||||
|
[/[bv]?"""/, "string.delim", "@dtstring"],
|
||||||
|
[/raw"/, "string.delim", "@rsstring"],
|
||||||
|
[/[bv]?"/, "string.delim", "@dsstring"],
|
||||||
|
[
|
||||||
|
/(@ident)\{/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$1@types": { token: "type", next: "@gen" },
|
||||||
|
"@default": { token: "type", next: "@gen" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/@ident[!?'']?(?=\.?\()/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@types": "type",
|
||||||
|
"@keywords": "keyword",
|
||||||
|
"@constants": "variable",
|
||||||
|
"@default": "keyword.flow"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/@ident[!?']?/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@types": "type",
|
||||||
|
"@keywords": "keyword",
|
||||||
|
"@constants": "variable",
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/\$\w+/, "key"],
|
||||||
|
[/\$\(/, "key", "@paste"],
|
||||||
|
[/@@@ident/, "annotation"],
|
||||||
|
// whitespace
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
// characters
|
||||||
|
[/'(?:@escapes|.)'/, "string.character"],
|
||||||
|
// delimiters and operators
|
||||||
|
[/[()\[\]{}]/, "@brackets"],
|
||||||
|
[
|
||||||
|
/@allops/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@keywordops": "keyword",
|
||||||
|
"@operators": "operator"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/[;,]/, "delimiter"],
|
||||||
|
// numbers
|
||||||
|
[/0[xX][0-9a-fA-F](_?[0-9a-fA-F])*/, "number.hex"],
|
||||||
|
[/0[_oO][0-7](_?[0-7])*/, "number.octal"],
|
||||||
|
[/0[bB][01](_?[01])*/, "number.binary"],
|
||||||
|
[/[+\-]?\d+(\.\d+)?(im?|[eE][+\-]?\d+(\.\d+)?)?/, "number"]
|
||||||
|
],
|
||||||
|
// type
|
||||||
|
typeanno: [
|
||||||
|
[/[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*\{/, "type", "@gen"],
|
||||||
|
[/([a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*)(\s*<:\s*)/, ["type", "keyword"]],
|
||||||
|
[/[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*/, "type", "@pop"],
|
||||||
|
["", "", "@pop"]
|
||||||
|
],
|
||||||
|
// generic type
|
||||||
|
gen: [
|
||||||
|
[/[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*\{/, "type", "@push"],
|
||||||
|
[/[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*/, "type"],
|
||||||
|
[/<:/, "keyword"],
|
||||||
|
[/(\})(\s*<:\s*)/, ["type", { token: "keyword", next: "@pop" }]],
|
||||||
|
[/\}/, "type", "@pop"],
|
||||||
|
{ include: "@root" }
|
||||||
|
],
|
||||||
|
// $(...)
|
||||||
|
quote: [
|
||||||
|
[/\$\(/, "key", "@paste"],
|
||||||
|
[/\(/, "@brackets", "@paren"],
|
||||||
|
[/\)/, "metatag", "@pop"],
|
||||||
|
{ include: "@root" }
|
||||||
|
],
|
||||||
|
// :(...)
|
||||||
|
paste: [
|
||||||
|
[/:\(/, "metatag", "@quote"],
|
||||||
|
[/\(/, "@brackets", "@paren"],
|
||||||
|
[/\)/, "key", "@pop"],
|
||||||
|
{ include: "@root" }
|
||||||
|
],
|
||||||
|
// (...)
|
||||||
|
paren: [
|
||||||
|
[/\$\(/, "key", "@paste"],
|
||||||
|
[/:\(/, "metatag", "@quote"],
|
||||||
|
[/\(/, "@brackets", "@push"],
|
||||||
|
[/\)/, "@brackets", "@pop"],
|
||||||
|
{ include: "@root" }
|
||||||
|
],
|
||||||
|
// r"egex string"
|
||||||
|
sregexp: [
|
||||||
|
[/^.*/, "invalid"],
|
||||||
|
[/[^\\"()\[\]{}]/, "regexp"],
|
||||||
|
[/[()\[\]{}]/, "@brackets"],
|
||||||
|
[/\\./, "operator.scss"],
|
||||||
|
[/"[imsx]*/, "regexp.delim", "@pop"]
|
||||||
|
],
|
||||||
|
tregexp: [
|
||||||
|
[/[^\\"()\[\]{}]/, "regexp"],
|
||||||
|
[/[()\[\]{}]/, "@brackets"],
|
||||||
|
[/\\./, "operator.scss"],
|
||||||
|
[/"(?!"")/, "string"],
|
||||||
|
[/"""[imsx]*/, "regexp.delim", "@pop"]
|
||||||
|
],
|
||||||
|
// raw"string"
|
||||||
|
rsstring: [
|
||||||
|
[/^.*/, "invalid"],
|
||||||
|
[/[^\\"]/, "string"],
|
||||||
|
[/\\./, "string.escape"],
|
||||||
|
[/"/, "string.delim", "@pop"]
|
||||||
|
],
|
||||||
|
rtstring: [
|
||||||
|
[/[^\\"]/, "string"],
|
||||||
|
[/\\./, "string.escape"],
|
||||||
|
[/"(?!"")/, "string"],
|
||||||
|
[/"""/, "string.delim", "@pop"]
|
||||||
|
],
|
||||||
|
// "string".
|
||||||
|
dsstring: [
|
||||||
|
[/^.*/, "invalid"],
|
||||||
|
[/[^\\"\$]/, "string"],
|
||||||
|
[/\$/, "", "@interpolated"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/\\./, "string.escape.invalid"],
|
||||||
|
[/"/, "string.delim", "@pop"]
|
||||||
|
],
|
||||||
|
dtstring: [
|
||||||
|
[/[^\\"\$]/, "string"],
|
||||||
|
[/\$/, "", "@interpolated"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/\\./, "string.escape.invalid"],
|
||||||
|
[/"(?!"")/, "string"],
|
||||||
|
[/"""/, "string.delim", "@pop"]
|
||||||
|
],
|
||||||
|
// interpolated sequence
|
||||||
|
interpolated: [
|
||||||
|
[/\(/, { token: "", switchTo: "@interpolated_compound" }],
|
||||||
|
[/[a-zA-Z_]\w*/, "identifier"],
|
||||||
|
["", "", "@pop"]
|
||||||
|
// just a $ is interpreted as a $
|
||||||
|
],
|
||||||
|
// any code
|
||||||
|
interpolated_compound: [[/\)/, "", "@pop"], { include: "@root" }],
|
||||||
|
// whitespace & comments
|
||||||
|
whitespace: [
|
||||||
|
[/[ \t\r\n]+/, ""],
|
||||||
|
[/#=/, "comment", "@multi_comment"],
|
||||||
|
[/#.*$/, "comment"]
|
||||||
|
],
|
||||||
|
multi_comment: [
|
||||||
|
[/#=/, "comment", "@push"],
|
||||||
|
[/=#/, "comment", "@pop"],
|
||||||
|
[/=(?!#)|#(?!=)/, "comment"],
|
||||||
|
[/[^#=]+/, "comment"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
256
_internal/editor/dev/vs/kotlin-BlB-2Ilc.js
Normal file
256
_internal/editor/dev/vs/kotlin-BlB-2Ilc.js
Normal file
@@ -0,0 +1,256 @@
|
|||||||
|
define("vs/kotlin-BlB-2Ilc", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
// the default separators except `@$`
|
||||||
|
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
|
||||||
|
comments: {
|
||||||
|
lineComment: "//",
|
||||||
|
blockComment: ["/*", "*/"]
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" },
|
||||||
|
{ open: "<", close: ">" }
|
||||||
|
],
|
||||||
|
folding: {
|
||||||
|
markers: {
|
||||||
|
start: new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))"),
|
||||||
|
end: new RegExp("^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".kt",
|
||||||
|
keywords: [
|
||||||
|
"as",
|
||||||
|
"as?",
|
||||||
|
"break",
|
||||||
|
"class",
|
||||||
|
"continue",
|
||||||
|
"do",
|
||||||
|
"else",
|
||||||
|
"false",
|
||||||
|
"for",
|
||||||
|
"fun",
|
||||||
|
"if",
|
||||||
|
"in",
|
||||||
|
"!in",
|
||||||
|
"interface",
|
||||||
|
"is",
|
||||||
|
"!is",
|
||||||
|
"null",
|
||||||
|
"object",
|
||||||
|
"package",
|
||||||
|
"return",
|
||||||
|
"super",
|
||||||
|
"this",
|
||||||
|
"throw",
|
||||||
|
"true",
|
||||||
|
"try",
|
||||||
|
"typealias",
|
||||||
|
"val",
|
||||||
|
"var",
|
||||||
|
"when",
|
||||||
|
"while",
|
||||||
|
"by",
|
||||||
|
"catch",
|
||||||
|
"constructor",
|
||||||
|
"delegate",
|
||||||
|
"dynamic",
|
||||||
|
"field",
|
||||||
|
"file",
|
||||||
|
"finally",
|
||||||
|
"get",
|
||||||
|
"import",
|
||||||
|
"init",
|
||||||
|
"param",
|
||||||
|
"property",
|
||||||
|
"receiver",
|
||||||
|
"set",
|
||||||
|
"setparam",
|
||||||
|
"where",
|
||||||
|
"actual",
|
||||||
|
"abstract",
|
||||||
|
"annotation",
|
||||||
|
"companion",
|
||||||
|
"const",
|
||||||
|
"crossinline",
|
||||||
|
"data",
|
||||||
|
"enum",
|
||||||
|
"expect",
|
||||||
|
"external",
|
||||||
|
"final",
|
||||||
|
"infix",
|
||||||
|
"inline",
|
||||||
|
"inner",
|
||||||
|
"internal",
|
||||||
|
"lateinit",
|
||||||
|
"noinline",
|
||||||
|
"open",
|
||||||
|
"operator",
|
||||||
|
"out",
|
||||||
|
"override",
|
||||||
|
"private",
|
||||||
|
"protected",
|
||||||
|
"public",
|
||||||
|
"reified",
|
||||||
|
"sealed",
|
||||||
|
"suspend",
|
||||||
|
"tailrec",
|
||||||
|
"vararg",
|
||||||
|
"field",
|
||||||
|
"it"
|
||||||
|
],
|
||||||
|
operators: [
|
||||||
|
"+",
|
||||||
|
"-",
|
||||||
|
"*",
|
||||||
|
"/",
|
||||||
|
"%",
|
||||||
|
"=",
|
||||||
|
"+=",
|
||||||
|
"-=",
|
||||||
|
"*=",
|
||||||
|
"/=",
|
||||||
|
"%=",
|
||||||
|
"++",
|
||||||
|
"--",
|
||||||
|
"&&",
|
||||||
|
"||",
|
||||||
|
"!",
|
||||||
|
"==",
|
||||||
|
"!=",
|
||||||
|
"===",
|
||||||
|
"!==",
|
||||||
|
">",
|
||||||
|
"<",
|
||||||
|
"<=",
|
||||||
|
">=",
|
||||||
|
"[",
|
||||||
|
"]",
|
||||||
|
"!!",
|
||||||
|
"?.",
|
||||||
|
"?:",
|
||||||
|
"::",
|
||||||
|
"..",
|
||||||
|
":",
|
||||||
|
"?",
|
||||||
|
"->",
|
||||||
|
"@",
|
||||||
|
";",
|
||||||
|
"$",
|
||||||
|
"_"
|
||||||
|
],
|
||||||
|
// 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})/,
|
||||||
|
digits: /\d+(_+\d+)*/,
|
||||||
|
octaldigits: /[0-7]+(_+[0-7]+)*/,
|
||||||
|
binarydigits: /[0-1]+(_+[0-1]+)*/,
|
||||||
|
hexdigits: /[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,
|
||||||
|
// The main tokenizer for our languages
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
// class name highlighting
|
||||||
|
[/[A-Z][\w\$]*/, "type.identifier"],
|
||||||
|
// identifiers and keywords
|
||||||
|
[
|
||||||
|
/[a-zA-Z_$][\w$]*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@keywords": { token: "keyword.$0" },
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// whitespace
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
// delimiters and operators
|
||||||
|
[/[{}()\[\]]/, "@brackets"],
|
||||||
|
[/[<>](?!@symbols)/, "@brackets"],
|
||||||
|
[
|
||||||
|
/@symbols/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@operators": "delimiter",
|
||||||
|
"@default": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// @ annotations.
|
||||||
|
[/@\s*[a-zA-Z_\$][\w\$]*/, "annotation"],
|
||||||
|
// numbers
|
||||||
|
[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/, "number.float"],
|
||||||
|
[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/, "number.float"],
|
||||||
|
[/0[xX](@hexdigits)[Ll]?/, "number.hex"],
|
||||||
|
[/0(@octaldigits)[Ll]?/, "number.octal"],
|
||||||
|
[/0[bB](@binarydigits)[Ll]?/, "number.binary"],
|
||||||
|
[/(@digits)[fFdD]/, "number.float"],
|
||||||
|
[/(@digits)[lL]?/, "number"],
|
||||||
|
// delimiter: after number because of .\d floats
|
||||||
|
[/[;,.]/, "delimiter"],
|
||||||
|
// strings
|
||||||
|
[/"([^"\\]|\\.)*$/, "string.invalid"],
|
||||||
|
// non-teminated string
|
||||||
|
[/"""/, "string", "@multistring"],
|
||||||
|
[/"/, "string", "@string"],
|
||||||
|
// characters
|
||||||
|
[/'[^\\']'/, "string"],
|
||||||
|
[/(')(@escapes)(')/, ["string", "string.escape", "string"]],
|
||||||
|
[/'/, "string.invalid"]
|
||||||
|
],
|
||||||
|
whitespace: [
|
||||||
|
[/[ \t\r\n]+/, ""],
|
||||||
|
[/\/\*\*(?!\/)/, "comment.doc", "@javadoc"],
|
||||||
|
[/\/\*/, "comment", "@comment"],
|
||||||
|
[/\/\/.*$/, "comment"]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
[/[^\/*]+/, "comment"],
|
||||||
|
[/\/\*/, "comment", "@comment"],
|
||||||
|
[/\*\//, "comment", "@pop"],
|
||||||
|
[/[\/*]/, "comment"]
|
||||||
|
],
|
||||||
|
//Identical copy of comment above, except for the addition of .doc
|
||||||
|
javadoc: [
|
||||||
|
[/[^\/*]+/, "comment.doc"],
|
||||||
|
[/\/\*/, "comment.doc", "@push"],
|
||||||
|
[/\/\*/, "comment.doc.invalid"],
|
||||||
|
[/\*\//, "comment.doc", "@pop"],
|
||||||
|
[/[\/*]/, "comment.doc"]
|
||||||
|
],
|
||||||
|
string: [
|
||||||
|
[/[^\\"]+/, "string"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/\\./, "string.escape.invalid"],
|
||||||
|
[/"/, "string", "@pop"]
|
||||||
|
],
|
||||||
|
multistring: [
|
||||||
|
[/[^\\"]+/, "string"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/\\./, "string.escape.invalid"],
|
||||||
|
[/"""/, "string", "@pop"],
|
||||||
|
[/./, "string"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
118
_internal/editor/dev/vs/language/css/monaco.contribution.js
Normal file
118
_internal/editor/dev/vs/language/css/monaco.contribution.js
Normal file
@@ -0,0 +1,118 @@
|
|||||||
|
define("vs/language/css/monaco.contribution", ["require", "exports", "../../editor.api-BhD7pWdi"], (function(require, exports, editor_api) {
|
||||||
|
"use strict";
|
||||||
|
class LanguageServiceDefaultsImpl {
|
||||||
|
constructor(languageId, options, modeConfiguration) {
|
||||||
|
this._onDidChange = new editor_api.Emitter();
|
||||||
|
this._languageId = languageId;
|
||||||
|
this.setOptions(options);
|
||||||
|
this.setModeConfiguration(modeConfiguration);
|
||||||
|
}
|
||||||
|
get onDidChange() {
|
||||||
|
return this._onDidChange.event;
|
||||||
|
}
|
||||||
|
get languageId() {
|
||||||
|
return this._languageId;
|
||||||
|
}
|
||||||
|
get modeConfiguration() {
|
||||||
|
return this._modeConfiguration;
|
||||||
|
}
|
||||||
|
get diagnosticsOptions() {
|
||||||
|
return this.options;
|
||||||
|
}
|
||||||
|
get options() {
|
||||||
|
return this._options;
|
||||||
|
}
|
||||||
|
setOptions(options) {
|
||||||
|
this._options = options || /* @__PURE__ */ Object.create(null);
|
||||||
|
this._onDidChange.fire(this);
|
||||||
|
}
|
||||||
|
setDiagnosticsOptions(options) {
|
||||||
|
this.setOptions(options);
|
||||||
|
}
|
||||||
|
setModeConfiguration(modeConfiguration) {
|
||||||
|
this._modeConfiguration = modeConfiguration || /* @__PURE__ */ Object.create(null);
|
||||||
|
this._onDidChange.fire(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const optionsDefault = {
|
||||||
|
validate: true,
|
||||||
|
lint: {
|
||||||
|
compatibleVendorPrefixes: "ignore",
|
||||||
|
vendorPrefix: "warning",
|
||||||
|
duplicateProperties: "warning",
|
||||||
|
emptyRules: "warning",
|
||||||
|
importStatement: "ignore",
|
||||||
|
boxModel: "ignore",
|
||||||
|
universalSelector: "ignore",
|
||||||
|
zeroUnits: "ignore",
|
||||||
|
fontFaceProperties: "warning",
|
||||||
|
hexColorLength: "error",
|
||||||
|
argumentsInColorFunction: "error",
|
||||||
|
unknownProperties: "warning",
|
||||||
|
ieHack: "ignore",
|
||||||
|
unknownVendorSpecificProperties: "ignore",
|
||||||
|
propertyIgnoredDueToDisplay: "warning",
|
||||||
|
important: "ignore",
|
||||||
|
float: "ignore",
|
||||||
|
idSelector: "ignore"
|
||||||
|
},
|
||||||
|
data: { useDefaultDataProvider: true },
|
||||||
|
format: {
|
||||||
|
newlineBetweenSelectors: true,
|
||||||
|
newlineBetweenRules: true,
|
||||||
|
spaceAroundSelectorSeparator: false,
|
||||||
|
braceStyle: "collapse",
|
||||||
|
maxPreserveNewLines: void 0,
|
||||||
|
preserveNewLines: true
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const modeConfigurationDefault = {
|
||||||
|
completionItems: true,
|
||||||
|
hovers: true,
|
||||||
|
documentSymbols: true,
|
||||||
|
definitions: true,
|
||||||
|
references: true,
|
||||||
|
documentHighlights: true,
|
||||||
|
rename: true,
|
||||||
|
colors: true,
|
||||||
|
foldingRanges: true,
|
||||||
|
diagnostics: true,
|
||||||
|
selectionRanges: true,
|
||||||
|
documentFormattingEdits: true,
|
||||||
|
documentRangeFormattingEdits: true
|
||||||
|
};
|
||||||
|
const cssDefaults = new LanguageServiceDefaultsImpl(
|
||||||
|
"css",
|
||||||
|
optionsDefault,
|
||||||
|
modeConfigurationDefault
|
||||||
|
);
|
||||||
|
const scssDefaults = new LanguageServiceDefaultsImpl(
|
||||||
|
"scss",
|
||||||
|
optionsDefault,
|
||||||
|
modeConfigurationDefault
|
||||||
|
);
|
||||||
|
const lessDefaults = new LanguageServiceDefaultsImpl(
|
||||||
|
"less",
|
||||||
|
optionsDefault,
|
||||||
|
modeConfigurationDefault
|
||||||
|
);
|
||||||
|
editor_api.languages.css = { cssDefaults, lessDefaults, scssDefaults };
|
||||||
|
function getMode() {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../../cssMode-YNsTpAl9"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
editor_api.languages.onLanguage("less", () => {
|
||||||
|
getMode().then((mode2) => mode2.setupMode(lessDefaults));
|
||||||
|
});
|
||||||
|
editor_api.languages.onLanguage("scss", () => {
|
||||||
|
getMode().then((mode2) => mode2.setupMode(scssDefaults));
|
||||||
|
});
|
||||||
|
editor_api.languages.onLanguage("css", () => {
|
||||||
|
getMode().then((mode2) => mode2.setupMode(cssDefaults));
|
||||||
|
});
|
||||||
|
exports.cssDefaults = cssDefaults;
|
||||||
|
exports.lessDefaults = lessDefaults;
|
||||||
|
exports.scssDefaults = scssDefaults;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
127
_internal/editor/dev/vs/language/html/monaco.contribution.js
Normal file
127
_internal/editor/dev/vs/language/html/monaco.contribution.js
Normal file
@@ -0,0 +1,127 @@
|
|||||||
|
define("vs/language/html/monaco.contribution", ["require", "exports", "../../editor.api-BhD7pWdi"], (function(require, exports, editor_api) {
|
||||||
|
"use strict";
|
||||||
|
class LanguageServiceDefaultsImpl {
|
||||||
|
constructor(languageId, options, modeConfiguration) {
|
||||||
|
this._onDidChange = new editor_api.Emitter();
|
||||||
|
this._languageId = languageId;
|
||||||
|
this.setOptions(options);
|
||||||
|
this.setModeConfiguration(modeConfiguration);
|
||||||
|
}
|
||||||
|
get onDidChange() {
|
||||||
|
return this._onDidChange.event;
|
||||||
|
}
|
||||||
|
get languageId() {
|
||||||
|
return this._languageId;
|
||||||
|
}
|
||||||
|
get options() {
|
||||||
|
return this._options;
|
||||||
|
}
|
||||||
|
get modeConfiguration() {
|
||||||
|
return this._modeConfiguration;
|
||||||
|
}
|
||||||
|
setOptions(options) {
|
||||||
|
this._options = options || /* @__PURE__ */ Object.create(null);
|
||||||
|
this._onDidChange.fire(this);
|
||||||
|
}
|
||||||
|
setModeConfiguration(modeConfiguration) {
|
||||||
|
this._modeConfiguration = modeConfiguration || /* @__PURE__ */ Object.create(null);
|
||||||
|
this._onDidChange.fire(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const formatDefaults = {
|
||||||
|
tabSize: 4,
|
||||||
|
insertSpaces: false,
|
||||||
|
wrapLineLength: 120,
|
||||||
|
unformatted: 'default": "a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var',
|
||||||
|
contentUnformatted: "pre",
|
||||||
|
indentInnerHtml: false,
|
||||||
|
preserveNewLines: true,
|
||||||
|
maxPreserveNewLines: void 0,
|
||||||
|
indentHandlebars: false,
|
||||||
|
endWithNewline: false,
|
||||||
|
extraLiners: "head, body, /html",
|
||||||
|
wrapAttributes: "auto"
|
||||||
|
};
|
||||||
|
const optionsDefault = {
|
||||||
|
format: formatDefaults,
|
||||||
|
suggest: {},
|
||||||
|
data: { useDefaultDataProvider: true }
|
||||||
|
};
|
||||||
|
function getConfigurationDefault(languageId) {
|
||||||
|
return {
|
||||||
|
completionItems: true,
|
||||||
|
hovers: true,
|
||||||
|
documentSymbols: true,
|
||||||
|
links: true,
|
||||||
|
documentHighlights: true,
|
||||||
|
rename: true,
|
||||||
|
colors: true,
|
||||||
|
foldingRanges: true,
|
||||||
|
selectionRanges: true,
|
||||||
|
diagnostics: languageId === htmlLanguageId,
|
||||||
|
// turned off for Razor and Handlebar
|
||||||
|
documentFormattingEdits: languageId === htmlLanguageId,
|
||||||
|
// turned off for Razor and Handlebar
|
||||||
|
documentRangeFormattingEdits: languageId === htmlLanguageId
|
||||||
|
// turned off for Razor and Handlebar
|
||||||
|
};
|
||||||
|
}
|
||||||
|
const htmlLanguageId = "html";
|
||||||
|
const handlebarsLanguageId = "handlebars";
|
||||||
|
const razorLanguageId = "razor";
|
||||||
|
const htmlLanguageService = registerHTMLLanguageService(
|
||||||
|
htmlLanguageId,
|
||||||
|
optionsDefault,
|
||||||
|
getConfigurationDefault(htmlLanguageId)
|
||||||
|
);
|
||||||
|
const htmlDefaults = htmlLanguageService.defaults;
|
||||||
|
const handlebarLanguageService = registerHTMLLanguageService(
|
||||||
|
handlebarsLanguageId,
|
||||||
|
optionsDefault,
|
||||||
|
getConfigurationDefault(handlebarsLanguageId)
|
||||||
|
);
|
||||||
|
const handlebarDefaults = handlebarLanguageService.defaults;
|
||||||
|
const razorLanguageService = registerHTMLLanguageService(
|
||||||
|
razorLanguageId,
|
||||||
|
optionsDefault,
|
||||||
|
getConfigurationDefault(razorLanguageId)
|
||||||
|
);
|
||||||
|
const razorDefaults = razorLanguageService.defaults;
|
||||||
|
editor_api.languages.html = {
|
||||||
|
htmlDefaults,
|
||||||
|
razorDefaults,
|
||||||
|
handlebarDefaults,
|
||||||
|
htmlLanguageService,
|
||||||
|
handlebarLanguageService,
|
||||||
|
razorLanguageService,
|
||||||
|
registerHTMLLanguageService
|
||||||
|
};
|
||||||
|
function getMode() {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../../htmlMode-BL74tky3"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function registerHTMLLanguageService(languageId, options = optionsDefault, modeConfiguration = getConfigurationDefault(languageId)) {
|
||||||
|
const defaults = new LanguageServiceDefaultsImpl(languageId, options, modeConfiguration);
|
||||||
|
let mode2;
|
||||||
|
const onLanguageListener = editor_api.languages.onLanguage(languageId, async () => {
|
||||||
|
mode2 = (await getMode()).setupMode(defaults);
|
||||||
|
});
|
||||||
|
return {
|
||||||
|
defaults,
|
||||||
|
dispose() {
|
||||||
|
onLanguageListener.dispose();
|
||||||
|
mode2?.dispose();
|
||||||
|
mode2 = void 0;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
exports.handlebarDefaults = handlebarDefaults;
|
||||||
|
exports.handlebarLanguageService = handlebarLanguageService;
|
||||||
|
exports.htmlDefaults = htmlDefaults;
|
||||||
|
exports.htmlLanguageService = htmlLanguageService;
|
||||||
|
exports.razorDefaults = razorDefaults;
|
||||||
|
exports.razorLanguageService = razorLanguageService;
|
||||||
|
exports.registerHTMLLanguageService = registerHTMLLanguageService;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
77
_internal/editor/dev/vs/language/json/monaco.contribution.js
Normal file
77
_internal/editor/dev/vs/language/json/monaco.contribution.js
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
define("vs/language/json/monaco.contribution", ["require", "exports", "../../editor.api-BhD7pWdi"], (function(require, exports, editor_api) {
|
||||||
|
"use strict";
|
||||||
|
class LanguageServiceDefaultsImpl {
|
||||||
|
constructor(languageId, diagnosticsOptions, modeConfiguration) {
|
||||||
|
this._onDidChange = new editor_api.Emitter();
|
||||||
|
this._languageId = languageId;
|
||||||
|
this.setDiagnosticsOptions(diagnosticsOptions);
|
||||||
|
this.setModeConfiguration(modeConfiguration);
|
||||||
|
}
|
||||||
|
get onDidChange() {
|
||||||
|
return this._onDidChange.event;
|
||||||
|
}
|
||||||
|
get languageId() {
|
||||||
|
return this._languageId;
|
||||||
|
}
|
||||||
|
get modeConfiguration() {
|
||||||
|
return this._modeConfiguration;
|
||||||
|
}
|
||||||
|
get diagnosticsOptions() {
|
||||||
|
return this._diagnosticsOptions;
|
||||||
|
}
|
||||||
|
setDiagnosticsOptions(options) {
|
||||||
|
this._diagnosticsOptions = options || /* @__PURE__ */ Object.create(null);
|
||||||
|
this._onDidChange.fire(this);
|
||||||
|
}
|
||||||
|
setModeConfiguration(modeConfiguration) {
|
||||||
|
this._modeConfiguration = modeConfiguration || /* @__PURE__ */ Object.create(null);
|
||||||
|
this._onDidChange.fire(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const diagnosticDefault = {
|
||||||
|
validate: true,
|
||||||
|
allowComments: true,
|
||||||
|
schemas: [],
|
||||||
|
enableSchemaRequest: false,
|
||||||
|
schemaRequest: "warning",
|
||||||
|
schemaValidation: "warning",
|
||||||
|
comments: "error",
|
||||||
|
trailingCommas: "error"
|
||||||
|
};
|
||||||
|
const modeConfigurationDefault = {
|
||||||
|
documentFormattingEdits: true,
|
||||||
|
documentRangeFormattingEdits: true,
|
||||||
|
completionItems: true,
|
||||||
|
hovers: true,
|
||||||
|
documentSymbols: true,
|
||||||
|
tokens: true,
|
||||||
|
colors: true,
|
||||||
|
foldingRanges: true,
|
||||||
|
diagnostics: true,
|
||||||
|
selectionRanges: true
|
||||||
|
};
|
||||||
|
const jsonDefaults = new LanguageServiceDefaultsImpl(
|
||||||
|
"json",
|
||||||
|
diagnosticDefault,
|
||||||
|
modeConfigurationDefault
|
||||||
|
);
|
||||||
|
const getWorker = () => getMode().then((mode2) => mode2.getWorker());
|
||||||
|
editor_api.languages.json = { jsonDefaults, getWorker };
|
||||||
|
function getMode() {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../../jsonMode-KHMzkiG2"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
editor_api.languages.register({
|
||||||
|
id: "json",
|
||||||
|
extensions: [".json", ".bowerrc", ".jshintrc", ".jscsrc", ".eslintrc", ".babelrc", ".har"],
|
||||||
|
aliases: ["JSON", "json"],
|
||||||
|
mimetypes: ["application/json"]
|
||||||
|
});
|
||||||
|
editor_api.languages.onLanguage("json", () => {
|
||||||
|
getMode().then((mode2) => mode2.setupMode(jsonDefaults));
|
||||||
|
});
|
||||||
|
exports.getWorker = getWorker;
|
||||||
|
exports.jsonDefaults = jsonDefaults;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
@@ -0,0 +1,266 @@
|
|||||||
|
define("vs/language/typescript/monaco.contribution", ["require", "exports", "../../editor.api-BhD7pWdi"], (function(require, exports, editor_api) {
|
||||||
|
"use strict";
|
||||||
|
const typescriptVersion$1 = "5.4.5";
|
||||||
|
var ModuleKind = /* @__PURE__ */ ((ModuleKind2) => {
|
||||||
|
ModuleKind2[ModuleKind2["None"] = 0] = "None";
|
||||||
|
ModuleKind2[ModuleKind2["CommonJS"] = 1] = "CommonJS";
|
||||||
|
ModuleKind2[ModuleKind2["AMD"] = 2] = "AMD";
|
||||||
|
ModuleKind2[ModuleKind2["UMD"] = 3] = "UMD";
|
||||||
|
ModuleKind2[ModuleKind2["System"] = 4] = "System";
|
||||||
|
ModuleKind2[ModuleKind2["ES2015"] = 5] = "ES2015";
|
||||||
|
ModuleKind2[ModuleKind2["ESNext"] = 99] = "ESNext";
|
||||||
|
return ModuleKind2;
|
||||||
|
})(ModuleKind || {});
|
||||||
|
var JsxEmit = /* @__PURE__ */ ((JsxEmit2) => {
|
||||||
|
JsxEmit2[JsxEmit2["None"] = 0] = "None";
|
||||||
|
JsxEmit2[JsxEmit2["Preserve"] = 1] = "Preserve";
|
||||||
|
JsxEmit2[JsxEmit2["React"] = 2] = "React";
|
||||||
|
JsxEmit2[JsxEmit2["ReactNative"] = 3] = "ReactNative";
|
||||||
|
JsxEmit2[JsxEmit2["ReactJSX"] = 4] = "ReactJSX";
|
||||||
|
JsxEmit2[JsxEmit2["ReactJSXDev"] = 5] = "ReactJSXDev";
|
||||||
|
return JsxEmit2;
|
||||||
|
})(JsxEmit || {});
|
||||||
|
var NewLineKind = /* @__PURE__ */ ((NewLineKind2) => {
|
||||||
|
NewLineKind2[NewLineKind2["CarriageReturnLineFeed"] = 0] = "CarriageReturnLineFeed";
|
||||||
|
NewLineKind2[NewLineKind2["LineFeed"] = 1] = "LineFeed";
|
||||||
|
return NewLineKind2;
|
||||||
|
})(NewLineKind || {});
|
||||||
|
var ScriptTarget = /* @__PURE__ */ ((ScriptTarget2) => {
|
||||||
|
ScriptTarget2[ScriptTarget2["ES3"] = 0] = "ES3";
|
||||||
|
ScriptTarget2[ScriptTarget2["ES5"] = 1] = "ES5";
|
||||||
|
ScriptTarget2[ScriptTarget2["ES2015"] = 2] = "ES2015";
|
||||||
|
ScriptTarget2[ScriptTarget2["ES2016"] = 3] = "ES2016";
|
||||||
|
ScriptTarget2[ScriptTarget2["ES2017"] = 4] = "ES2017";
|
||||||
|
ScriptTarget2[ScriptTarget2["ES2018"] = 5] = "ES2018";
|
||||||
|
ScriptTarget2[ScriptTarget2["ES2019"] = 6] = "ES2019";
|
||||||
|
ScriptTarget2[ScriptTarget2["ES2020"] = 7] = "ES2020";
|
||||||
|
ScriptTarget2[ScriptTarget2["ESNext"] = 99] = "ESNext";
|
||||||
|
ScriptTarget2[ScriptTarget2["JSON"] = 100] = "JSON";
|
||||||
|
ScriptTarget2[
|
||||||
|
ScriptTarget2["Latest"] = 99
|
||||||
|
/* ESNext */
|
||||||
|
] = "Latest";
|
||||||
|
return ScriptTarget2;
|
||||||
|
})(ScriptTarget || {});
|
||||||
|
var ModuleResolutionKind = /* @__PURE__ */ ((ModuleResolutionKind2) => {
|
||||||
|
ModuleResolutionKind2[ModuleResolutionKind2["Classic"] = 1] = "Classic";
|
||||||
|
ModuleResolutionKind2[ModuleResolutionKind2["NodeJs"] = 2] = "NodeJs";
|
||||||
|
return ModuleResolutionKind2;
|
||||||
|
})(ModuleResolutionKind || {});
|
||||||
|
class LanguageServiceDefaultsImpl {
|
||||||
|
constructor(compilerOptions, diagnosticsOptions, workerOptions, inlayHintsOptions, modeConfiguration) {
|
||||||
|
this._onDidChange = new editor_api.Emitter();
|
||||||
|
this._onDidExtraLibsChange = new editor_api.Emitter();
|
||||||
|
this._extraLibs = /* @__PURE__ */ Object.create(null);
|
||||||
|
this._removedExtraLibs = /* @__PURE__ */ Object.create(null);
|
||||||
|
this._eagerModelSync = false;
|
||||||
|
this.setCompilerOptions(compilerOptions);
|
||||||
|
this.setDiagnosticsOptions(diagnosticsOptions);
|
||||||
|
this.setWorkerOptions(workerOptions);
|
||||||
|
this.setInlayHintsOptions(inlayHintsOptions);
|
||||||
|
this.setModeConfiguration(modeConfiguration);
|
||||||
|
this._onDidExtraLibsChangeTimeout = -1;
|
||||||
|
}
|
||||||
|
get onDidChange() {
|
||||||
|
return this._onDidChange.event;
|
||||||
|
}
|
||||||
|
get onDidExtraLibsChange() {
|
||||||
|
return this._onDidExtraLibsChange.event;
|
||||||
|
}
|
||||||
|
get modeConfiguration() {
|
||||||
|
return this._modeConfiguration;
|
||||||
|
}
|
||||||
|
get workerOptions() {
|
||||||
|
return this._workerOptions;
|
||||||
|
}
|
||||||
|
get inlayHintsOptions() {
|
||||||
|
return this._inlayHintsOptions;
|
||||||
|
}
|
||||||
|
getExtraLibs() {
|
||||||
|
return this._extraLibs;
|
||||||
|
}
|
||||||
|
addExtraLib(content, _filePath) {
|
||||||
|
let filePath;
|
||||||
|
if (typeof _filePath === "undefined") {
|
||||||
|
filePath = `ts:extralib-${Math.random().toString(36).substring(2, 15)}`;
|
||||||
|
} else {
|
||||||
|
filePath = _filePath;
|
||||||
|
}
|
||||||
|
if (this._extraLibs[filePath] && this._extraLibs[filePath].content === content) {
|
||||||
|
return {
|
||||||
|
dispose: () => {
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
let myVersion = 1;
|
||||||
|
if (this._removedExtraLibs[filePath]) {
|
||||||
|
myVersion = this._removedExtraLibs[filePath] + 1;
|
||||||
|
}
|
||||||
|
if (this._extraLibs[filePath]) {
|
||||||
|
myVersion = this._extraLibs[filePath].version + 1;
|
||||||
|
}
|
||||||
|
this._extraLibs[filePath] = {
|
||||||
|
content,
|
||||||
|
version: myVersion
|
||||||
|
};
|
||||||
|
this._fireOnDidExtraLibsChangeSoon();
|
||||||
|
return {
|
||||||
|
dispose: () => {
|
||||||
|
let extraLib = this._extraLibs[filePath];
|
||||||
|
if (!extraLib) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (extraLib.version !== myVersion) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
delete this._extraLibs[filePath];
|
||||||
|
this._removedExtraLibs[filePath] = myVersion;
|
||||||
|
this._fireOnDidExtraLibsChangeSoon();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
setExtraLibs(libs) {
|
||||||
|
for (const filePath in this._extraLibs) {
|
||||||
|
this._removedExtraLibs[filePath] = this._extraLibs[filePath].version;
|
||||||
|
}
|
||||||
|
this._extraLibs = /* @__PURE__ */ Object.create(null);
|
||||||
|
if (libs && libs.length > 0) {
|
||||||
|
for (const lib of libs) {
|
||||||
|
const filePath = lib.filePath || `ts:extralib-${Math.random().toString(36).substring(2, 15)}`;
|
||||||
|
const content = lib.content;
|
||||||
|
let myVersion = 1;
|
||||||
|
if (this._removedExtraLibs[filePath]) {
|
||||||
|
myVersion = this._removedExtraLibs[filePath] + 1;
|
||||||
|
}
|
||||||
|
this._extraLibs[filePath] = {
|
||||||
|
content,
|
||||||
|
version: myVersion
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this._fireOnDidExtraLibsChangeSoon();
|
||||||
|
}
|
||||||
|
_fireOnDidExtraLibsChangeSoon() {
|
||||||
|
if (this._onDidExtraLibsChangeTimeout !== -1) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this._onDidExtraLibsChangeTimeout = window.setTimeout(() => {
|
||||||
|
this._onDidExtraLibsChangeTimeout = -1;
|
||||||
|
this._onDidExtraLibsChange.fire(void 0);
|
||||||
|
}, 0);
|
||||||
|
}
|
||||||
|
getCompilerOptions() {
|
||||||
|
return this._compilerOptions;
|
||||||
|
}
|
||||||
|
setCompilerOptions(options) {
|
||||||
|
this._compilerOptions = options || /* @__PURE__ */ Object.create(null);
|
||||||
|
this._onDidChange.fire(void 0);
|
||||||
|
}
|
||||||
|
getDiagnosticsOptions() {
|
||||||
|
return this._diagnosticsOptions;
|
||||||
|
}
|
||||||
|
setDiagnosticsOptions(options) {
|
||||||
|
this._diagnosticsOptions = options || /* @__PURE__ */ Object.create(null);
|
||||||
|
this._onDidChange.fire(void 0);
|
||||||
|
}
|
||||||
|
setWorkerOptions(options) {
|
||||||
|
this._workerOptions = options || /* @__PURE__ */ Object.create(null);
|
||||||
|
this._onDidChange.fire(void 0);
|
||||||
|
}
|
||||||
|
setInlayHintsOptions(options) {
|
||||||
|
this._inlayHintsOptions = options || /* @__PURE__ */ Object.create(null);
|
||||||
|
this._onDidChange.fire(void 0);
|
||||||
|
}
|
||||||
|
setMaximumWorkerIdleTime(value) {
|
||||||
|
}
|
||||||
|
setEagerModelSync(value) {
|
||||||
|
this._eagerModelSync = value;
|
||||||
|
}
|
||||||
|
getEagerModelSync() {
|
||||||
|
return this._eagerModelSync;
|
||||||
|
}
|
||||||
|
setModeConfiguration(modeConfiguration) {
|
||||||
|
this._modeConfiguration = modeConfiguration || /* @__PURE__ */ Object.create(null);
|
||||||
|
this._onDidChange.fire(void 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const typescriptVersion = typescriptVersion$1;
|
||||||
|
const modeConfigurationDefault = {
|
||||||
|
completionItems: true,
|
||||||
|
hovers: true,
|
||||||
|
documentSymbols: true,
|
||||||
|
definitions: true,
|
||||||
|
references: true,
|
||||||
|
documentHighlights: true,
|
||||||
|
rename: true,
|
||||||
|
diagnostics: true,
|
||||||
|
documentRangeFormattingEdits: true,
|
||||||
|
signatureHelp: true,
|
||||||
|
onTypeFormattingEdits: true,
|
||||||
|
codeActions: true,
|
||||||
|
inlayHints: true
|
||||||
|
};
|
||||||
|
const typescriptDefaults = new LanguageServiceDefaultsImpl(
|
||||||
|
{
|
||||||
|
allowNonTsExtensions: true,
|
||||||
|
target: 99
|
||||||
|
/* Latest */
|
||||||
|
},
|
||||||
|
{ noSemanticValidation: false, noSyntaxValidation: false, onlyVisible: false },
|
||||||
|
{},
|
||||||
|
{},
|
||||||
|
modeConfigurationDefault
|
||||||
|
);
|
||||||
|
const javascriptDefaults = new LanguageServiceDefaultsImpl(
|
||||||
|
{
|
||||||
|
allowNonTsExtensions: true,
|
||||||
|
allowJs: true,
|
||||||
|
target: 99
|
||||||
|
/* Latest */
|
||||||
|
},
|
||||||
|
{ noSemanticValidation: true, noSyntaxValidation: false, onlyVisible: false },
|
||||||
|
{},
|
||||||
|
{},
|
||||||
|
modeConfigurationDefault
|
||||||
|
);
|
||||||
|
const getTypeScriptWorker = () => {
|
||||||
|
return getMode().then((mode) => mode.getTypeScriptWorker());
|
||||||
|
};
|
||||||
|
const getJavaScriptWorker = () => {
|
||||||
|
return getMode().then((mode) => mode.getJavaScriptWorker());
|
||||||
|
};
|
||||||
|
editor_api.languages.typescript = {
|
||||||
|
ModuleKind,
|
||||||
|
JsxEmit,
|
||||||
|
NewLineKind,
|
||||||
|
ScriptTarget,
|
||||||
|
ModuleResolutionKind,
|
||||||
|
typescriptVersion,
|
||||||
|
typescriptDefaults,
|
||||||
|
javascriptDefaults,
|
||||||
|
getTypeScriptWorker,
|
||||||
|
getJavaScriptWorker
|
||||||
|
};
|
||||||
|
function getMode() {
|
||||||
|
{
|
||||||
|
return new Promise((resolve, reject) => require(["../../tsMode-DOj38qML"], resolve, reject));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
editor_api.languages.onLanguage("typescript", () => {
|
||||||
|
return getMode().then((mode) => mode.setupTypeScript(typescriptDefaults));
|
||||||
|
});
|
||||||
|
editor_api.languages.onLanguage("javascript", () => {
|
||||||
|
return getMode().then((mode) => mode.setupJavaScript(javascriptDefaults));
|
||||||
|
});
|
||||||
|
exports.JsxEmit = JsxEmit;
|
||||||
|
exports.ModuleKind = ModuleKind;
|
||||||
|
exports.ModuleResolutionKind = ModuleResolutionKind;
|
||||||
|
exports.NewLineKind = NewLineKind;
|
||||||
|
exports.ScriptTarget = ScriptTarget;
|
||||||
|
exports.getJavaScriptWorker = getJavaScriptWorker;
|
||||||
|
exports.getTypeScriptWorker = getTypeScriptWorker;
|
||||||
|
exports.javascriptDefaults = javascriptDefaults;
|
||||||
|
exports.typescriptDefaults = typescriptDefaults;
|
||||||
|
exports.typescriptVersion = typescriptVersion;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
164
_internal/editor/dev/vs/less-B7KFvseP.js
Normal file
164
_internal/editor/dev/vs/less-B7KFvseP.js
Normal file
@@ -0,0 +1,164 @@
|
|||||||
|
define("vs/less-B7KFvseP", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
wordPattern: /(#?-?\d*\.\d\w*%?)|([@#!.:]?[\w-?]+%?)|[@#!.]/g,
|
||||||
|
comments: {
|
||||||
|
blockComment: ["/*", "*/"],
|
||||||
|
lineComment: "//"
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}", notIn: ["string", "comment"] },
|
||||||
|
{ open: "[", close: "]", notIn: ["string", "comment"] },
|
||||||
|
{ open: "(", close: ")", notIn: ["string", "comment"] },
|
||||||
|
{ open: '"', close: '"', notIn: ["string", "comment"] },
|
||||||
|
{ open: "'", close: "'", notIn: ["string", "comment"] }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
],
|
||||||
|
folding: {
|
||||||
|
markers: {
|
||||||
|
start: new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),
|
||||||
|
end: new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".less",
|
||||||
|
identifier: "-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",
|
||||||
|
identifierPlus: "-?-?([a-zA-Z:.]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-:.]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",
|
||||||
|
brackets: [
|
||||||
|
{ open: "{", close: "}", token: "delimiter.curly" },
|
||||||
|
{ open: "[", close: "]", token: "delimiter.bracket" },
|
||||||
|
{ open: "(", close: ")", token: "delimiter.parenthesis" },
|
||||||
|
{ open: "<", close: ">", token: "delimiter.angle" }
|
||||||
|
],
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
{ include: "@nestedJSBegin" },
|
||||||
|
["[ \\t\\r\\n]+", ""],
|
||||||
|
{ include: "@comments" },
|
||||||
|
{ include: "@keyword" },
|
||||||
|
{ include: "@strings" },
|
||||||
|
{ include: "@numbers" },
|
||||||
|
["[*_]?[a-zA-Z\\-\\s]+(?=:.*(;|(\\\\$)))", "attribute.name", "@attribute"],
|
||||||
|
["url(\\-prefix)?\\(", { token: "tag", next: "@urldeclaration" }],
|
||||||
|
["[{}()\\[\\]]", "@brackets"],
|
||||||
|
["[,:;]", "delimiter"],
|
||||||
|
["#@identifierPlus", "tag.id"],
|
||||||
|
["&", "tag"],
|
||||||
|
["\\.@identifierPlus(?=\\()", "tag.class", "@attribute"],
|
||||||
|
["\\.@identifierPlus", "tag.class"],
|
||||||
|
["@identifierPlus", "tag"],
|
||||||
|
{ include: "@operators" },
|
||||||
|
["@(@identifier(?=[:,\\)]))", "variable", "@attribute"],
|
||||||
|
["@(@identifier)", "variable"],
|
||||||
|
["@", "key", "@atRules"]
|
||||||
|
],
|
||||||
|
nestedJSBegin: [
|
||||||
|
["``", "delimiter.backtick"],
|
||||||
|
[
|
||||||
|
"`",
|
||||||
|
{
|
||||||
|
token: "delimiter.backtick",
|
||||||
|
next: "@nestedJSEnd",
|
||||||
|
nextEmbedded: "text/javascript"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
nestedJSEnd: [
|
||||||
|
[
|
||||||
|
"`",
|
||||||
|
{
|
||||||
|
token: "delimiter.backtick",
|
||||||
|
next: "@pop",
|
||||||
|
nextEmbedded: "@pop"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
operators: [["[<>=\\+\\-\\*\\/\\^\\|\\~]", "operator"]],
|
||||||
|
keyword: [
|
||||||
|
[
|
||||||
|
"(@[\\s]*import|![\\s]*important|true|false|when|iscolor|isnumber|isstring|iskeyword|isurl|ispixel|ispercentage|isem|hue|saturation|lightness|alpha|lighten|darken|saturate|desaturate|fadein|fadeout|fade|spin|mix|round|ceil|floor|percentage)\\b",
|
||||||
|
"keyword"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
urldeclaration: [
|
||||||
|
{ include: "@strings" },
|
||||||
|
["[^)\r\n]+", "string"],
|
||||||
|
["\\)", { token: "tag", next: "@pop" }]
|
||||||
|
],
|
||||||
|
attribute: [
|
||||||
|
{ include: "@nestedJSBegin" },
|
||||||
|
{ include: "@comments" },
|
||||||
|
{ include: "@strings" },
|
||||||
|
{ include: "@numbers" },
|
||||||
|
{ include: "@keyword" },
|
||||||
|
["[a-zA-Z\\-]+(?=\\()", "attribute.value", "@attribute"],
|
||||||
|
[">", "operator", "@pop"],
|
||||||
|
["@identifier", "attribute.value"],
|
||||||
|
{ include: "@operators" },
|
||||||
|
["@(@identifier)", "variable"],
|
||||||
|
["[)\\}]", "@brackets", "@pop"],
|
||||||
|
["[{}()\\[\\]>]", "@brackets"],
|
||||||
|
["[;]", "delimiter", "@pop"],
|
||||||
|
["[,=:]", "delimiter"],
|
||||||
|
["\\s", ""],
|
||||||
|
[".", "attribute.value"]
|
||||||
|
],
|
||||||
|
comments: [
|
||||||
|
["\\/\\*", "comment", "@comment"],
|
||||||
|
["\\/\\/+.*", "comment"]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
["\\*\\/", "comment", "@pop"],
|
||||||
|
[".", "comment"]
|
||||||
|
],
|
||||||
|
numbers: [
|
||||||
|
["(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?", { token: "attribute.value.number", next: "@units" }],
|
||||||
|
["#[0-9a-fA-F_]+(?!\\w)", "attribute.value.hex"]
|
||||||
|
],
|
||||||
|
units: [
|
||||||
|
[
|
||||||
|
"(em|ex|ch|rem|fr|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?",
|
||||||
|
"attribute.value.unit",
|
||||||
|
"@pop"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
strings: [
|
||||||
|
['~?"', { token: "string.delimiter", next: "@stringsEndDoubleQuote" }],
|
||||||
|
["~?'", { token: "string.delimiter", next: "@stringsEndQuote" }]
|
||||||
|
],
|
||||||
|
stringsEndDoubleQuote: [
|
||||||
|
['\\\\"', "string"],
|
||||||
|
['"', { token: "string.delimiter", next: "@popall" }],
|
||||||
|
[".", "string"]
|
||||||
|
],
|
||||||
|
stringsEndQuote: [
|
||||||
|
["\\\\'", "string"],
|
||||||
|
["'", { token: "string.delimiter", next: "@popall" }],
|
||||||
|
[".", "string"]
|
||||||
|
],
|
||||||
|
atRules: [
|
||||||
|
{ include: "@comments" },
|
||||||
|
{ include: "@strings" },
|
||||||
|
["[()]", "delimiter"],
|
||||||
|
["[\\{;]", "delimiter", "@pop"],
|
||||||
|
[".", "key"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
160
_internal/editor/dev/vs/lexon-BmRNXYWC.js
Normal file
160
_internal/editor/dev/vs/lexon-BmRNXYWC.js
Normal file
@@ -0,0 +1,160 @@
|
|||||||
|
define("vs/lexon-BmRNXYWC", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: "COMMENT"
|
||||||
|
// blockComment: ['COMMENT', '.'],
|
||||||
|
},
|
||||||
|
brackets: [["(", ")"]],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: ":", close: "." }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: "`", close: "`" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" },
|
||||||
|
{ open: ":", close: "." }
|
||||||
|
],
|
||||||
|
folding: {
|
||||||
|
markers: {
|
||||||
|
start: new RegExp("^\\s*(::\\s*|COMMENT\\s+)#region"),
|
||||||
|
end: new RegExp("^\\s*(::\\s*|COMMENT\\s+)#endregion")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
// Set defaultToken to invalid to see what you do not tokenize yet
|
||||||
|
// defaultToken: 'invalid',
|
||||||
|
tokenPostfix: ".lexon",
|
||||||
|
ignoreCase: true,
|
||||||
|
keywords: [
|
||||||
|
"lexon",
|
||||||
|
"lex",
|
||||||
|
"clause",
|
||||||
|
"terms",
|
||||||
|
"contracts",
|
||||||
|
"may",
|
||||||
|
"pay",
|
||||||
|
"pays",
|
||||||
|
"appoints",
|
||||||
|
"into",
|
||||||
|
"to"
|
||||||
|
],
|
||||||
|
typeKeywords: ["amount", "person", "key", "time", "date", "asset", "text"],
|
||||||
|
operators: [
|
||||||
|
"less",
|
||||||
|
"greater",
|
||||||
|
"equal",
|
||||||
|
"le",
|
||||||
|
"gt",
|
||||||
|
"or",
|
||||||
|
"and",
|
||||||
|
"add",
|
||||||
|
"added",
|
||||||
|
"subtract",
|
||||||
|
"subtracted",
|
||||||
|
"multiply",
|
||||||
|
"multiplied",
|
||||||
|
"times",
|
||||||
|
"divide",
|
||||||
|
"divided",
|
||||||
|
"is",
|
||||||
|
"be",
|
||||||
|
"certified"
|
||||||
|
],
|
||||||
|
// we include these common regular expressions
|
||||||
|
symbols: /[=><!~?:&|+\-*\/\^%]+/,
|
||||||
|
// The main tokenizer for our languages
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
// comment
|
||||||
|
[/^(\s*)(comment:?(?:\s.*|))$/, ["", "comment"]],
|
||||||
|
// special identifier cases
|
||||||
|
[
|
||||||
|
/"/,
|
||||||
|
{
|
||||||
|
token: "identifier.quote",
|
||||||
|
bracket: "@open",
|
||||||
|
next: "@quoted_identifier"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"LEX$",
|
||||||
|
{
|
||||||
|
token: "keyword",
|
||||||
|
bracket: "@open",
|
||||||
|
next: "@identifier_until_period"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
["LEXON", { token: "keyword", bracket: "@open", next: "@semver" }],
|
||||||
|
[
|
||||||
|
":",
|
||||||
|
{
|
||||||
|
token: "delimiter",
|
||||||
|
bracket: "@open",
|
||||||
|
next: "@identifier_until_period"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// identifiers and keywords
|
||||||
|
[
|
||||||
|
/[a-z_$][\w$]*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@operators": "operator",
|
||||||
|
"@typeKeywords": "keyword.type",
|
||||||
|
"@keywords": "keyword",
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// whitespace
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
// delimiters and operators
|
||||||
|
[/[{}()\[\]]/, "@brackets"],
|
||||||
|
[/[<>](?!@symbols)/, "@brackets"],
|
||||||
|
[/@symbols/, "delimiter"],
|
||||||
|
// numbers
|
||||||
|
[/\d*\.\d*\.\d*/, "number.semver"],
|
||||||
|
[/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
|
||||||
|
[/0[xX][0-9a-fA-F]+/, "number.hex"],
|
||||||
|
[/\d+/, "number"],
|
||||||
|
// delimiter: after number because of .\d floats
|
||||||
|
[/[;,.]/, "delimiter"]
|
||||||
|
],
|
||||||
|
quoted_identifier: [
|
||||||
|
[/[^\\"]+/, "identifier"],
|
||||||
|
[/"/, { token: "identifier.quote", bracket: "@close", next: "@pop" }]
|
||||||
|
],
|
||||||
|
space_identifier_until_period: [
|
||||||
|
[":", "delimiter"],
|
||||||
|
[" ", { token: "white", next: "@identifier_rest" }]
|
||||||
|
],
|
||||||
|
identifier_until_period: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
[":", { token: "delimiter", next: "@identifier_rest" }],
|
||||||
|
[/[^\\.]+/, "identifier"],
|
||||||
|
[/\./, { token: "delimiter", bracket: "@close", next: "@pop" }]
|
||||||
|
],
|
||||||
|
identifier_rest: [
|
||||||
|
[/[^\\.]+/, "identifier"],
|
||||||
|
[/\./, { token: "delimiter", bracket: "@close", next: "@pop" }]
|
||||||
|
],
|
||||||
|
semver: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
[":", "delimiter"],
|
||||||
|
[/\d*\.\d*\.\d*/, { token: "number.semver", bracket: "@close", next: "@pop" }]
|
||||||
|
],
|
||||||
|
whitespace: [[/[ \t\r\n]+/, "white"]]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
236
_internal/editor/dev/vs/liquid-CDz0dGHZ.js
Normal file
236
_internal/editor/dev/vs/liquid-CDz0dGHZ.js
Normal file
@@ -0,0 +1,236 @@
|
|||||||
|
define("vs/liquid-CDz0dGHZ", ["exports", "./editor.api-BhD7pWdi"], (function(exports, editor_api) {
|
||||||
|
"use strict";
|
||||||
|
const EMPTY_ELEMENTS = [
|
||||||
|
"area",
|
||||||
|
"base",
|
||||||
|
"br",
|
||||||
|
"col",
|
||||||
|
"embed",
|
||||||
|
"hr",
|
||||||
|
"img",
|
||||||
|
"input",
|
||||||
|
"keygen",
|
||||||
|
"link",
|
||||||
|
"menuitem",
|
||||||
|
"meta",
|
||||||
|
"param",
|
||||||
|
"source",
|
||||||
|
"track",
|
||||||
|
"wbr"
|
||||||
|
];
|
||||||
|
const 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: new RegExp(
|
||||||
|
`<(?!(?:${EMPTY_ELEMENTS.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,
|
||||||
|
"i"
|
||||||
|
),
|
||||||
|
afterText: /^<\/(\w[\w\d]*)\s*>$/i,
|
||||||
|
action: {
|
||||||
|
indentAction: editor_api.languages.IndentAction.IndentOutdent
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
beforeText: new RegExp(
|
||||||
|
`<(?!(?:${EMPTY_ELEMENTS.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,
|
||||||
|
"i"
|
||||||
|
),
|
||||||
|
action: { indentAction: editor_api.languages.IndentAction.Indent }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: "",
|
||||||
|
builtinTags: [
|
||||||
|
"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"
|
||||||
|
],
|
||||||
|
builtinFilters: [
|
||||||
|
"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"
|
||||||
|
],
|
||||||
|
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"],
|
||||||
|
[/[^<{]+/]
|
||||||
|
// text
|
||||||
|
],
|
||||||
|
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]+/]
|
||||||
|
// whitespace
|
||||||
|
],
|
||||||
|
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"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
1368
_internal/editor/dev/vs/loader.js
Normal file
1368
_internal/editor/dev/vs/loader.js
Normal file
File diff suppressed because it is too large
Load Diff
1841
_internal/editor/dev/vs/lspLanguageFeatures-C8J-56s2.js
Normal file
1841
_internal/editor/dev/vs/lspLanguageFeatures-C8J-56s2.js
Normal file
File diff suppressed because it is too large
Load Diff
165
_internal/editor/dev/vs/lua-BYAO5Img.js
Normal file
165
_internal/editor/dev/vs/lua-BYAO5Img.js
Normal file
@@ -0,0 +1,165 @@
|
|||||||
|
define("vs/lua-BYAO5Img", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: "--",
|
||||||
|
blockComment: ["--[[", "]]"]
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
]
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".lua",
|
||||||
|
keywords: [
|
||||||
|
"and",
|
||||||
|
"break",
|
||||||
|
"do",
|
||||||
|
"else",
|
||||||
|
"elseif",
|
||||||
|
"end",
|
||||||
|
"false",
|
||||||
|
"for",
|
||||||
|
"function",
|
||||||
|
"goto",
|
||||||
|
"if",
|
||||||
|
"in",
|
||||||
|
"local",
|
||||||
|
"nil",
|
||||||
|
"not",
|
||||||
|
"or",
|
||||||
|
"repeat",
|
||||||
|
"return",
|
||||||
|
"then",
|
||||||
|
"true",
|
||||||
|
"until",
|
||||||
|
"while"
|
||||||
|
],
|
||||||
|
brackets: [
|
||||||
|
{ token: "delimiter.bracket", open: "{", close: "}" },
|
||||||
|
{ token: "delimiter.array", open: "[", close: "]" },
|
||||||
|
{ token: "delimiter.parenthesis", open: "(", close: ")" }
|
||||||
|
],
|
||||||
|
operators: [
|
||||||
|
"+",
|
||||||
|
"-",
|
||||||
|
"*",
|
||||||
|
"/",
|
||||||
|
"%",
|
||||||
|
"^",
|
||||||
|
"#",
|
||||||
|
"==",
|
||||||
|
"~=",
|
||||||
|
"<=",
|
||||||
|
">=",
|
||||||
|
"<",
|
||||||
|
">",
|
||||||
|
"=",
|
||||||
|
";",
|
||||||
|
":",
|
||||||
|
",",
|
||||||
|
".",
|
||||||
|
"..",
|
||||||
|
"..."
|
||||||
|
],
|
||||||
|
// 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: [
|
||||||
|
// identifiers and keywords
|
||||||
|
[
|
||||||
|
/[a-zA-Z_]\w*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@keywords": { token: "keyword.$0" },
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// whitespace
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
// keys
|
||||||
|
[/(,)(\s*)([a-zA-Z_]\w*)(\s*)(:)(?!:)/, ["delimiter", "", "key", "", "delimiter"]],
|
||||||
|
[/({)(\s*)([a-zA-Z_]\w*)(\s*)(:)(?!:)/, ["@brackets", "", "key", "", "delimiter"]],
|
||||||
|
// delimiters and operators
|
||||||
|
[/[{}()\[\]]/, "@brackets"],
|
||||||
|
[
|
||||||
|
/@symbols/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@operators": "delimiter",
|
||||||
|
"@default": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// 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: recover on non-terminated strings
|
||||||
|
[/"([^"\\]|\\.)*$/, "string.invalid"],
|
||||||
|
// non-teminated string
|
||||||
|
[/'([^'\\]|\\.)*$/, "string.invalid"],
|
||||||
|
// non-teminated string
|
||||||
|
[/"/, "string", '@string."'],
|
||||||
|
[/'/, "string", "@string.'"]
|
||||||
|
],
|
||||||
|
whitespace: [
|
||||||
|
[/[ \t\r\n]+/, ""],
|
||||||
|
[/--\[([=]*)\[/, "comment", "@comment.$1"],
|
||||||
|
[/--.*$/, "comment"]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
[/[^\]]+/, "comment"],
|
||||||
|
[
|
||||||
|
/\]([=]*)\]/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$1==$S2": { token: "comment", next: "@pop" },
|
||||||
|
"@default": "comment"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/./, "comment"]
|
||||||
|
],
|
||||||
|
string: [
|
||||||
|
[/[^\\"']+/, "string"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/\\./, "string.escape.invalid"],
|
||||||
|
[
|
||||||
|
/["']/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$#==$S2": { token: "string", next: "@pop" },
|
||||||
|
"@default": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
213
_internal/editor/dev/vs/m3-B1KqSpyY.js
Normal file
213
_internal/editor/dev/vs/m3-B1KqSpyY.js
Normal file
@@ -0,0 +1,213 @@
|
|||||||
|
define("vs/m3-B1KqSpyY", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
blockComment: ["(*", "*)"]
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: "(*", close: "*)" },
|
||||||
|
{ open: "<*", close: "*>" },
|
||||||
|
{ open: "'", close: "'", notIn: ["string", "comment"] },
|
||||||
|
{ open: '"', close: '"', notIn: ["string", "comment"] }
|
||||||
|
]
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".m3",
|
||||||
|
brackets: [
|
||||||
|
{ token: "delimiter.curly", open: "{", close: "}" },
|
||||||
|
{ token: "delimiter.parenthesis", open: "(", close: ")" },
|
||||||
|
{ token: "delimiter.square", open: "[", close: "]" }
|
||||||
|
],
|
||||||
|
keywords: [
|
||||||
|
"AND",
|
||||||
|
"ANY",
|
||||||
|
"ARRAY",
|
||||||
|
"AS",
|
||||||
|
"BEGIN",
|
||||||
|
"BITS",
|
||||||
|
"BRANDED",
|
||||||
|
"BY",
|
||||||
|
"CASE",
|
||||||
|
"CONST",
|
||||||
|
"DIV",
|
||||||
|
"DO",
|
||||||
|
"ELSE",
|
||||||
|
"ELSIF",
|
||||||
|
"END",
|
||||||
|
"EVAL",
|
||||||
|
"EXCEPT",
|
||||||
|
"EXCEPTION",
|
||||||
|
"EXIT",
|
||||||
|
"EXPORTS",
|
||||||
|
"FINALLY",
|
||||||
|
"FOR",
|
||||||
|
"FROM",
|
||||||
|
"GENERIC",
|
||||||
|
"IF",
|
||||||
|
"IMPORT",
|
||||||
|
"IN",
|
||||||
|
"INTERFACE",
|
||||||
|
"LOCK",
|
||||||
|
"LOOP",
|
||||||
|
"METHODS",
|
||||||
|
"MOD",
|
||||||
|
"MODULE",
|
||||||
|
"NOT",
|
||||||
|
"OBJECT",
|
||||||
|
"OF",
|
||||||
|
"OR",
|
||||||
|
"OVERRIDES",
|
||||||
|
"PROCEDURE",
|
||||||
|
"RAISE",
|
||||||
|
"RAISES",
|
||||||
|
"READONLY",
|
||||||
|
"RECORD",
|
||||||
|
"REF",
|
||||||
|
"REPEAT",
|
||||||
|
"RETURN",
|
||||||
|
"REVEAL",
|
||||||
|
"SET",
|
||||||
|
"THEN",
|
||||||
|
"TO",
|
||||||
|
"TRY",
|
||||||
|
"TYPE",
|
||||||
|
"TYPECASE",
|
||||||
|
"UNSAFE",
|
||||||
|
"UNTIL",
|
||||||
|
"UNTRACED",
|
||||||
|
"VALUE",
|
||||||
|
"VAR",
|
||||||
|
"WHILE",
|
||||||
|
"WITH"
|
||||||
|
],
|
||||||
|
reservedConstNames: [
|
||||||
|
"ABS",
|
||||||
|
"ADR",
|
||||||
|
"ADRSIZE",
|
||||||
|
"BITSIZE",
|
||||||
|
"BYTESIZE",
|
||||||
|
"CEILING",
|
||||||
|
"DEC",
|
||||||
|
"DISPOSE",
|
||||||
|
"FALSE",
|
||||||
|
"FIRST",
|
||||||
|
"FLOAT",
|
||||||
|
"FLOOR",
|
||||||
|
"INC",
|
||||||
|
"ISTYPE",
|
||||||
|
"LAST",
|
||||||
|
"LOOPHOLE",
|
||||||
|
"MAX",
|
||||||
|
"MIN",
|
||||||
|
"NARROW",
|
||||||
|
"NEW",
|
||||||
|
"NIL",
|
||||||
|
"NUMBER",
|
||||||
|
"ORD",
|
||||||
|
"ROUND",
|
||||||
|
"SUBARRAY",
|
||||||
|
"TRUE",
|
||||||
|
"TRUNC",
|
||||||
|
"TYPECODE",
|
||||||
|
"VAL"
|
||||||
|
],
|
||||||
|
reservedTypeNames: [
|
||||||
|
"ADDRESS",
|
||||||
|
"ANY",
|
||||||
|
"BOOLEAN",
|
||||||
|
"CARDINAL",
|
||||||
|
"CHAR",
|
||||||
|
"EXTENDED",
|
||||||
|
"INTEGER",
|
||||||
|
"LONGCARD",
|
||||||
|
"LONGINT",
|
||||||
|
"LONGREAL",
|
||||||
|
"MUTEX",
|
||||||
|
"NULL",
|
||||||
|
"REAL",
|
||||||
|
"REFANY",
|
||||||
|
"ROOT",
|
||||||
|
"TEXT"
|
||||||
|
],
|
||||||
|
operators: ["+", "-", "*", "/", "&", "^", "."],
|
||||||
|
relations: ["=", "#", "<", "<=", ">", ">=", "<:", ":"],
|
||||||
|
delimiters: ["|", "..", "=>", ",", ";", ":="],
|
||||||
|
symbols: /[>=<#.,:;+\-*/&^]+/,
|
||||||
|
escapes: /\\(?:[\\fnrt"']|[0-7]{3})/,
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
// Identifiers and keywords
|
||||||
|
[/_\w*/, "invalid"],
|
||||||
|
[
|
||||||
|
/[a-zA-Z][a-zA-Z0-9_]*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@keywords": { token: "keyword.$0" },
|
||||||
|
"@reservedConstNames": { token: "constant.reserved.$0" },
|
||||||
|
"@reservedTypeNames": { token: "type.reserved.$0" },
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// Whitespace
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
[/[{}()\[\]]/, "@brackets"],
|
||||||
|
// Integer- and real literals
|
||||||
|
[/[0-9]+\.[0-9]+(?:[DdEeXx][\+\-]?[0-9]+)?/, "number.float"],
|
||||||
|
[/[0-9]+(?:\_[0-9a-fA-F]+)?L?/, "number"],
|
||||||
|
// Operators, relations, and delimiters
|
||||||
|
[
|
||||||
|
/@symbols/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@operators": "operators",
|
||||||
|
"@relations": "operators",
|
||||||
|
"@delimiters": "delimiter",
|
||||||
|
"@default": "invalid"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// Character literals
|
||||||
|
[/'[^\\']'/, "string.char"],
|
||||||
|
[/(')(@escapes)(')/, ["string.char", "string.escape", "string.char"]],
|
||||||
|
[/'/, "invalid"],
|
||||||
|
// Text literals
|
||||||
|
[/"([^"\\]|\\.)*$/, "invalid"],
|
||||||
|
[/"/, "string.text", "@text"]
|
||||||
|
],
|
||||||
|
text: [
|
||||||
|
[/[^\\"]+/, "string.text"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/\\./, "invalid"],
|
||||||
|
[/"/, "string.text", "@pop"]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
[/\(\*/, "comment", "@push"],
|
||||||
|
[/\*\)/, "comment", "@pop"],
|
||||||
|
[/./, "comment"]
|
||||||
|
],
|
||||||
|
pragma: [
|
||||||
|
[/<\*/, "keyword.pragma", "@push"],
|
||||||
|
[/\*>/, "keyword.pragma", "@pop"],
|
||||||
|
[/./, "keyword.pragma"]
|
||||||
|
],
|
||||||
|
whitespace: [
|
||||||
|
[/[ \t\r\n]+/, "white"],
|
||||||
|
[/\(\*/, "comment", "@comment"],
|
||||||
|
[/<\*/, "keyword.pragma", "@pragma"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
232
_internal/editor/dev/vs/markdown-BXo7NBdp.js
Normal file
232
_internal/editor/dev/vs/markdown-BXo7NBdp.js
Normal file
@@ -0,0 +1,232 @@
|
|||||||
|
define("vs/markdown-BXo7NBdp", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
blockComment: ["<!--", "-->"]
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: "<", close: ">", notIn: ["string"] }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "`", close: "`" }
|
||||||
|
],
|
||||||
|
folding: {
|
||||||
|
markers: {
|
||||||
|
start: new RegExp("^\\s*<!--\\s*#?region\\b.*-->"),
|
||||||
|
end: new RegExp("^\\s*<!--\\s*#?endregion\\b.*-->")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".md",
|
||||||
|
// escape codes
|
||||||
|
control: /[\\`*_\[\]{}()#+\-\.!]/,
|
||||||
|
noncontrol: /[^\\`*_\[\]{}()#+\-\.!]/,
|
||||||
|
escapes: /\\(?:@control)/,
|
||||||
|
// escape codes for javascript/CSS strings
|
||||||
|
jsescapes: /\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,
|
||||||
|
// non matched elements
|
||||||
|
empty: [
|
||||||
|
"area",
|
||||||
|
"base",
|
||||||
|
"basefont",
|
||||||
|
"br",
|
||||||
|
"col",
|
||||||
|
"frame",
|
||||||
|
"hr",
|
||||||
|
"img",
|
||||||
|
"input",
|
||||||
|
"isindex",
|
||||||
|
"link",
|
||||||
|
"meta",
|
||||||
|
"param"
|
||||||
|
],
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
// markdown tables
|
||||||
|
[/^\s*\|/, "@rematch", "@table_header"],
|
||||||
|
// headers (with #)
|
||||||
|
[/^(\s{0,3})(#+)((?:[^\\#]|@escapes)+)((?:#+)?)/, ["white", "keyword", "keyword", "keyword"]],
|
||||||
|
// headers (with =)
|
||||||
|
[/^\s*(=+|\-+)\s*$/, "keyword"],
|
||||||
|
// headers (with ***)
|
||||||
|
[/^\s*((\*[ ]?)+)\s*$/, "meta.separator"],
|
||||||
|
// quote
|
||||||
|
[/^\s*>+/, "comment"],
|
||||||
|
// list (starting with * or number)
|
||||||
|
[/^\s*([\*\-+:]|\d+\.)\s/, "keyword"],
|
||||||
|
// code block (4 spaces indent)
|
||||||
|
[/^(\t|[ ]{4})[^ ].*$/, "string"],
|
||||||
|
// code block (3 tilde)
|
||||||
|
[/^\s*~~~\s*((?:\w|[\/\-#])+)?\s*$/, { token: "string", next: "@codeblock" }],
|
||||||
|
// github style code blocks (with backticks and language)
|
||||||
|
[
|
||||||
|
/^\s*```\s*((?:\w|[\/\-#])+).*$/,
|
||||||
|
{ token: "string", next: "@codeblockgh", nextEmbedded: "$1" }
|
||||||
|
],
|
||||||
|
// github style code blocks (with backticks but no language)
|
||||||
|
[/^\s*```\s*$/, { token: "string", next: "@codeblock" }],
|
||||||
|
// markup within lines
|
||||||
|
{ include: "@linecontent" }
|
||||||
|
],
|
||||||
|
table_header: [
|
||||||
|
{ include: "@table_common" },
|
||||||
|
[/[^\|]+/, "keyword.table.header"]
|
||||||
|
// table header
|
||||||
|
],
|
||||||
|
table_body: [{ include: "@table_common" }, { include: "@linecontent" }],
|
||||||
|
table_common: [
|
||||||
|
[/\s*[\-:]+\s*/, { token: "keyword", switchTo: "table_body" }],
|
||||||
|
// header-divider
|
||||||
|
[/^\s*\|/, "keyword.table.left"],
|
||||||
|
// opening |
|
||||||
|
[/^\s*[^\|]/, "@rematch", "@pop"],
|
||||||
|
// exiting
|
||||||
|
[/^\s*$/, "@rematch", "@pop"],
|
||||||
|
// exiting
|
||||||
|
[
|
||||||
|
/\|/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@eos": "keyword.table.right",
|
||||||
|
// closing |
|
||||||
|
"@default": "keyword.table.middle"
|
||||||
|
// inner |
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
codeblock: [
|
||||||
|
[/^\s*~~~\s*$/, { token: "string", next: "@pop" }],
|
||||||
|
[/^\s*```\s*$/, { token: "string", next: "@pop" }],
|
||||||
|
[/.*$/, "variable.source"]
|
||||||
|
],
|
||||||
|
// github style code blocks
|
||||||
|
codeblockgh: [
|
||||||
|
[/```\s*$/, { token: "string", next: "@pop", nextEmbedded: "@pop" }],
|
||||||
|
[/[^`]+/, "variable.source"]
|
||||||
|
],
|
||||||
|
linecontent: [
|
||||||
|
// escapes
|
||||||
|
[/&\w+;/, "string.escape"],
|
||||||
|
[/@escapes/, "escape"],
|
||||||
|
// various markup
|
||||||
|
[/\b__([^\\_]|@escapes|_(?!_))+__\b/, "strong"],
|
||||||
|
[/\*\*([^\\*]|@escapes|\*(?!\*))+\*\*/, "strong"],
|
||||||
|
[/\b_[^_]+_\b/, "emphasis"],
|
||||||
|
[/\*([^\\*]|@escapes)+\*/, "emphasis"],
|
||||||
|
[/`([^\\`]|@escapes)+`/, "variable"],
|
||||||
|
// links
|
||||||
|
[/\{+[^}]+\}+/, "string.target"],
|
||||||
|
[/(!?\[)((?:[^\]\\]|@escapes)*)(\]\([^\)]+\))/, ["string.link", "", "string.link"]],
|
||||||
|
[/(!?\[)((?:[^\]\\]|@escapes)*)(\])/, "string.link"],
|
||||||
|
// or html
|
||||||
|
{ include: "html" }
|
||||||
|
],
|
||||||
|
// Note: it is tempting to rather switch to the real HTML mode instead of building our own here
|
||||||
|
// but currently there is a limitation in Monarch that prevents us from doing it: The opening
|
||||||
|
// '<' would start the HTML mode, however there is no way to jump 1 character back to let the
|
||||||
|
// HTML mode also tokenize the opening angle bracket. Thus, even though we could jump to HTML,
|
||||||
|
// we cannot correctly tokenize it in that mode yet.
|
||||||
|
html: [
|
||||||
|
// html tags
|
||||||
|
[/<(\w+)\/>/, "tag"],
|
||||||
|
[
|
||||||
|
/<(\w+)(\-|\w)*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@empty": { token: "tag", next: "@tag.$1" },
|
||||||
|
"@default": { token: "tag", next: "@tag.$1" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/<\/(\w+)(\-|\w)*\s*>/, { token: "tag" }],
|
||||||
|
[/<!--/, "comment", "@comment"]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
[/[^<\-]+/, "comment.content"],
|
||||||
|
[/-->/, "comment", "@pop"],
|
||||||
|
[/<!--/, "comment.content.invalid"],
|
||||||
|
[/[<\-]/, "comment.content"]
|
||||||
|
],
|
||||||
|
// Almost full HTML tag matching, complete with embedded scripts & styles
|
||||||
|
tag: [
|
||||||
|
[/[ \t\r\n]+/, "white"],
|
||||||
|
[
|
||||||
|
/(type)(\s*=\s*)(")([^"]+)(")/,
|
||||||
|
[
|
||||||
|
"attribute.name.html",
|
||||||
|
"delimiter.html",
|
||||||
|
"string.html",
|
||||||
|
{ token: "string.html", switchTo: "@tag.$S2.$4" },
|
||||||
|
"string.html"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/(type)(\s*=\s*)(')([^']+)(')/,
|
||||||
|
[
|
||||||
|
"attribute.name.html",
|
||||||
|
"delimiter.html",
|
||||||
|
"string.html",
|
||||||
|
{ token: "string.html", switchTo: "@tag.$S2.$4" },
|
||||||
|
"string.html"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[/(\w+)(\s*=\s*)("[^"]*"|'[^']*')/, ["attribute.name.html", "delimiter.html", "string.html"]],
|
||||||
|
[/\w+/, "attribute.name.html"],
|
||||||
|
[/\/>/, "tag", "@pop"],
|
||||||
|
[
|
||||||
|
/>/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$S2==style": {
|
||||||
|
token: "tag",
|
||||||
|
switchTo: "embeddedStyle",
|
||||||
|
nextEmbedded: "text/css"
|
||||||
|
},
|
||||||
|
"$S2==script": {
|
||||||
|
cases: {
|
||||||
|
$S3: {
|
||||||
|
token: "tag",
|
||||||
|
switchTo: "embeddedScript",
|
||||||
|
nextEmbedded: "$S3"
|
||||||
|
},
|
||||||
|
"@default": {
|
||||||
|
token: "tag",
|
||||||
|
switchTo: "embeddedScript",
|
||||||
|
nextEmbedded: "text/javascript"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@default": { token: "tag", next: "@pop" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
embeddedStyle: [
|
||||||
|
[/[^<]+/, ""],
|
||||||
|
[/<\/style\s*>/, { token: "@rematch", next: "@pop", nextEmbedded: "@pop" }],
|
||||||
|
[/</, ""]
|
||||||
|
],
|
||||||
|
embeddedScript: [
|
||||||
|
[/[^<]+/, ""],
|
||||||
|
[/<\/script\s*>/, { token: "@rematch", next: "@pop", nextEmbedded: "@pop" }],
|
||||||
|
[/</, ""]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
160
_internal/editor/dev/vs/mdx-CRukMuk2.js
Normal file
160
_internal/editor/dev/vs/mdx-CRukMuk2.js
Normal file
@@ -0,0 +1,160 @@
|
|||||||
|
define("vs/mdx-CRukMuk2", ["exports", "./editor.api-BhD7pWdi"], (function(exports, editor_api) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
blockComment: ["{/*", "*/}"]
|
||||||
|
},
|
||||||
|
brackets: [["{", "}"]],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" },
|
||||||
|
{ open: "“", close: "”" },
|
||||||
|
{ open: "‘", close: "’" },
|
||||||
|
{ open: "`", close: "`" },
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: "_", close: "_" },
|
||||||
|
{ open: "**", close: "**" },
|
||||||
|
{ open: "<", close: ">" }
|
||||||
|
],
|
||||||
|
onEnterRules: [
|
||||||
|
{
|
||||||
|
beforeText: /^\s*- .+/,
|
||||||
|
action: { indentAction: editor_api.languages.IndentAction.None, appendText: "- " }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
beforeText: /^\s*\+ .+/,
|
||||||
|
action: { indentAction: editor_api.languages.IndentAction.None, appendText: "+ " }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
beforeText: /^\s*\* .+/,
|
||||||
|
action: { indentAction: editor_api.languages.IndentAction.None, appendText: "* " }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
beforeText: /^> /,
|
||||||
|
action: { indentAction: editor_api.languages.IndentAction.None, appendText: "> " }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
beforeText: /<\w+/,
|
||||||
|
action: { indentAction: editor_api.languages.IndentAction.Indent }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
beforeText: /\s+>\s*$/,
|
||||||
|
action: { indentAction: editor_api.languages.IndentAction.Indent }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
beforeText: /<\/\w+>/,
|
||||||
|
action: { indentAction: editor_api.languages.IndentAction.Outdent }
|
||||||
|
},
|
||||||
|
...Array.from({ length: 100 }, (_, index) => ({
|
||||||
|
beforeText: new RegExp(`^${index}\\. .+`),
|
||||||
|
action: { indentAction: editor_api.languages.IndentAction.None, appendText: `${index + 1}. ` }
|
||||||
|
}))
|
||||||
|
]
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".mdx",
|
||||||
|
control: /[!#()*+.[\\\]_`{}\-]/,
|
||||||
|
escapes: /\\@control/,
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
[/^---$/, { token: "meta.content", next: "@frontmatter", nextEmbedded: "yaml" }],
|
||||||
|
[/^\s*import/, { token: "keyword", next: "@import", nextEmbedded: "js" }],
|
||||||
|
[/^\s*export/, { token: "keyword", next: "@export", nextEmbedded: "js" }],
|
||||||
|
[/<\w+/, { token: "type.identifier", next: "@jsx" }],
|
||||||
|
[/<\/?\w+>/, "type.identifier"],
|
||||||
|
[
|
||||||
|
/^(\s*)(>*\s*)(#{1,6}\s)/,
|
||||||
|
[{ token: "white" }, { token: "comment" }, { token: "keyword", next: "@header" }]
|
||||||
|
],
|
||||||
|
[/^(\s*)(>*\s*)([*+-])(\s+)/, ["white", "comment", "keyword", "white"]],
|
||||||
|
[/^(\s*)(>*\s*)(\d{1,9}\.)(\s+)/, ["white", "comment", "number", "white"]],
|
||||||
|
[/^(\s*)(>*\s*)(\d{1,9}\.)(\s+)/, ["white", "comment", "number", "white"]],
|
||||||
|
[/^(\s*)(>*\s*)(-{3,}|\*{3,}|_{3,})$/, ["white", "comment", "keyword"]],
|
||||||
|
[/`{3,}(\s.*)?$/, { token: "string", next: "@codeblock_backtick" }],
|
||||||
|
[/~{3,}(\s.*)?$/, { token: "string", next: "@codeblock_tilde" }],
|
||||||
|
[
|
||||||
|
/`{3,}(\S+).*$/,
|
||||||
|
{ token: "string", next: "@codeblock_highlight_backtick", nextEmbedded: "$1" }
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/~{3,}(\S+).*$/,
|
||||||
|
{ token: "string", next: "@codeblock_highlight_tilde", nextEmbedded: "$1" }
|
||||||
|
],
|
||||||
|
[/^(\s*)(-{4,})$/, ["white", "comment"]],
|
||||||
|
[/^(\s*)(>+)/, ["white", "comment"]],
|
||||||
|
{ include: "content" }
|
||||||
|
],
|
||||||
|
content: [
|
||||||
|
[
|
||||||
|
/(\[)(.+)(]\()(.+)(\s+".*")(\))/,
|
||||||
|
["", "string.link", "", "type.identifier", "string.link", ""]
|
||||||
|
],
|
||||||
|
[/(\[)(.+)(]\()(.+)(\))/, ["", "type.identifier", "", "string.link", ""]],
|
||||||
|
[/(\[)(.+)(]\[)(.+)(])/, ["", "type.identifier", "", "type.identifier", ""]],
|
||||||
|
[/(\[)(.+)(]:\s+)(\S*)/, ["", "type.identifier", "", "string.link"]],
|
||||||
|
[/(\[)(.+)(])/, ["", "type.identifier", ""]],
|
||||||
|
[/`.*`/, "variable.source"],
|
||||||
|
[/_/, { token: "emphasis", next: "@emphasis_underscore" }],
|
||||||
|
[/\*(?!\*)/, { token: "emphasis", next: "@emphasis_asterisk" }],
|
||||||
|
[/\*\*/, { token: "strong", next: "@strong" }],
|
||||||
|
[/{/, { token: "delimiter.bracket", next: "@expression", nextEmbedded: "js" }]
|
||||||
|
],
|
||||||
|
import: [[/'\s*(;|$)/, { token: "string", next: "@pop", nextEmbedded: "@pop" }]],
|
||||||
|
expression: [
|
||||||
|
[/{/, { token: "delimiter.bracket", next: "@expression" }],
|
||||||
|
[/}/, { token: "delimiter.bracket", next: "@pop", nextEmbedded: "@pop" }]
|
||||||
|
],
|
||||||
|
export: [[/^\s*$/, { token: "delimiter.bracket", next: "@pop", nextEmbedded: "@pop" }]],
|
||||||
|
jsx: [
|
||||||
|
[/\s+/, ""],
|
||||||
|
[/(\w+)(=)("(?:[^"\\]|\\.)*")/, ["attribute.name", "operator", "string"]],
|
||||||
|
[/(\w+)(=)('(?:[^'\\]|\\.)*')/, ["attribute.name", "operator", "string"]],
|
||||||
|
[/(\w+(?=\s|>|={|$))/, ["attribute.name"]],
|
||||||
|
[/={/, { token: "delimiter.bracket", next: "@expression", nextEmbedded: "js" }],
|
||||||
|
[/>/, { token: "type.identifier", next: "@pop" }]
|
||||||
|
],
|
||||||
|
header: [
|
||||||
|
[/.$/, { token: "keyword", next: "@pop" }],
|
||||||
|
{ include: "content" },
|
||||||
|
[/./, { token: "keyword" }]
|
||||||
|
],
|
||||||
|
strong: [
|
||||||
|
[/\*\*/, { token: "strong", next: "@pop" }],
|
||||||
|
{ include: "content" },
|
||||||
|
[/./, { token: "strong" }]
|
||||||
|
],
|
||||||
|
emphasis_underscore: [
|
||||||
|
[/_/, { token: "emphasis", next: "@pop" }],
|
||||||
|
{ include: "content" },
|
||||||
|
[/./, { token: "emphasis" }]
|
||||||
|
],
|
||||||
|
emphasis_asterisk: [
|
||||||
|
[/\*(?!\*)/, { token: "emphasis", next: "@pop" }],
|
||||||
|
{ include: "content" },
|
||||||
|
[/./, { token: "emphasis" }]
|
||||||
|
],
|
||||||
|
frontmatter: [[/^---$/, { token: "meta.content", nextEmbedded: "@pop", next: "@pop" }]],
|
||||||
|
codeblock_highlight_backtick: [
|
||||||
|
[/\s*`{3,}\s*$/, { token: "string", next: "@pop", nextEmbedded: "@pop" }],
|
||||||
|
[/.*$/, "variable.source"]
|
||||||
|
],
|
||||||
|
codeblock_highlight_tilde: [
|
||||||
|
[/\s*~{3,}\s*$/, { token: "string", next: "@pop", nextEmbedded: "@pop" }],
|
||||||
|
[/.*$/, "variable.source"]
|
||||||
|
],
|
||||||
|
codeblock_backtick: [
|
||||||
|
[/\s*`{3,}\s*$/, { token: "string", next: "@pop" }],
|
||||||
|
[/.*$/, "variable.source"]
|
||||||
|
],
|
||||||
|
codeblock_tilde: [
|
||||||
|
[/\s*~{3,}\s*$/, { token: "string", next: "@pop" }],
|
||||||
|
[/.*$/, "variable.source"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
201
_internal/editor/dev/vs/mips-zX62smW0.js
Normal file
201
_internal/editor/dev/vs/mips-zX62smW0.js
Normal file
@@ -0,0 +1,201 @@
|
|||||||
|
define("vs/mips-zX62smW0", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\$\-\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
|
||||||
|
comments: {
|
||||||
|
blockComment: ["###", "###"],
|
||||||
|
lineComment: "#"
|
||||||
|
},
|
||||||
|
folding: {
|
||||||
|
markers: {
|
||||||
|
start: new RegExp("^\\s*#region\\b"),
|
||||||
|
end: new RegExp("^\\s*#endregion\\b")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
ignoreCase: false,
|
||||||
|
tokenPostfix: ".mips",
|
||||||
|
regEx: /\/(?!\/\/)(?:[^\/\\]|\\.)*\/[igm]*/,
|
||||||
|
keywords: [
|
||||||
|
".data",
|
||||||
|
".text",
|
||||||
|
"syscall",
|
||||||
|
"trap",
|
||||||
|
"add",
|
||||||
|
"addu",
|
||||||
|
"addi",
|
||||||
|
"addiu",
|
||||||
|
"and",
|
||||||
|
"andi",
|
||||||
|
"div",
|
||||||
|
"divu",
|
||||||
|
"mult",
|
||||||
|
"multu",
|
||||||
|
"nor",
|
||||||
|
"or",
|
||||||
|
"ori",
|
||||||
|
"sll",
|
||||||
|
"slv",
|
||||||
|
"sra",
|
||||||
|
"srav",
|
||||||
|
"srl",
|
||||||
|
"srlv",
|
||||||
|
"sub",
|
||||||
|
"subu",
|
||||||
|
"xor",
|
||||||
|
"xori",
|
||||||
|
"lhi",
|
||||||
|
"lho",
|
||||||
|
"lhi",
|
||||||
|
"llo",
|
||||||
|
"slt",
|
||||||
|
"slti",
|
||||||
|
"sltu",
|
||||||
|
"sltiu",
|
||||||
|
"beq",
|
||||||
|
"bgtz",
|
||||||
|
"blez",
|
||||||
|
"bne",
|
||||||
|
"j",
|
||||||
|
"jal",
|
||||||
|
"jalr",
|
||||||
|
"jr",
|
||||||
|
"lb",
|
||||||
|
"lbu",
|
||||||
|
"lh",
|
||||||
|
"lhu",
|
||||||
|
"lw",
|
||||||
|
"li",
|
||||||
|
"la",
|
||||||
|
"sb",
|
||||||
|
"sh",
|
||||||
|
"sw",
|
||||||
|
"mfhi",
|
||||||
|
"mflo",
|
||||||
|
"mthi",
|
||||||
|
"mtlo",
|
||||||
|
"move"
|
||||||
|
],
|
||||||
|
// 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: [
|
||||||
|
// identifiers and keywords
|
||||||
|
[/\$[a-zA-Z_]\w*/, "variable.predefined"],
|
||||||
|
[
|
||||||
|
/[.a-zA-Z_]\w*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
this: "variable.predefined",
|
||||||
|
"@keywords": { token: "keyword.$0" },
|
||||||
|
"@default": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// whitespace
|
||||||
|
[/[ \t\r\n]+/, ""],
|
||||||
|
// Comments
|
||||||
|
[/#.*$/, "comment"],
|
||||||
|
// regular expressions
|
||||||
|
["///", { token: "regexp", next: "@hereregexp" }],
|
||||||
|
[/^(\s*)(@regEx)/, ["", "regexp"]],
|
||||||
|
[/(\,)(\s*)(@regEx)/, ["delimiter", "", "regexp"]],
|
||||||
|
[/(\:)(\s*)(@regEx)/, ["delimiter", "", "regexp"]],
|
||||||
|
// delimiters
|
||||||
|
[/@symbols/, "delimiter"],
|
||||||
|
// numbers
|
||||||
|
[/\d+[eE]([\-+]?\d+)?/, "number.float"],
|
||||||
|
[/\d+\.\d+([eE][\-+]?\d+)?/, "number.float"],
|
||||||
|
[/0[xX][0-9a-fA-F]+/, "number.hex"],
|
||||||
|
[/0[0-7]+(?!\d)/, "number.octal"],
|
||||||
|
[/\d+/, "number"],
|
||||||
|
// delimiter: after number because of .\d floats
|
||||||
|
[/[,.]/, "delimiter"],
|
||||||
|
// strings:
|
||||||
|
[/"""/, "string", '@herestring."""'],
|
||||||
|
[/'''/, "string", "@herestring.'''"],
|
||||||
|
[
|
||||||
|
/"/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@eos": "string",
|
||||||
|
"@default": { token: "string", next: '@string."' }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/'/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@eos": "string",
|
||||||
|
"@default": { token: "string", next: "@string.'" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
string: [
|
||||||
|
[/[^"'\#\\]+/, "string"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/\./, "string.escape.invalid"],
|
||||||
|
[/\./, "string.escape.invalid"],
|
||||||
|
[
|
||||||
|
/#{/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
'$S2=="': {
|
||||||
|
token: "string",
|
||||||
|
next: "root.interpolatedstring"
|
||||||
|
},
|
||||||
|
"@default": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/["']/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$#==$S2": { token: "string", next: "@pop" },
|
||||||
|
"@default": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/#/, "string"]
|
||||||
|
],
|
||||||
|
herestring: [
|
||||||
|
[
|
||||||
|
/("""|''')/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$1==$S2": { token: "string", next: "@pop" },
|
||||||
|
"@default": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/[^#\\'"]+/, "string"],
|
||||||
|
[/['"]+/, "string"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/\./, "string.escape.invalid"],
|
||||||
|
[/#{/, { token: "string.quote", next: "root.interpolatedstring" }],
|
||||||
|
[/#/, "string"]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
[/[^#]+/, "comment"],
|
||||||
|
[/#/, "comment"]
|
||||||
|
],
|
||||||
|
hereregexp: [
|
||||||
|
[/[^\\\/#]+/, "regexp"],
|
||||||
|
[/\\./, "regexp"],
|
||||||
|
[/#.*$/, "comment"],
|
||||||
|
["///[igm]*", { token: "regexp", next: "@pop" }],
|
||||||
|
[/\//, "regexp"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
378
_internal/editor/dev/vs/msdax-MzEb-8sD.js
Normal file
378
_internal/editor/dev/vs/msdax-MzEb-8sD.js
Normal file
@@ -0,0 +1,378 @@
|
|||||||
|
define("vs/msdax-MzEb-8sD", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: "//",
|
||||||
|
blockComment: ["/*", "*/"]
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"],
|
||||||
|
["{", "}"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: '"', close: '"', notIn: ["string", "comment"] },
|
||||||
|
{ open: "'", close: "'", notIn: ["string", "comment"] },
|
||||||
|
{ open: "[", close: "]", notIn: ["string", "comment"] },
|
||||||
|
{ open: "(", close: ")", notIn: ["string", "comment"] },
|
||||||
|
{ open: "{", close: "}", notIn: ["string", "comment"] }
|
||||||
|
]
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".msdax",
|
||||||
|
ignoreCase: true,
|
||||||
|
brackets: [
|
||||||
|
{ open: "[", close: "]", token: "delimiter.square" },
|
||||||
|
{ open: "{", close: "}", token: "delimiter.brackets" },
|
||||||
|
{ open: "(", close: ")", token: "delimiter.parenthesis" }
|
||||||
|
],
|
||||||
|
keywords: [
|
||||||
|
// Query keywords
|
||||||
|
"VAR",
|
||||||
|
"RETURN",
|
||||||
|
"NOT",
|
||||||
|
"EVALUATE",
|
||||||
|
"DATATABLE",
|
||||||
|
"ORDER",
|
||||||
|
"BY",
|
||||||
|
"START",
|
||||||
|
"AT",
|
||||||
|
"DEFINE",
|
||||||
|
"MEASURE",
|
||||||
|
"ASC",
|
||||||
|
"DESC",
|
||||||
|
"IN",
|
||||||
|
// Datatable types
|
||||||
|
"BOOLEAN",
|
||||||
|
"DOUBLE",
|
||||||
|
"INTEGER",
|
||||||
|
"DATETIME",
|
||||||
|
"CURRENCY",
|
||||||
|
"STRING"
|
||||||
|
],
|
||||||
|
functions: [
|
||||||
|
// Relational
|
||||||
|
"CLOSINGBALANCEMONTH",
|
||||||
|
"CLOSINGBALANCEQUARTER",
|
||||||
|
"CLOSINGBALANCEYEAR",
|
||||||
|
"DATEADD",
|
||||||
|
"DATESBETWEEN",
|
||||||
|
"DATESINPERIOD",
|
||||||
|
"DATESMTD",
|
||||||
|
"DATESQTD",
|
||||||
|
"DATESYTD",
|
||||||
|
"ENDOFMONTH",
|
||||||
|
"ENDOFQUARTER",
|
||||||
|
"ENDOFYEAR",
|
||||||
|
"FIRSTDATE",
|
||||||
|
"FIRSTNONBLANK",
|
||||||
|
"LASTDATE",
|
||||||
|
"LASTNONBLANK",
|
||||||
|
"NEXTDAY",
|
||||||
|
"NEXTMONTH",
|
||||||
|
"NEXTQUARTER",
|
||||||
|
"NEXTYEAR",
|
||||||
|
"OPENINGBALANCEMONTH",
|
||||||
|
"OPENINGBALANCEQUARTER",
|
||||||
|
"OPENINGBALANCEYEAR",
|
||||||
|
"PARALLELPERIOD",
|
||||||
|
"PREVIOUSDAY",
|
||||||
|
"PREVIOUSMONTH",
|
||||||
|
"PREVIOUSQUARTER",
|
||||||
|
"PREVIOUSYEAR",
|
||||||
|
"SAMEPERIODLASTYEAR",
|
||||||
|
"STARTOFMONTH",
|
||||||
|
"STARTOFQUARTER",
|
||||||
|
"STARTOFYEAR",
|
||||||
|
"TOTALMTD",
|
||||||
|
"TOTALQTD",
|
||||||
|
"TOTALYTD",
|
||||||
|
"ADDCOLUMNS",
|
||||||
|
"ADDMISSINGITEMS",
|
||||||
|
"ALL",
|
||||||
|
"ALLEXCEPT",
|
||||||
|
"ALLNOBLANKROW",
|
||||||
|
"ALLSELECTED",
|
||||||
|
"CALCULATE",
|
||||||
|
"CALCULATETABLE",
|
||||||
|
"CALENDAR",
|
||||||
|
"CALENDARAUTO",
|
||||||
|
"CROSSFILTER",
|
||||||
|
"CROSSJOIN",
|
||||||
|
"CURRENTGROUP",
|
||||||
|
"DATATABLE",
|
||||||
|
"DETAILROWS",
|
||||||
|
"DISTINCT",
|
||||||
|
"EARLIER",
|
||||||
|
"EARLIEST",
|
||||||
|
"EXCEPT",
|
||||||
|
"FILTER",
|
||||||
|
"FILTERS",
|
||||||
|
"GENERATE",
|
||||||
|
"GENERATEALL",
|
||||||
|
"GROUPBY",
|
||||||
|
"IGNORE",
|
||||||
|
"INTERSECT",
|
||||||
|
"ISONORAFTER",
|
||||||
|
"KEEPFILTERS",
|
||||||
|
"LOOKUPVALUE",
|
||||||
|
"NATURALINNERJOIN",
|
||||||
|
"NATURALLEFTOUTERJOIN",
|
||||||
|
"RELATED",
|
||||||
|
"RELATEDTABLE",
|
||||||
|
"ROLLUP",
|
||||||
|
"ROLLUPADDISSUBTOTAL",
|
||||||
|
"ROLLUPGROUP",
|
||||||
|
"ROLLUPISSUBTOTAL",
|
||||||
|
"ROW",
|
||||||
|
"SAMPLE",
|
||||||
|
"SELECTCOLUMNS",
|
||||||
|
"SUBSTITUTEWITHINDEX",
|
||||||
|
"SUMMARIZE",
|
||||||
|
"SUMMARIZECOLUMNS",
|
||||||
|
"TOPN",
|
||||||
|
"TREATAS",
|
||||||
|
"UNION",
|
||||||
|
"USERELATIONSHIP",
|
||||||
|
"VALUES",
|
||||||
|
"SUM",
|
||||||
|
"SUMX",
|
||||||
|
"PATH",
|
||||||
|
"PATHCONTAINS",
|
||||||
|
"PATHITEM",
|
||||||
|
"PATHITEMREVERSE",
|
||||||
|
"PATHLENGTH",
|
||||||
|
"AVERAGE",
|
||||||
|
"AVERAGEA",
|
||||||
|
"AVERAGEX",
|
||||||
|
"COUNT",
|
||||||
|
"COUNTA",
|
||||||
|
"COUNTAX",
|
||||||
|
"COUNTBLANK",
|
||||||
|
"COUNTROWS",
|
||||||
|
"COUNTX",
|
||||||
|
"DISTINCTCOUNT",
|
||||||
|
"DIVIDE",
|
||||||
|
"GEOMEAN",
|
||||||
|
"GEOMEANX",
|
||||||
|
"MAX",
|
||||||
|
"MAXA",
|
||||||
|
"MAXX",
|
||||||
|
"MEDIAN",
|
||||||
|
"MEDIANX",
|
||||||
|
"MIN",
|
||||||
|
"MINA",
|
||||||
|
"MINX",
|
||||||
|
"PERCENTILE.EXC",
|
||||||
|
"PERCENTILE.INC",
|
||||||
|
"PERCENTILEX.EXC",
|
||||||
|
"PERCENTILEX.INC",
|
||||||
|
"PRODUCT",
|
||||||
|
"PRODUCTX",
|
||||||
|
"RANK.EQ",
|
||||||
|
"RANKX",
|
||||||
|
"STDEV.P",
|
||||||
|
"STDEV.S",
|
||||||
|
"STDEVX.P",
|
||||||
|
"STDEVX.S",
|
||||||
|
"VAR.P",
|
||||||
|
"VAR.S",
|
||||||
|
"VARX.P",
|
||||||
|
"VARX.S",
|
||||||
|
"XIRR",
|
||||||
|
"XNPV",
|
||||||
|
// Scalar
|
||||||
|
"DATE",
|
||||||
|
"DATEDIFF",
|
||||||
|
"DATEVALUE",
|
||||||
|
"DAY",
|
||||||
|
"EDATE",
|
||||||
|
"EOMONTH",
|
||||||
|
"HOUR",
|
||||||
|
"MINUTE",
|
||||||
|
"MONTH",
|
||||||
|
"NOW",
|
||||||
|
"SECOND",
|
||||||
|
"TIME",
|
||||||
|
"TIMEVALUE",
|
||||||
|
"TODAY",
|
||||||
|
"WEEKDAY",
|
||||||
|
"WEEKNUM",
|
||||||
|
"YEAR",
|
||||||
|
"YEARFRAC",
|
||||||
|
"CONTAINS",
|
||||||
|
"CONTAINSROW",
|
||||||
|
"CUSTOMDATA",
|
||||||
|
"ERROR",
|
||||||
|
"HASONEFILTER",
|
||||||
|
"HASONEVALUE",
|
||||||
|
"ISBLANK",
|
||||||
|
"ISCROSSFILTERED",
|
||||||
|
"ISEMPTY",
|
||||||
|
"ISERROR",
|
||||||
|
"ISEVEN",
|
||||||
|
"ISFILTERED",
|
||||||
|
"ISLOGICAL",
|
||||||
|
"ISNONTEXT",
|
||||||
|
"ISNUMBER",
|
||||||
|
"ISODD",
|
||||||
|
"ISSUBTOTAL",
|
||||||
|
"ISTEXT",
|
||||||
|
"USERNAME",
|
||||||
|
"USERPRINCIPALNAME",
|
||||||
|
"AND",
|
||||||
|
"FALSE",
|
||||||
|
"IF",
|
||||||
|
"IFERROR",
|
||||||
|
"NOT",
|
||||||
|
"OR",
|
||||||
|
"SWITCH",
|
||||||
|
"TRUE",
|
||||||
|
"ABS",
|
||||||
|
"ACOS",
|
||||||
|
"ACOSH",
|
||||||
|
"ACOT",
|
||||||
|
"ACOTH",
|
||||||
|
"ASIN",
|
||||||
|
"ASINH",
|
||||||
|
"ATAN",
|
||||||
|
"ATANH",
|
||||||
|
"BETA.DIST",
|
||||||
|
"BETA.INV",
|
||||||
|
"CEILING",
|
||||||
|
"CHISQ.DIST",
|
||||||
|
"CHISQ.DIST.RT",
|
||||||
|
"CHISQ.INV",
|
||||||
|
"CHISQ.INV.RT",
|
||||||
|
"COMBIN",
|
||||||
|
"COMBINA",
|
||||||
|
"CONFIDENCE.NORM",
|
||||||
|
"CONFIDENCE.T",
|
||||||
|
"COS",
|
||||||
|
"COSH",
|
||||||
|
"COT",
|
||||||
|
"COTH",
|
||||||
|
"CURRENCY",
|
||||||
|
"DEGREES",
|
||||||
|
"EVEN",
|
||||||
|
"EXP",
|
||||||
|
"EXPON.DIST",
|
||||||
|
"FACT",
|
||||||
|
"FLOOR",
|
||||||
|
"GCD",
|
||||||
|
"INT",
|
||||||
|
"ISO.CEILING",
|
||||||
|
"LCM",
|
||||||
|
"LN",
|
||||||
|
"LOG",
|
||||||
|
"LOG10",
|
||||||
|
"MOD",
|
||||||
|
"MROUND",
|
||||||
|
"ODD",
|
||||||
|
"PERMUT",
|
||||||
|
"PI",
|
||||||
|
"POISSON.DIST",
|
||||||
|
"POWER",
|
||||||
|
"QUOTIENT",
|
||||||
|
"RADIANS",
|
||||||
|
"RAND",
|
||||||
|
"RANDBETWEEN",
|
||||||
|
"ROUND",
|
||||||
|
"ROUNDDOWN",
|
||||||
|
"ROUNDUP",
|
||||||
|
"SIGN",
|
||||||
|
"SIN",
|
||||||
|
"SINH",
|
||||||
|
"SQRT",
|
||||||
|
"SQRTPI",
|
||||||
|
"TAN",
|
||||||
|
"TANH",
|
||||||
|
"TRUNC",
|
||||||
|
"BLANK",
|
||||||
|
"CONCATENATE",
|
||||||
|
"CONCATENATEX",
|
||||||
|
"EXACT",
|
||||||
|
"FIND",
|
||||||
|
"FIXED",
|
||||||
|
"FORMAT",
|
||||||
|
"LEFT",
|
||||||
|
"LEN",
|
||||||
|
"LOWER",
|
||||||
|
"MID",
|
||||||
|
"REPLACE",
|
||||||
|
"REPT",
|
||||||
|
"RIGHT",
|
||||||
|
"SEARCH",
|
||||||
|
"SUBSTITUTE",
|
||||||
|
"TRIM",
|
||||||
|
"UNICHAR",
|
||||||
|
"UNICODE",
|
||||||
|
"UPPER",
|
||||||
|
"VALUE"
|
||||||
|
],
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
{ include: "@comments" },
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
{ include: "@numbers" },
|
||||||
|
{ include: "@strings" },
|
||||||
|
{ include: "@complexIdentifiers" },
|
||||||
|
[/[;,.]/, "delimiter"],
|
||||||
|
[/[({})]/, "@brackets"],
|
||||||
|
[
|
||||||
|
/[a-z_][a-zA-Z0-9_]*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@keywords": "keyword",
|
||||||
|
"@functions": "keyword",
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/[<>=!%&+\-*/|~^]/, "operator"]
|
||||||
|
],
|
||||||
|
whitespace: [[/\s+/, "white"]],
|
||||||
|
comments: [
|
||||||
|
[/\/\/+.*/, "comment"],
|
||||||
|
[/\/\*/, { token: "comment.quote", next: "@comment" }]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
[/[^*/]+/, "comment"],
|
||||||
|
[/\*\//, { token: "comment.quote", next: "@pop" }],
|
||||||
|
[/./, "comment"]
|
||||||
|
],
|
||||||
|
numbers: [
|
||||||
|
[/0[xX][0-9a-fA-F]*/, "number"],
|
||||||
|
[/[$][+-]*\d*(\.\d*)?/, "number"],
|
||||||
|
[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/, "number"]
|
||||||
|
],
|
||||||
|
strings: [
|
||||||
|
[/N"/, { token: "string", next: "@string" }],
|
||||||
|
[/"/, { token: "string", next: "@string" }]
|
||||||
|
],
|
||||||
|
string: [
|
||||||
|
[/[^"]+/, "string"],
|
||||||
|
[/""/, "string"],
|
||||||
|
[/"/, { token: "string", next: "@pop" }]
|
||||||
|
],
|
||||||
|
complexIdentifiers: [
|
||||||
|
[/\[/, { token: "identifier.quote", next: "@bracketedIdentifier" }],
|
||||||
|
[/'/, { token: "identifier.quote", next: "@quotedIdentifier" }]
|
||||||
|
],
|
||||||
|
bracketedIdentifier: [
|
||||||
|
[/[^\]]+/, "identifier"],
|
||||||
|
[/]]/, "identifier"],
|
||||||
|
[/]/, { token: "identifier.quote", next: "@pop" }]
|
||||||
|
],
|
||||||
|
quotedIdentifier: [
|
||||||
|
[/[^']+/, "identifier"],
|
||||||
|
[/''/, "identifier"],
|
||||||
|
[/'/, { token: "identifier.quote", next: "@pop" }]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
881
_internal/editor/dev/vs/mysql-Drs0JCLT.js
Normal file
881
_internal/editor/dev/vs/mysql-Drs0JCLT.js
Normal file
@@ -0,0 +1,881 @@
|
|||||||
|
define("vs/mysql-Drs0JCLT", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: "--",
|
||||||
|
blockComment: ["/*", "*/"]
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
]
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".sql",
|
||||||
|
ignoreCase: true,
|
||||||
|
brackets: [
|
||||||
|
{ open: "[", close: "]", token: "delimiter.square" },
|
||||||
|
{ open: "(", close: ")", token: "delimiter.parenthesis" }
|
||||||
|
],
|
||||||
|
keywords: [
|
||||||
|
// This list is generated using `keywords.js`
|
||||||
|
"ACCESSIBLE",
|
||||||
|
"ADD",
|
||||||
|
"ALL",
|
||||||
|
"ALTER",
|
||||||
|
"ANALYZE",
|
||||||
|
"AND",
|
||||||
|
"AS",
|
||||||
|
"ASC",
|
||||||
|
"ASENSITIVE",
|
||||||
|
"BEFORE",
|
||||||
|
"BETWEEN",
|
||||||
|
"BIGINT",
|
||||||
|
"BINARY",
|
||||||
|
"BLOB",
|
||||||
|
"BOTH",
|
||||||
|
"BY",
|
||||||
|
"CALL",
|
||||||
|
"CASCADE",
|
||||||
|
"CASE",
|
||||||
|
"CHANGE",
|
||||||
|
"CHAR",
|
||||||
|
"CHARACTER",
|
||||||
|
"CHECK",
|
||||||
|
"COLLATE",
|
||||||
|
"COLUMN",
|
||||||
|
"CONDITION",
|
||||||
|
"CONSTRAINT",
|
||||||
|
"CONTINUE",
|
||||||
|
"CONVERT",
|
||||||
|
"CREATE",
|
||||||
|
"CROSS",
|
||||||
|
"CUBE",
|
||||||
|
"CUME_DIST",
|
||||||
|
"CURRENT_DATE",
|
||||||
|
"CURRENT_TIME",
|
||||||
|
"CURRENT_TIMESTAMP",
|
||||||
|
"CURRENT_USER",
|
||||||
|
"CURSOR",
|
||||||
|
"DATABASE",
|
||||||
|
"DATABASES",
|
||||||
|
"DAY_HOUR",
|
||||||
|
"DAY_MICROSECOND",
|
||||||
|
"DAY_MINUTE",
|
||||||
|
"DAY_SECOND",
|
||||||
|
"DEC",
|
||||||
|
"DECIMAL",
|
||||||
|
"DECLARE",
|
||||||
|
"DEFAULT",
|
||||||
|
"DELAYED",
|
||||||
|
"DELETE",
|
||||||
|
"DENSE_RANK",
|
||||||
|
"DESC",
|
||||||
|
"DESCRIBE",
|
||||||
|
"DETERMINISTIC",
|
||||||
|
"DISTINCT",
|
||||||
|
"DISTINCTROW",
|
||||||
|
"DIV",
|
||||||
|
"DOUBLE",
|
||||||
|
"DROP",
|
||||||
|
"DUAL",
|
||||||
|
"EACH",
|
||||||
|
"ELSE",
|
||||||
|
"ELSEIF",
|
||||||
|
"EMPTY",
|
||||||
|
"ENCLOSED",
|
||||||
|
"ESCAPED",
|
||||||
|
"EXCEPT",
|
||||||
|
"EXISTS",
|
||||||
|
"EXIT",
|
||||||
|
"EXPLAIN",
|
||||||
|
"FALSE",
|
||||||
|
"FETCH",
|
||||||
|
"FIRST_VALUE",
|
||||||
|
"FLOAT",
|
||||||
|
"FLOAT4",
|
||||||
|
"FLOAT8",
|
||||||
|
"FOR",
|
||||||
|
"FORCE",
|
||||||
|
"FOREIGN",
|
||||||
|
"FROM",
|
||||||
|
"FULLTEXT",
|
||||||
|
"FUNCTION",
|
||||||
|
"GENERATED",
|
||||||
|
"GET",
|
||||||
|
"GRANT",
|
||||||
|
"GROUP",
|
||||||
|
"GROUPING",
|
||||||
|
"GROUPS",
|
||||||
|
"HAVING",
|
||||||
|
"HIGH_PRIORITY",
|
||||||
|
"HOUR_MICROSECOND",
|
||||||
|
"HOUR_MINUTE",
|
||||||
|
"HOUR_SECOND",
|
||||||
|
"IF",
|
||||||
|
"IGNORE",
|
||||||
|
"IN",
|
||||||
|
"INDEX",
|
||||||
|
"INFILE",
|
||||||
|
"INNER",
|
||||||
|
"INOUT",
|
||||||
|
"INSENSITIVE",
|
||||||
|
"INSERT",
|
||||||
|
"INT",
|
||||||
|
"INT1",
|
||||||
|
"INT2",
|
||||||
|
"INT3",
|
||||||
|
"INT4",
|
||||||
|
"INT8",
|
||||||
|
"INTEGER",
|
||||||
|
"INTERVAL",
|
||||||
|
"INTO",
|
||||||
|
"IO_AFTER_GTIDS",
|
||||||
|
"IO_BEFORE_GTIDS",
|
||||||
|
"IS",
|
||||||
|
"ITERATE",
|
||||||
|
"JOIN",
|
||||||
|
"JSON_TABLE",
|
||||||
|
"KEY",
|
||||||
|
"KEYS",
|
||||||
|
"KILL",
|
||||||
|
"LAG",
|
||||||
|
"LAST_VALUE",
|
||||||
|
"LATERAL",
|
||||||
|
"LEAD",
|
||||||
|
"LEADING",
|
||||||
|
"LEAVE",
|
||||||
|
"LEFT",
|
||||||
|
"LIKE",
|
||||||
|
"LIMIT",
|
||||||
|
"LINEAR",
|
||||||
|
"LINES",
|
||||||
|
"LOAD",
|
||||||
|
"LOCALTIME",
|
||||||
|
"LOCALTIMESTAMP",
|
||||||
|
"LOCK",
|
||||||
|
"LONG",
|
||||||
|
"LONGBLOB",
|
||||||
|
"LONGTEXT",
|
||||||
|
"LOOP",
|
||||||
|
"LOW_PRIORITY",
|
||||||
|
"MASTER_BIND",
|
||||||
|
"MASTER_SSL_VERIFY_SERVER_CERT",
|
||||||
|
"MATCH",
|
||||||
|
"MAXVALUE",
|
||||||
|
"MEDIUMBLOB",
|
||||||
|
"MEDIUMINT",
|
||||||
|
"MEDIUMTEXT",
|
||||||
|
"MIDDLEINT",
|
||||||
|
"MINUTE_MICROSECOND",
|
||||||
|
"MINUTE_SECOND",
|
||||||
|
"MOD",
|
||||||
|
"MODIFIES",
|
||||||
|
"NATURAL",
|
||||||
|
"NOT",
|
||||||
|
"NO_WRITE_TO_BINLOG",
|
||||||
|
"NTH_VALUE",
|
||||||
|
"NTILE",
|
||||||
|
"NULL",
|
||||||
|
"NUMERIC",
|
||||||
|
"OF",
|
||||||
|
"ON",
|
||||||
|
"OPTIMIZE",
|
||||||
|
"OPTIMIZER_COSTS",
|
||||||
|
"OPTION",
|
||||||
|
"OPTIONALLY",
|
||||||
|
"OR",
|
||||||
|
"ORDER",
|
||||||
|
"OUT",
|
||||||
|
"OUTER",
|
||||||
|
"OUTFILE",
|
||||||
|
"OVER",
|
||||||
|
"PARTITION",
|
||||||
|
"PERCENT_RANK",
|
||||||
|
"PRECISION",
|
||||||
|
"PRIMARY",
|
||||||
|
"PROCEDURE",
|
||||||
|
"PURGE",
|
||||||
|
"RANGE",
|
||||||
|
"RANK",
|
||||||
|
"READ",
|
||||||
|
"READS",
|
||||||
|
"READ_WRITE",
|
||||||
|
"REAL",
|
||||||
|
"RECURSIVE",
|
||||||
|
"REFERENCES",
|
||||||
|
"REGEXP",
|
||||||
|
"RELEASE",
|
||||||
|
"RENAME",
|
||||||
|
"REPEAT",
|
||||||
|
"REPLACE",
|
||||||
|
"REQUIRE",
|
||||||
|
"RESIGNAL",
|
||||||
|
"RESTRICT",
|
||||||
|
"RETURN",
|
||||||
|
"REVOKE",
|
||||||
|
"RIGHT",
|
||||||
|
"RLIKE",
|
||||||
|
"ROW",
|
||||||
|
"ROWS",
|
||||||
|
"ROW_NUMBER",
|
||||||
|
"SCHEMA",
|
||||||
|
"SCHEMAS",
|
||||||
|
"SECOND_MICROSECOND",
|
||||||
|
"SELECT",
|
||||||
|
"SENSITIVE",
|
||||||
|
"SEPARATOR",
|
||||||
|
"SET",
|
||||||
|
"SHOW",
|
||||||
|
"SIGNAL",
|
||||||
|
"SMALLINT",
|
||||||
|
"SPATIAL",
|
||||||
|
"SPECIFIC",
|
||||||
|
"SQL",
|
||||||
|
"SQLEXCEPTION",
|
||||||
|
"SQLSTATE",
|
||||||
|
"SQLWARNING",
|
||||||
|
"SQL_BIG_RESULT",
|
||||||
|
"SQL_CALC_FOUND_ROWS",
|
||||||
|
"SQL_SMALL_RESULT",
|
||||||
|
"SSL",
|
||||||
|
"STARTING",
|
||||||
|
"STORED",
|
||||||
|
"STRAIGHT_JOIN",
|
||||||
|
"SYSTEM",
|
||||||
|
"TABLE",
|
||||||
|
"TERMINATED",
|
||||||
|
"THEN",
|
||||||
|
"TINYBLOB",
|
||||||
|
"TINYINT",
|
||||||
|
"TINYTEXT",
|
||||||
|
"TO",
|
||||||
|
"TRAILING",
|
||||||
|
"TRIGGER",
|
||||||
|
"TRUE",
|
||||||
|
"UNDO",
|
||||||
|
"UNION",
|
||||||
|
"UNIQUE",
|
||||||
|
"UNLOCK",
|
||||||
|
"UNSIGNED",
|
||||||
|
"UPDATE",
|
||||||
|
"USAGE",
|
||||||
|
"USE",
|
||||||
|
"USING",
|
||||||
|
"UTC_DATE",
|
||||||
|
"UTC_TIME",
|
||||||
|
"UTC_TIMESTAMP",
|
||||||
|
"VALUES",
|
||||||
|
"VARBINARY",
|
||||||
|
"VARCHAR",
|
||||||
|
"VARCHARACTER",
|
||||||
|
"VARYING",
|
||||||
|
"VIRTUAL",
|
||||||
|
"WHEN",
|
||||||
|
"WHERE",
|
||||||
|
"WHILE",
|
||||||
|
"WINDOW",
|
||||||
|
"WITH",
|
||||||
|
"WRITE",
|
||||||
|
"XOR",
|
||||||
|
"YEAR_MONTH",
|
||||||
|
"ZEROFILL"
|
||||||
|
],
|
||||||
|
operators: [
|
||||||
|
"AND",
|
||||||
|
"BETWEEN",
|
||||||
|
"IN",
|
||||||
|
"LIKE",
|
||||||
|
"NOT",
|
||||||
|
"OR",
|
||||||
|
"IS",
|
||||||
|
"NULL",
|
||||||
|
"INTERSECT",
|
||||||
|
"UNION",
|
||||||
|
"INNER",
|
||||||
|
"JOIN",
|
||||||
|
"LEFT",
|
||||||
|
"OUTER",
|
||||||
|
"RIGHT"
|
||||||
|
],
|
||||||
|
builtinFunctions: [
|
||||||
|
"ABS",
|
||||||
|
"ACOS",
|
||||||
|
"ADDDATE",
|
||||||
|
"ADDTIME",
|
||||||
|
"AES_DECRYPT",
|
||||||
|
"AES_ENCRYPT",
|
||||||
|
"ANY_VALUE",
|
||||||
|
"Area",
|
||||||
|
"AsBinary",
|
||||||
|
"AsWKB",
|
||||||
|
"ASCII",
|
||||||
|
"ASIN",
|
||||||
|
"AsText",
|
||||||
|
"AsWKT",
|
||||||
|
"ASYMMETRIC_DECRYPT",
|
||||||
|
"ASYMMETRIC_DERIVE",
|
||||||
|
"ASYMMETRIC_ENCRYPT",
|
||||||
|
"ASYMMETRIC_SIGN",
|
||||||
|
"ASYMMETRIC_VERIFY",
|
||||||
|
"ATAN",
|
||||||
|
"ATAN2",
|
||||||
|
"ATAN",
|
||||||
|
"AVG",
|
||||||
|
"BENCHMARK",
|
||||||
|
"BIN",
|
||||||
|
"BIT_AND",
|
||||||
|
"BIT_COUNT",
|
||||||
|
"BIT_LENGTH",
|
||||||
|
"BIT_OR",
|
||||||
|
"BIT_XOR",
|
||||||
|
"Buffer",
|
||||||
|
"CAST",
|
||||||
|
"CEIL",
|
||||||
|
"CEILING",
|
||||||
|
"Centroid",
|
||||||
|
"CHAR",
|
||||||
|
"CHAR_LENGTH",
|
||||||
|
"CHARACTER_LENGTH",
|
||||||
|
"CHARSET",
|
||||||
|
"COALESCE",
|
||||||
|
"COERCIBILITY",
|
||||||
|
"COLLATION",
|
||||||
|
"COMPRESS",
|
||||||
|
"CONCAT",
|
||||||
|
"CONCAT_WS",
|
||||||
|
"CONNECTION_ID",
|
||||||
|
"Contains",
|
||||||
|
"CONV",
|
||||||
|
"CONVERT",
|
||||||
|
"CONVERT_TZ",
|
||||||
|
"ConvexHull",
|
||||||
|
"COS",
|
||||||
|
"COT",
|
||||||
|
"COUNT",
|
||||||
|
"CRC32",
|
||||||
|
"CREATE_ASYMMETRIC_PRIV_KEY",
|
||||||
|
"CREATE_ASYMMETRIC_PUB_KEY",
|
||||||
|
"CREATE_DH_PARAMETERS",
|
||||||
|
"CREATE_DIGEST",
|
||||||
|
"Crosses",
|
||||||
|
"CUME_DIST",
|
||||||
|
"CURDATE",
|
||||||
|
"CURRENT_DATE",
|
||||||
|
"CURRENT_ROLE",
|
||||||
|
"CURRENT_TIME",
|
||||||
|
"CURRENT_TIMESTAMP",
|
||||||
|
"CURRENT_USER",
|
||||||
|
"CURTIME",
|
||||||
|
"DATABASE",
|
||||||
|
"DATE",
|
||||||
|
"DATE_ADD",
|
||||||
|
"DATE_FORMAT",
|
||||||
|
"DATE_SUB",
|
||||||
|
"DATEDIFF",
|
||||||
|
"DAY",
|
||||||
|
"DAYNAME",
|
||||||
|
"DAYOFMONTH",
|
||||||
|
"DAYOFWEEK",
|
||||||
|
"DAYOFYEAR",
|
||||||
|
"DECODE",
|
||||||
|
"DEFAULT",
|
||||||
|
"DEGREES",
|
||||||
|
"DES_DECRYPT",
|
||||||
|
"DES_ENCRYPT",
|
||||||
|
"DENSE_RANK",
|
||||||
|
"Dimension",
|
||||||
|
"Disjoint",
|
||||||
|
"Distance",
|
||||||
|
"ELT",
|
||||||
|
"ENCODE",
|
||||||
|
"ENCRYPT",
|
||||||
|
"EndPoint",
|
||||||
|
"Envelope",
|
||||||
|
"Equals",
|
||||||
|
"EXP",
|
||||||
|
"EXPORT_SET",
|
||||||
|
"ExteriorRing",
|
||||||
|
"EXTRACT",
|
||||||
|
"ExtractValue",
|
||||||
|
"FIELD",
|
||||||
|
"FIND_IN_SET",
|
||||||
|
"FIRST_VALUE",
|
||||||
|
"FLOOR",
|
||||||
|
"FORMAT",
|
||||||
|
"FORMAT_BYTES",
|
||||||
|
"FORMAT_PICO_TIME",
|
||||||
|
"FOUND_ROWS",
|
||||||
|
"FROM_BASE64",
|
||||||
|
"FROM_DAYS",
|
||||||
|
"FROM_UNIXTIME",
|
||||||
|
"GEN_RANGE",
|
||||||
|
"GEN_RND_EMAIL",
|
||||||
|
"GEN_RND_PAN",
|
||||||
|
"GEN_RND_SSN",
|
||||||
|
"GEN_RND_US_PHONE",
|
||||||
|
"GeomCollection",
|
||||||
|
"GeomCollFromText",
|
||||||
|
"GeometryCollectionFromText",
|
||||||
|
"GeomCollFromWKB",
|
||||||
|
"GeometryCollectionFromWKB",
|
||||||
|
"GeometryCollection",
|
||||||
|
"GeometryN",
|
||||||
|
"GeometryType",
|
||||||
|
"GeomFromText",
|
||||||
|
"GeometryFromText",
|
||||||
|
"GeomFromWKB",
|
||||||
|
"GeometryFromWKB",
|
||||||
|
"GET_FORMAT",
|
||||||
|
"GET_LOCK",
|
||||||
|
"GLength",
|
||||||
|
"GREATEST",
|
||||||
|
"GROUP_CONCAT",
|
||||||
|
"GROUPING",
|
||||||
|
"GTID_SUBSET",
|
||||||
|
"GTID_SUBTRACT",
|
||||||
|
"HEX",
|
||||||
|
"HOUR",
|
||||||
|
"ICU_VERSION",
|
||||||
|
"IF",
|
||||||
|
"IFNULL",
|
||||||
|
"INET_ATON",
|
||||||
|
"INET_NTOA",
|
||||||
|
"INET6_ATON",
|
||||||
|
"INET6_NTOA",
|
||||||
|
"INSERT",
|
||||||
|
"INSTR",
|
||||||
|
"InteriorRingN",
|
||||||
|
"Intersects",
|
||||||
|
"INTERVAL",
|
||||||
|
"IS_FREE_LOCK",
|
||||||
|
"IS_IPV4",
|
||||||
|
"IS_IPV4_COMPAT",
|
||||||
|
"IS_IPV4_MAPPED",
|
||||||
|
"IS_IPV6",
|
||||||
|
"IS_USED_LOCK",
|
||||||
|
"IS_UUID",
|
||||||
|
"IsClosed",
|
||||||
|
"IsEmpty",
|
||||||
|
"ISNULL",
|
||||||
|
"IsSimple",
|
||||||
|
"JSON_APPEND",
|
||||||
|
"JSON_ARRAY",
|
||||||
|
"JSON_ARRAY_APPEND",
|
||||||
|
"JSON_ARRAY_INSERT",
|
||||||
|
"JSON_ARRAYAGG",
|
||||||
|
"JSON_CONTAINS",
|
||||||
|
"JSON_CONTAINS_PATH",
|
||||||
|
"JSON_DEPTH",
|
||||||
|
"JSON_EXTRACT",
|
||||||
|
"JSON_INSERT",
|
||||||
|
"JSON_KEYS",
|
||||||
|
"JSON_LENGTH",
|
||||||
|
"JSON_MERGE",
|
||||||
|
"JSON_MERGE_PATCH",
|
||||||
|
"JSON_MERGE_PRESERVE",
|
||||||
|
"JSON_OBJECT",
|
||||||
|
"JSON_OBJECTAGG",
|
||||||
|
"JSON_OVERLAPS",
|
||||||
|
"JSON_PRETTY",
|
||||||
|
"JSON_QUOTE",
|
||||||
|
"JSON_REMOVE",
|
||||||
|
"JSON_REPLACE",
|
||||||
|
"JSON_SCHEMA_VALID",
|
||||||
|
"JSON_SCHEMA_VALIDATION_REPORT",
|
||||||
|
"JSON_SEARCH",
|
||||||
|
"JSON_SET",
|
||||||
|
"JSON_STORAGE_FREE",
|
||||||
|
"JSON_STORAGE_SIZE",
|
||||||
|
"JSON_TABLE",
|
||||||
|
"JSON_TYPE",
|
||||||
|
"JSON_UNQUOTE",
|
||||||
|
"JSON_VALID",
|
||||||
|
"LAG",
|
||||||
|
"LAST_DAY",
|
||||||
|
"LAST_INSERT_ID",
|
||||||
|
"LAST_VALUE",
|
||||||
|
"LCASE",
|
||||||
|
"LEAD",
|
||||||
|
"LEAST",
|
||||||
|
"LEFT",
|
||||||
|
"LENGTH",
|
||||||
|
"LineFromText",
|
||||||
|
"LineStringFromText",
|
||||||
|
"LineFromWKB",
|
||||||
|
"LineStringFromWKB",
|
||||||
|
"LineString",
|
||||||
|
"LN",
|
||||||
|
"LOAD_FILE",
|
||||||
|
"LOCALTIME",
|
||||||
|
"LOCALTIMESTAMP",
|
||||||
|
"LOCATE",
|
||||||
|
"LOG",
|
||||||
|
"LOG10",
|
||||||
|
"LOG2",
|
||||||
|
"LOWER",
|
||||||
|
"LPAD",
|
||||||
|
"LTRIM",
|
||||||
|
"MAKE_SET",
|
||||||
|
"MAKEDATE",
|
||||||
|
"MAKETIME",
|
||||||
|
"MASK_INNER",
|
||||||
|
"MASK_OUTER",
|
||||||
|
"MASK_PAN",
|
||||||
|
"MASK_PAN_RELAXED",
|
||||||
|
"MASK_SSN",
|
||||||
|
"MASTER_POS_WAIT",
|
||||||
|
"MAX",
|
||||||
|
"MBRContains",
|
||||||
|
"MBRCoveredBy",
|
||||||
|
"MBRCovers",
|
||||||
|
"MBRDisjoint",
|
||||||
|
"MBREqual",
|
||||||
|
"MBREquals",
|
||||||
|
"MBRIntersects",
|
||||||
|
"MBROverlaps",
|
||||||
|
"MBRTouches",
|
||||||
|
"MBRWithin",
|
||||||
|
"MD5",
|
||||||
|
"MEMBER OF",
|
||||||
|
"MICROSECOND",
|
||||||
|
"MID",
|
||||||
|
"MIN",
|
||||||
|
"MINUTE",
|
||||||
|
"MLineFromText",
|
||||||
|
"MultiLineStringFromText",
|
||||||
|
"MLineFromWKB",
|
||||||
|
"MultiLineStringFromWKB",
|
||||||
|
"MOD",
|
||||||
|
"MONTH",
|
||||||
|
"MONTHNAME",
|
||||||
|
"MPointFromText",
|
||||||
|
"MultiPointFromText",
|
||||||
|
"MPointFromWKB",
|
||||||
|
"MultiPointFromWKB",
|
||||||
|
"MPolyFromText",
|
||||||
|
"MultiPolygonFromText",
|
||||||
|
"MPolyFromWKB",
|
||||||
|
"MultiPolygonFromWKB",
|
||||||
|
"MultiLineString",
|
||||||
|
"MultiPoint",
|
||||||
|
"MultiPolygon",
|
||||||
|
"NAME_CONST",
|
||||||
|
"NOT IN",
|
||||||
|
"NOW",
|
||||||
|
"NTH_VALUE",
|
||||||
|
"NTILE",
|
||||||
|
"NULLIF",
|
||||||
|
"NumGeometries",
|
||||||
|
"NumInteriorRings",
|
||||||
|
"NumPoints",
|
||||||
|
"OCT",
|
||||||
|
"OCTET_LENGTH",
|
||||||
|
"OLD_PASSWORD",
|
||||||
|
"ORD",
|
||||||
|
"Overlaps",
|
||||||
|
"PASSWORD",
|
||||||
|
"PERCENT_RANK",
|
||||||
|
"PERIOD_ADD",
|
||||||
|
"PERIOD_DIFF",
|
||||||
|
"PI",
|
||||||
|
"Point",
|
||||||
|
"PointFromText",
|
||||||
|
"PointFromWKB",
|
||||||
|
"PointN",
|
||||||
|
"PolyFromText",
|
||||||
|
"PolygonFromText",
|
||||||
|
"PolyFromWKB",
|
||||||
|
"PolygonFromWKB",
|
||||||
|
"Polygon",
|
||||||
|
"POSITION",
|
||||||
|
"POW",
|
||||||
|
"POWER",
|
||||||
|
"PS_CURRENT_THREAD_ID",
|
||||||
|
"PS_THREAD_ID",
|
||||||
|
"PROCEDURE ANALYSE",
|
||||||
|
"QUARTER",
|
||||||
|
"QUOTE",
|
||||||
|
"RADIANS",
|
||||||
|
"RAND",
|
||||||
|
"RANDOM_BYTES",
|
||||||
|
"RANK",
|
||||||
|
"REGEXP_INSTR",
|
||||||
|
"REGEXP_LIKE",
|
||||||
|
"REGEXP_REPLACE",
|
||||||
|
"REGEXP_REPLACE",
|
||||||
|
"RELEASE_ALL_LOCKS",
|
||||||
|
"RELEASE_LOCK",
|
||||||
|
"REPEAT",
|
||||||
|
"REPLACE",
|
||||||
|
"REVERSE",
|
||||||
|
"RIGHT",
|
||||||
|
"ROLES_GRAPHML",
|
||||||
|
"ROUND",
|
||||||
|
"ROW_COUNT",
|
||||||
|
"ROW_NUMBER",
|
||||||
|
"RPAD",
|
||||||
|
"RTRIM",
|
||||||
|
"SCHEMA",
|
||||||
|
"SEC_TO_TIME",
|
||||||
|
"SECOND",
|
||||||
|
"SESSION_USER",
|
||||||
|
"SHA1",
|
||||||
|
"SHA",
|
||||||
|
"SHA2",
|
||||||
|
"SIGN",
|
||||||
|
"SIN",
|
||||||
|
"SLEEP",
|
||||||
|
"SOUNDEX",
|
||||||
|
"SOURCE_POS_WAIT",
|
||||||
|
"SPACE",
|
||||||
|
"SQRT",
|
||||||
|
"SRID",
|
||||||
|
"ST_Area",
|
||||||
|
"ST_AsBinary",
|
||||||
|
"ST_AsWKB",
|
||||||
|
"ST_AsGeoJSON",
|
||||||
|
"ST_AsText",
|
||||||
|
"ST_AsWKT",
|
||||||
|
"ST_Buffer",
|
||||||
|
"ST_Buffer_Strategy",
|
||||||
|
"ST_Centroid",
|
||||||
|
"ST_Collect",
|
||||||
|
"ST_Contains",
|
||||||
|
"ST_ConvexHull",
|
||||||
|
"ST_Crosses",
|
||||||
|
"ST_Difference",
|
||||||
|
"ST_Dimension",
|
||||||
|
"ST_Disjoint",
|
||||||
|
"ST_Distance",
|
||||||
|
"ST_Distance_Sphere",
|
||||||
|
"ST_EndPoint",
|
||||||
|
"ST_Envelope",
|
||||||
|
"ST_Equals",
|
||||||
|
"ST_ExteriorRing",
|
||||||
|
"ST_FrechetDistance",
|
||||||
|
"ST_GeoHash",
|
||||||
|
"ST_GeomCollFromText",
|
||||||
|
"ST_GeometryCollectionFromText",
|
||||||
|
"ST_GeomCollFromTxt",
|
||||||
|
"ST_GeomCollFromWKB",
|
||||||
|
"ST_GeometryCollectionFromWKB",
|
||||||
|
"ST_GeometryN",
|
||||||
|
"ST_GeometryType",
|
||||||
|
"ST_GeomFromGeoJSON",
|
||||||
|
"ST_GeomFromText",
|
||||||
|
"ST_GeometryFromText",
|
||||||
|
"ST_GeomFromWKB",
|
||||||
|
"ST_GeometryFromWKB",
|
||||||
|
"ST_HausdorffDistance",
|
||||||
|
"ST_InteriorRingN",
|
||||||
|
"ST_Intersection",
|
||||||
|
"ST_Intersects",
|
||||||
|
"ST_IsClosed",
|
||||||
|
"ST_IsEmpty",
|
||||||
|
"ST_IsSimple",
|
||||||
|
"ST_IsValid",
|
||||||
|
"ST_LatFromGeoHash",
|
||||||
|
"ST_Length",
|
||||||
|
"ST_LineFromText",
|
||||||
|
"ST_LineStringFromText",
|
||||||
|
"ST_LineFromWKB",
|
||||||
|
"ST_LineStringFromWKB",
|
||||||
|
"ST_LineInterpolatePoint",
|
||||||
|
"ST_LineInterpolatePoints",
|
||||||
|
"ST_LongFromGeoHash",
|
||||||
|
"ST_Longitude",
|
||||||
|
"ST_MakeEnvelope",
|
||||||
|
"ST_MLineFromText",
|
||||||
|
"ST_MultiLineStringFromText",
|
||||||
|
"ST_MLineFromWKB",
|
||||||
|
"ST_MultiLineStringFromWKB",
|
||||||
|
"ST_MPointFromText",
|
||||||
|
"ST_MultiPointFromText",
|
||||||
|
"ST_MPointFromWKB",
|
||||||
|
"ST_MultiPointFromWKB",
|
||||||
|
"ST_MPolyFromText",
|
||||||
|
"ST_MultiPolygonFromText",
|
||||||
|
"ST_MPolyFromWKB",
|
||||||
|
"ST_MultiPolygonFromWKB",
|
||||||
|
"ST_NumGeometries",
|
||||||
|
"ST_NumInteriorRing",
|
||||||
|
"ST_NumInteriorRings",
|
||||||
|
"ST_NumPoints",
|
||||||
|
"ST_Overlaps",
|
||||||
|
"ST_PointAtDistance",
|
||||||
|
"ST_PointFromGeoHash",
|
||||||
|
"ST_PointFromText",
|
||||||
|
"ST_PointFromWKB",
|
||||||
|
"ST_PointN",
|
||||||
|
"ST_PolyFromText",
|
||||||
|
"ST_PolygonFromText",
|
||||||
|
"ST_PolyFromWKB",
|
||||||
|
"ST_PolygonFromWKB",
|
||||||
|
"ST_Simplify",
|
||||||
|
"ST_SRID",
|
||||||
|
"ST_StartPoint",
|
||||||
|
"ST_SwapXY",
|
||||||
|
"ST_SymDifference",
|
||||||
|
"ST_Touches",
|
||||||
|
"ST_Transform",
|
||||||
|
"ST_Union",
|
||||||
|
"ST_Validate",
|
||||||
|
"ST_Within",
|
||||||
|
"ST_X",
|
||||||
|
"ST_Y",
|
||||||
|
"StartPoint",
|
||||||
|
"STATEMENT_DIGEST",
|
||||||
|
"STATEMENT_DIGEST_TEXT",
|
||||||
|
"STD",
|
||||||
|
"STDDEV",
|
||||||
|
"STDDEV_POP",
|
||||||
|
"STDDEV_SAMP",
|
||||||
|
"STR_TO_DATE",
|
||||||
|
"STRCMP",
|
||||||
|
"SUBDATE",
|
||||||
|
"SUBSTR",
|
||||||
|
"SUBSTRING",
|
||||||
|
"SUBSTRING_INDEX",
|
||||||
|
"SUBTIME",
|
||||||
|
"SUM",
|
||||||
|
"SYSDATE",
|
||||||
|
"SYSTEM_USER",
|
||||||
|
"TAN",
|
||||||
|
"TIME",
|
||||||
|
"TIME_FORMAT",
|
||||||
|
"TIME_TO_SEC",
|
||||||
|
"TIMEDIFF",
|
||||||
|
"TIMESTAMP",
|
||||||
|
"TIMESTAMPADD",
|
||||||
|
"TIMESTAMPDIFF",
|
||||||
|
"TO_BASE64",
|
||||||
|
"TO_DAYS",
|
||||||
|
"TO_SECONDS",
|
||||||
|
"Touches",
|
||||||
|
"TRIM",
|
||||||
|
"TRUNCATE",
|
||||||
|
"UCASE",
|
||||||
|
"UNCOMPRESS",
|
||||||
|
"UNCOMPRESSED_LENGTH",
|
||||||
|
"UNHEX",
|
||||||
|
"UNIX_TIMESTAMP",
|
||||||
|
"UpdateXML",
|
||||||
|
"UPPER",
|
||||||
|
"USER",
|
||||||
|
"UTC_DATE",
|
||||||
|
"UTC_TIME",
|
||||||
|
"UTC_TIMESTAMP",
|
||||||
|
"UUID",
|
||||||
|
"UUID_SHORT",
|
||||||
|
"UUID_TO_BIN",
|
||||||
|
"VALIDATE_PASSWORD_STRENGTH",
|
||||||
|
"VALUES",
|
||||||
|
"VAR_POP",
|
||||||
|
"VAR_SAMP",
|
||||||
|
"VARIANCE",
|
||||||
|
"VERSION",
|
||||||
|
"WAIT_FOR_EXECUTED_GTID_SET",
|
||||||
|
"WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS",
|
||||||
|
"WEEK",
|
||||||
|
"WEEKDAY",
|
||||||
|
"WEEKOFYEAR",
|
||||||
|
"WEIGHT_STRING",
|
||||||
|
"Within",
|
||||||
|
"X",
|
||||||
|
"Y",
|
||||||
|
"YEAR",
|
||||||
|
"YEARWEEK"
|
||||||
|
],
|
||||||
|
builtinVariables: [
|
||||||
|
// NOT SUPPORTED
|
||||||
|
],
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
{ include: "@comments" },
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
{ include: "@numbers" },
|
||||||
|
{ include: "@strings" },
|
||||||
|
{ include: "@complexIdentifiers" },
|
||||||
|
{ include: "@scopes" },
|
||||||
|
[/[;,.]/, "delimiter"],
|
||||||
|
[/[()]/, "@brackets"],
|
||||||
|
[
|
||||||
|
/[\w@]+/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@operators": "operator",
|
||||||
|
"@builtinVariables": "predefined",
|
||||||
|
"@builtinFunctions": "predefined",
|
||||||
|
"@keywords": "keyword",
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/[<>=!%&+\-*/|~^]/, "operator"]
|
||||||
|
],
|
||||||
|
whitespace: [[/\s+/, "white"]],
|
||||||
|
comments: [
|
||||||
|
[/--+.*/, "comment"],
|
||||||
|
[/#+.*/, "comment"],
|
||||||
|
[/\/\*/, { token: "comment.quote", next: "@comment" }]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
[/[^*/]+/, "comment"],
|
||||||
|
// Not supporting nested comments, as nested comments seem to not be standard?
|
||||||
|
// i.e. http://stackoverflow.com/questions/728172/are-there-multiline-comment-delimiters-in-sql-that-are-vendor-agnostic
|
||||||
|
// [/\/\*/, { token: 'comment.quote', next: '@push' }], // nested comment not allowed :-(
|
||||||
|
[/\*\//, { token: "comment.quote", next: "@pop" }],
|
||||||
|
[/./, "comment"]
|
||||||
|
],
|
||||||
|
numbers: [
|
||||||
|
[/0[xX][0-9a-fA-F]*/, "number"],
|
||||||
|
[/[$][+-]*\d*(\.\d*)?/, "number"],
|
||||||
|
[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/, "number"]
|
||||||
|
],
|
||||||
|
strings: [
|
||||||
|
[/'/, { token: "string", next: "@string" }],
|
||||||
|
[/"/, { token: "string.double", next: "@stringDouble" }]
|
||||||
|
],
|
||||||
|
string: [
|
||||||
|
[/\\'/, "string"],
|
||||||
|
[/[^']+/, "string"],
|
||||||
|
[/''/, "string"],
|
||||||
|
[/'/, { token: "string", next: "@pop" }]
|
||||||
|
],
|
||||||
|
stringDouble: [
|
||||||
|
[/[^"]+/, "string.double"],
|
||||||
|
[/""/, "string.double"],
|
||||||
|
[/"/, { token: "string.double", next: "@pop" }]
|
||||||
|
],
|
||||||
|
complexIdentifiers: [[/`/, { token: "identifier.quote", next: "@quotedIdentifier" }]],
|
||||||
|
quotedIdentifier: [
|
||||||
|
[/[^`]+/, "identifier"],
|
||||||
|
[/``/, "identifier"],
|
||||||
|
[/`/, { token: "identifier.quote", next: "@pop" }]
|
||||||
|
],
|
||||||
|
scopes: [
|
||||||
|
// NOT SUPPORTED
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
15
_internal/editor/dev/vs/nls.messages-loader.js
Normal file
15
_internal/editor/dev/vs/nls.messages-loader.js
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
define("vs/nls.messages-loader", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
function load(name, req, load2, config) {
|
||||||
|
const requestedLanguage = config["vs/nls"]?.availableLanguages?.["*"];
|
||||||
|
if (!requestedLanguage || requestedLanguage === "en") {
|
||||||
|
load2({});
|
||||||
|
} else {
|
||||||
|
req([`vs/nls.messages.${requestedLanguage}`], () => {
|
||||||
|
load2({});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
exports.load = load;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
21
_internal/editor/dev/vs/nls.messages.de.js
Normal file
21
_internal/editor/dev/vs/nls.messages.de.js
Normal file
File diff suppressed because one or more lines are too long
21
_internal/editor/dev/vs/nls.messages.es.js
Normal file
21
_internal/editor/dev/vs/nls.messages.es.js
Normal file
File diff suppressed because one or more lines are too long
21
_internal/editor/dev/vs/nls.messages.fr.js
Normal file
21
_internal/editor/dev/vs/nls.messages.fr.js
Normal file
File diff suppressed because one or more lines are too long
21
_internal/editor/dev/vs/nls.messages.it.js
Normal file
21
_internal/editor/dev/vs/nls.messages.it.js
Normal file
File diff suppressed because one or more lines are too long
11
_internal/editor/dev/vs/nls.messages.ja.js
Normal file
11
_internal/editor/dev/vs/nls.messages.ja.js
Normal file
File diff suppressed because one or more lines are too long
11
_internal/editor/dev/vs/nls.messages.ko.js
Normal file
11
_internal/editor/dev/vs/nls.messages.ko.js
Normal file
File diff suppressed because one or more lines are too long
21
_internal/editor/dev/vs/nls.messages.ru.js
Normal file
21
_internal/editor/dev/vs/nls.messages.ru.js
Normal file
File diff suppressed because one or more lines are too long
11
_internal/editor/dev/vs/nls.messages.zh-cn.js
Normal file
11
_internal/editor/dev/vs/nls.messages.zh-cn.js
Normal file
File diff suppressed because one or more lines are too long
11
_internal/editor/dev/vs/nls.messages.zh-tw.js
Normal file
11
_internal/editor/dev/vs/nls.messages.zh-tw.js
Normal file
File diff suppressed because one or more lines are too long
186
_internal/editor/dev/vs/objective-c-DZzj24DI.js
Normal file
186
_internal/editor/dev/vs/objective-c-DZzj24DI.js
Normal file
@@ -0,0 +1,186 @@
|
|||||||
|
define("vs/objective-c-DZzj24DI", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: "//",
|
||||||
|
blockComment: ["/*", "*/"]
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
]
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".objective-c",
|
||||||
|
keywords: [
|
||||||
|
"#import",
|
||||||
|
"#include",
|
||||||
|
"#define",
|
||||||
|
"#else",
|
||||||
|
"#endif",
|
||||||
|
"#if",
|
||||||
|
"#ifdef",
|
||||||
|
"#ifndef",
|
||||||
|
"#ident",
|
||||||
|
"#undef",
|
||||||
|
"@class",
|
||||||
|
"@defs",
|
||||||
|
"@dynamic",
|
||||||
|
"@encode",
|
||||||
|
"@end",
|
||||||
|
"@implementation",
|
||||||
|
"@interface",
|
||||||
|
"@package",
|
||||||
|
"@private",
|
||||||
|
"@protected",
|
||||||
|
"@property",
|
||||||
|
"@protocol",
|
||||||
|
"@public",
|
||||||
|
"@selector",
|
||||||
|
"@synthesize",
|
||||||
|
"__declspec",
|
||||||
|
"assign",
|
||||||
|
"auto",
|
||||||
|
"BOOL",
|
||||||
|
"break",
|
||||||
|
"bycopy",
|
||||||
|
"byref",
|
||||||
|
"case",
|
||||||
|
"char",
|
||||||
|
"Class",
|
||||||
|
"const",
|
||||||
|
"copy",
|
||||||
|
"continue",
|
||||||
|
"default",
|
||||||
|
"do",
|
||||||
|
"double",
|
||||||
|
"else",
|
||||||
|
"enum",
|
||||||
|
"extern",
|
||||||
|
"FALSE",
|
||||||
|
"false",
|
||||||
|
"float",
|
||||||
|
"for",
|
||||||
|
"goto",
|
||||||
|
"if",
|
||||||
|
"in",
|
||||||
|
"int",
|
||||||
|
"id",
|
||||||
|
"inout",
|
||||||
|
"IMP",
|
||||||
|
"long",
|
||||||
|
"nil",
|
||||||
|
"nonatomic",
|
||||||
|
"NULL",
|
||||||
|
"oneway",
|
||||||
|
"out",
|
||||||
|
"private",
|
||||||
|
"public",
|
||||||
|
"protected",
|
||||||
|
"readwrite",
|
||||||
|
"readonly",
|
||||||
|
"register",
|
||||||
|
"return",
|
||||||
|
"SEL",
|
||||||
|
"self",
|
||||||
|
"short",
|
||||||
|
"signed",
|
||||||
|
"sizeof",
|
||||||
|
"static",
|
||||||
|
"struct",
|
||||||
|
"super",
|
||||||
|
"switch",
|
||||||
|
"typedef",
|
||||||
|
"TRUE",
|
||||||
|
"true",
|
||||||
|
"union",
|
||||||
|
"unsigned",
|
||||||
|
"volatile",
|
||||||
|
"void",
|
||||||
|
"while"
|
||||||
|
],
|
||||||
|
decpart: /\d(_?\d)*/,
|
||||||
|
decimal: /0|@decpart/,
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
{ include: "@comments" },
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
{ include: "@numbers" },
|
||||||
|
{ include: "@strings" },
|
||||||
|
[/[,:;]/, "delimiter"],
|
||||||
|
[/[{}\[\]()<>]/, "@brackets"],
|
||||||
|
[
|
||||||
|
/[a-zA-Z@#]\w*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@keywords": "keyword",
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/[<>=\\+\\-\\*\\/\\^\\|\\~,]|and\\b|or\\b|not\\b]/, "operator"]
|
||||||
|
],
|
||||||
|
whitespace: [[/\s+/, "white"]],
|
||||||
|
comments: [
|
||||||
|
["\\/\\*", "comment", "@comment"],
|
||||||
|
["\\/\\/+.*", "comment"]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
["\\*\\/", "comment", "@pop"],
|
||||||
|
[".", "comment"]
|
||||||
|
],
|
||||||
|
numbers: [
|
||||||
|
[/0[xX][0-9a-fA-F]*(_?[0-9a-fA-F])*/, "number.hex"],
|
||||||
|
[
|
||||||
|
/@decimal((\.@decpart)?([eE][\-+]?@decpart)?)[fF]*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"(\\d)*": "number",
|
||||||
|
$0: "number.float"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
// Recognize strings, including those broken across lines with \ (but not without)
|
||||||
|
strings: [
|
||||||
|
[/'$/, "string.escape", "@popall"],
|
||||||
|
[/'/, "string.escape", "@stringBody"],
|
||||||
|
[/"$/, "string.escape", "@popall"],
|
||||||
|
[/"/, "string.escape", "@dblStringBody"]
|
||||||
|
],
|
||||||
|
stringBody: [
|
||||||
|
[/[^\\']+$/, "string", "@popall"],
|
||||||
|
[/[^\\']+/, "string"],
|
||||||
|
[/\\./, "string"],
|
||||||
|
[/'/, "string.escape", "@popall"],
|
||||||
|
[/\\$/, "string"]
|
||||||
|
],
|
||||||
|
dblStringBody: [
|
||||||
|
[/[^\\"]+$/, "string", "@popall"],
|
||||||
|
[/[^\\"]+/, "string"],
|
||||||
|
[/\\./, "string"],
|
||||||
|
[/"/, "string.escape", "@popall"],
|
||||||
|
[/\\$/, "string"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
254
_internal/editor/dev/vs/pascal-Ek4lERtt.js
Normal file
254
_internal/editor/dev/vs/pascal-Ek4lERtt.js
Normal file
@@ -0,0 +1,254 @@
|
|||||||
|
define("vs/pascal-Ek4lERtt", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
// the default separators except `@$`
|
||||||
|
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
|
||||||
|
comments: {
|
||||||
|
lineComment: "//",
|
||||||
|
blockComment: ["{", "}"]
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"],
|
||||||
|
["<", ">"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: "<", close: ">" },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: "<", close: ">" },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
],
|
||||||
|
folding: {
|
||||||
|
markers: {
|
||||||
|
start: new RegExp("^\\s*\\{\\$REGION(\\s\\'.*\\')?\\}"),
|
||||||
|
end: new RegExp("^\\s*\\{\\$ENDREGION\\}")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".pascal",
|
||||||
|
ignoreCase: true,
|
||||||
|
brackets: [
|
||||||
|
{ open: "{", close: "}", token: "delimiter.curly" },
|
||||||
|
{ open: "[", close: "]", token: "delimiter.square" },
|
||||||
|
{ open: "(", close: ")", token: "delimiter.parenthesis" },
|
||||||
|
{ open: "<", close: ">", token: "delimiter.angle" }
|
||||||
|
],
|
||||||
|
keywords: [
|
||||||
|
"absolute",
|
||||||
|
"abstract",
|
||||||
|
"all",
|
||||||
|
"and_then",
|
||||||
|
"array",
|
||||||
|
"as",
|
||||||
|
"asm",
|
||||||
|
"attribute",
|
||||||
|
"begin",
|
||||||
|
"bindable",
|
||||||
|
"case",
|
||||||
|
"class",
|
||||||
|
"const",
|
||||||
|
"contains",
|
||||||
|
"default",
|
||||||
|
"div",
|
||||||
|
"else",
|
||||||
|
"end",
|
||||||
|
"except",
|
||||||
|
"exports",
|
||||||
|
"external",
|
||||||
|
"far",
|
||||||
|
"file",
|
||||||
|
"finalization",
|
||||||
|
"finally",
|
||||||
|
"forward",
|
||||||
|
"generic",
|
||||||
|
"goto",
|
||||||
|
"if",
|
||||||
|
"implements",
|
||||||
|
"import",
|
||||||
|
"in",
|
||||||
|
"index",
|
||||||
|
"inherited",
|
||||||
|
"initialization",
|
||||||
|
"interrupt",
|
||||||
|
"is",
|
||||||
|
"label",
|
||||||
|
"library",
|
||||||
|
"mod",
|
||||||
|
"module",
|
||||||
|
"name",
|
||||||
|
"near",
|
||||||
|
"not",
|
||||||
|
"object",
|
||||||
|
"of",
|
||||||
|
"on",
|
||||||
|
"only",
|
||||||
|
"operator",
|
||||||
|
"or_else",
|
||||||
|
"otherwise",
|
||||||
|
"override",
|
||||||
|
"package",
|
||||||
|
"packed",
|
||||||
|
"pow",
|
||||||
|
"private",
|
||||||
|
"program",
|
||||||
|
"protected",
|
||||||
|
"public",
|
||||||
|
"published",
|
||||||
|
"interface",
|
||||||
|
"implementation",
|
||||||
|
"qualified",
|
||||||
|
"read",
|
||||||
|
"record",
|
||||||
|
"resident",
|
||||||
|
"requires",
|
||||||
|
"resourcestring",
|
||||||
|
"restricted",
|
||||||
|
"segment",
|
||||||
|
"set",
|
||||||
|
"shl",
|
||||||
|
"shr",
|
||||||
|
"specialize",
|
||||||
|
"stored",
|
||||||
|
"strict",
|
||||||
|
"then",
|
||||||
|
"threadvar",
|
||||||
|
"to",
|
||||||
|
"try",
|
||||||
|
"type",
|
||||||
|
"unit",
|
||||||
|
"uses",
|
||||||
|
"var",
|
||||||
|
"view",
|
||||||
|
"virtual",
|
||||||
|
"dynamic",
|
||||||
|
"overload",
|
||||||
|
"reintroduce",
|
||||||
|
"with",
|
||||||
|
"write",
|
||||||
|
"xor",
|
||||||
|
"true",
|
||||||
|
"false",
|
||||||
|
"procedure",
|
||||||
|
"function",
|
||||||
|
"constructor",
|
||||||
|
"destructor",
|
||||||
|
"property",
|
||||||
|
"break",
|
||||||
|
"continue",
|
||||||
|
"exit",
|
||||||
|
"abort",
|
||||||
|
"while",
|
||||||
|
"do",
|
||||||
|
"for",
|
||||||
|
"raise",
|
||||||
|
"repeat",
|
||||||
|
"until"
|
||||||
|
],
|
||||||
|
typeKeywords: [
|
||||||
|
"boolean",
|
||||||
|
"double",
|
||||||
|
"byte",
|
||||||
|
"integer",
|
||||||
|
"shortint",
|
||||||
|
"char",
|
||||||
|
"longint",
|
||||||
|
"float",
|
||||||
|
"string"
|
||||||
|
],
|
||||||
|
operators: [
|
||||||
|
"=",
|
||||||
|
">",
|
||||||
|
"<",
|
||||||
|
"<=",
|
||||||
|
">=",
|
||||||
|
"<>",
|
||||||
|
":",
|
||||||
|
":=",
|
||||||
|
"and",
|
||||||
|
"or",
|
||||||
|
"+",
|
||||||
|
"-",
|
||||||
|
"*",
|
||||||
|
"/",
|
||||||
|
"@",
|
||||||
|
"&",
|
||||||
|
"^",
|
||||||
|
"%"
|
||||||
|
],
|
||||||
|
// we include these common regular expressions
|
||||||
|
symbols: /[=><:@\^&|+\-*\/\^%]+/,
|
||||||
|
// The main tokenizer for our languages
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
// identifiers and keywords
|
||||||
|
[
|
||||||
|
/[a-zA-Z_][\w]*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@keywords": { token: "keyword.$0" },
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// whitespace
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
// delimiters and operators
|
||||||
|
[/[{}()\[\]]/, "@brackets"],
|
||||||
|
[/[<>](?!@symbols)/, "@brackets"],
|
||||||
|
[
|
||||||
|
/@symbols/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@operators": "delimiter",
|
||||||
|
"@default": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// numbers
|
||||||
|
[/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
|
||||||
|
[/\$[0-9a-fA-F]{1,16}/, "number.hex"],
|
||||||
|
[/\d+/, "number"],
|
||||||
|
// delimiter: after number because of .\d floats
|
||||||
|
[/[;,.]/, "delimiter"],
|
||||||
|
// strings
|
||||||
|
[/'([^'\\]|\\.)*$/, "string.invalid"],
|
||||||
|
// non-teminated string
|
||||||
|
[/'/, "string", "@string"],
|
||||||
|
// characters
|
||||||
|
[/'[^\\']'/, "string"],
|
||||||
|
[/'/, "string.invalid"],
|
||||||
|
[/\#\d+/, "string"]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
[/[^\*\}]+/, "comment"],
|
||||||
|
//[/\(\*/, 'comment', '@push' ], // nested comment not allowed :-(
|
||||||
|
[/\}/, "comment", "@pop"],
|
||||||
|
[/[\{]/, "comment"]
|
||||||
|
],
|
||||||
|
string: [
|
||||||
|
[/[^\\']+/, "string"],
|
||||||
|
[/\\./, "string.escape.invalid"],
|
||||||
|
[/'/, { token: "string.quote", bracket: "@close", next: "@pop" }]
|
||||||
|
],
|
||||||
|
whitespace: [
|
||||||
|
[/[ \t\r\n]+/, "white"],
|
||||||
|
[/\{/, "comment", "@comment"],
|
||||||
|
[/\/\/.*$/, "comment"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
167
_internal/editor/dev/vs/pascaligo-BhBiNdI2.js
Normal file
167
_internal/editor/dev/vs/pascaligo-BhBiNdI2.js
Normal file
@@ -0,0 +1,167 @@
|
|||||||
|
define("vs/pascaligo-BhBiNdI2", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: "//",
|
||||||
|
blockComment: ["(*", "*)"]
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"],
|
||||||
|
["<", ">"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: "<", close: ">" },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: "<", close: ">" },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
]
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".pascaligo",
|
||||||
|
ignoreCase: true,
|
||||||
|
brackets: [
|
||||||
|
{ open: "{", close: "}", token: "delimiter.curly" },
|
||||||
|
{ open: "[", close: "]", token: "delimiter.square" },
|
||||||
|
{ open: "(", close: ")", token: "delimiter.parenthesis" },
|
||||||
|
{ open: "<", close: ">", token: "delimiter.angle" }
|
||||||
|
],
|
||||||
|
keywords: [
|
||||||
|
"begin",
|
||||||
|
"block",
|
||||||
|
"case",
|
||||||
|
"const",
|
||||||
|
"else",
|
||||||
|
"end",
|
||||||
|
"fail",
|
||||||
|
"for",
|
||||||
|
"from",
|
||||||
|
"function",
|
||||||
|
"if",
|
||||||
|
"is",
|
||||||
|
"nil",
|
||||||
|
"of",
|
||||||
|
"remove",
|
||||||
|
"return",
|
||||||
|
"skip",
|
||||||
|
"then",
|
||||||
|
"type",
|
||||||
|
"var",
|
||||||
|
"while",
|
||||||
|
"with",
|
||||||
|
"option",
|
||||||
|
"None",
|
||||||
|
"transaction"
|
||||||
|
],
|
||||||
|
typeKeywords: [
|
||||||
|
"bool",
|
||||||
|
"int",
|
||||||
|
"list",
|
||||||
|
"map",
|
||||||
|
"nat",
|
||||||
|
"record",
|
||||||
|
"string",
|
||||||
|
"unit",
|
||||||
|
"address",
|
||||||
|
"map",
|
||||||
|
"mtz",
|
||||||
|
"xtz"
|
||||||
|
],
|
||||||
|
operators: [
|
||||||
|
"=",
|
||||||
|
">",
|
||||||
|
"<",
|
||||||
|
"<=",
|
||||||
|
">=",
|
||||||
|
"<>",
|
||||||
|
":",
|
||||||
|
":=",
|
||||||
|
"and",
|
||||||
|
"mod",
|
||||||
|
"or",
|
||||||
|
"+",
|
||||||
|
"-",
|
||||||
|
"*",
|
||||||
|
"/",
|
||||||
|
"@",
|
||||||
|
"&",
|
||||||
|
"^",
|
||||||
|
"%"
|
||||||
|
],
|
||||||
|
// we include these common regular expressions
|
||||||
|
symbols: /[=><:@\^&|+\-*\/\^%]+/,
|
||||||
|
// The main tokenizer for our languages
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
// identifiers and keywords
|
||||||
|
[
|
||||||
|
/[a-zA-Z_][\w]*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@keywords": { token: "keyword.$0" },
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// whitespace
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
// delimiters and operators
|
||||||
|
[/[{}()\[\]]/, "@brackets"],
|
||||||
|
[/[<>](?!@symbols)/, "@brackets"],
|
||||||
|
[
|
||||||
|
/@symbols/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@operators": "delimiter",
|
||||||
|
"@default": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// numbers
|
||||||
|
[/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
|
||||||
|
[/\$[0-9a-fA-F]{1,16}/, "number.hex"],
|
||||||
|
[/\d+/, "number"],
|
||||||
|
// delimiter: after number because of .\d floats
|
||||||
|
[/[;,.]/, "delimiter"],
|
||||||
|
// strings
|
||||||
|
[/'([^'\\]|\\.)*$/, "string.invalid"],
|
||||||
|
// non-teminated string
|
||||||
|
[/'/, "string", "@string"],
|
||||||
|
// characters
|
||||||
|
[/'[^\\']'/, "string"],
|
||||||
|
[/'/, "string.invalid"],
|
||||||
|
[/\#\d+/, "string"]
|
||||||
|
],
|
||||||
|
/* */
|
||||||
|
comment: [
|
||||||
|
[/[^\(\*]+/, "comment"],
|
||||||
|
//[/\(\*/, 'comment', '@push' ], // nested comment not allowed :-(
|
||||||
|
[/\*\)/, "comment", "@pop"],
|
||||||
|
[/\(\*/, "comment"]
|
||||||
|
],
|
||||||
|
string: [
|
||||||
|
[/[^\\']+/, "string"],
|
||||||
|
[/\\./, "string.escape.invalid"],
|
||||||
|
[/'/, { token: "string.quote", bracket: "@close", next: "@pop" }]
|
||||||
|
],
|
||||||
|
whitespace: [
|
||||||
|
[/[ \t\r\n]+/, "white"],
|
||||||
|
[/\(\*/, "comment", "@comment"],
|
||||||
|
[/\/\/.*$/, "comment"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
629
_internal/editor/dev/vs/perl-BZM3Cl3T.js
Normal file
629
_internal/editor/dev/vs/perl-BZM3Cl3T.js
Normal file
@@ -0,0 +1,629 @@
|
|||||||
|
define("vs/perl-BZM3Cl3T", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: "#"
|
||||||
|
},
|
||||||
|
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: "`" }
|
||||||
|
]
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".perl",
|
||||||
|
brackets: [
|
||||||
|
{ token: "delimiter.bracket", open: "{", close: "}" },
|
||||||
|
{ token: "delimiter.parenthesis", open: "(", close: ")" },
|
||||||
|
{ token: "delimiter.square", open: "[", close: "]" }
|
||||||
|
],
|
||||||
|
// https://learn.perl.org/docs/keywords.html
|
||||||
|
// Perl syntax
|
||||||
|
keywords: [
|
||||||
|
"__DATA__",
|
||||||
|
"else",
|
||||||
|
"lock",
|
||||||
|
"__END__",
|
||||||
|
"elsif",
|
||||||
|
"lt",
|
||||||
|
"__FILE__",
|
||||||
|
"eq",
|
||||||
|
"__LINE__",
|
||||||
|
"exp",
|
||||||
|
"ne",
|
||||||
|
"sub",
|
||||||
|
"__PACKAGE__",
|
||||||
|
"for",
|
||||||
|
"no",
|
||||||
|
"and",
|
||||||
|
"foreach",
|
||||||
|
"or",
|
||||||
|
"unless",
|
||||||
|
"cmp",
|
||||||
|
"ge",
|
||||||
|
"package",
|
||||||
|
"until",
|
||||||
|
"continue",
|
||||||
|
"gt",
|
||||||
|
"while",
|
||||||
|
"CORE",
|
||||||
|
"if",
|
||||||
|
"xor",
|
||||||
|
"do",
|
||||||
|
"le",
|
||||||
|
"__DIE__",
|
||||||
|
"__WARN__"
|
||||||
|
],
|
||||||
|
// Perl functions
|
||||||
|
builtinFunctions: [
|
||||||
|
"-A",
|
||||||
|
"END",
|
||||||
|
"length",
|
||||||
|
"setpgrp",
|
||||||
|
"-B",
|
||||||
|
"endgrent",
|
||||||
|
"link",
|
||||||
|
"setpriority",
|
||||||
|
"-b",
|
||||||
|
"endhostent",
|
||||||
|
"listen",
|
||||||
|
"setprotoent",
|
||||||
|
"-C",
|
||||||
|
"endnetent",
|
||||||
|
"local",
|
||||||
|
"setpwent",
|
||||||
|
"-c",
|
||||||
|
"endprotoent",
|
||||||
|
"localtime",
|
||||||
|
"setservent",
|
||||||
|
"-d",
|
||||||
|
"endpwent",
|
||||||
|
"log",
|
||||||
|
"setsockopt",
|
||||||
|
"-e",
|
||||||
|
"endservent",
|
||||||
|
"lstat",
|
||||||
|
"shift",
|
||||||
|
"-f",
|
||||||
|
"eof",
|
||||||
|
"map",
|
||||||
|
"shmctl",
|
||||||
|
"-g",
|
||||||
|
"eval",
|
||||||
|
"mkdir",
|
||||||
|
"shmget",
|
||||||
|
"-k",
|
||||||
|
"exec",
|
||||||
|
"msgctl",
|
||||||
|
"shmread",
|
||||||
|
"-l",
|
||||||
|
"exists",
|
||||||
|
"msgget",
|
||||||
|
"shmwrite",
|
||||||
|
"-M",
|
||||||
|
"exit",
|
||||||
|
"msgrcv",
|
||||||
|
"shutdown",
|
||||||
|
"-O",
|
||||||
|
"fcntl",
|
||||||
|
"msgsnd",
|
||||||
|
"sin",
|
||||||
|
"-o",
|
||||||
|
"fileno",
|
||||||
|
"my",
|
||||||
|
"sleep",
|
||||||
|
"-p",
|
||||||
|
"flock",
|
||||||
|
"next",
|
||||||
|
"socket",
|
||||||
|
"-r",
|
||||||
|
"fork",
|
||||||
|
"not",
|
||||||
|
"socketpair",
|
||||||
|
"-R",
|
||||||
|
"format",
|
||||||
|
"oct",
|
||||||
|
"sort",
|
||||||
|
"-S",
|
||||||
|
"formline",
|
||||||
|
"open",
|
||||||
|
"splice",
|
||||||
|
"-s",
|
||||||
|
"getc",
|
||||||
|
"opendir",
|
||||||
|
"split",
|
||||||
|
"-T",
|
||||||
|
"getgrent",
|
||||||
|
"ord",
|
||||||
|
"sprintf",
|
||||||
|
"-t",
|
||||||
|
"getgrgid",
|
||||||
|
"our",
|
||||||
|
"sqrt",
|
||||||
|
"-u",
|
||||||
|
"getgrnam",
|
||||||
|
"pack",
|
||||||
|
"srand",
|
||||||
|
"-w",
|
||||||
|
"gethostbyaddr",
|
||||||
|
"pipe",
|
||||||
|
"stat",
|
||||||
|
"-W",
|
||||||
|
"gethostbyname",
|
||||||
|
"pop",
|
||||||
|
"state",
|
||||||
|
"-X",
|
||||||
|
"gethostent",
|
||||||
|
"pos",
|
||||||
|
"study",
|
||||||
|
"-x",
|
||||||
|
"getlogin",
|
||||||
|
"print",
|
||||||
|
"substr",
|
||||||
|
"-z",
|
||||||
|
"getnetbyaddr",
|
||||||
|
"printf",
|
||||||
|
"symlink",
|
||||||
|
"abs",
|
||||||
|
"getnetbyname",
|
||||||
|
"prototype",
|
||||||
|
"syscall",
|
||||||
|
"accept",
|
||||||
|
"getnetent",
|
||||||
|
"push",
|
||||||
|
"sysopen",
|
||||||
|
"alarm",
|
||||||
|
"getpeername",
|
||||||
|
"quotemeta",
|
||||||
|
"sysread",
|
||||||
|
"atan2",
|
||||||
|
"getpgrp",
|
||||||
|
"rand",
|
||||||
|
"sysseek",
|
||||||
|
"AUTOLOAD",
|
||||||
|
"getppid",
|
||||||
|
"read",
|
||||||
|
"system",
|
||||||
|
"BEGIN",
|
||||||
|
"getpriority",
|
||||||
|
"readdir",
|
||||||
|
"syswrite",
|
||||||
|
"bind",
|
||||||
|
"getprotobyname",
|
||||||
|
"readline",
|
||||||
|
"tell",
|
||||||
|
"binmode",
|
||||||
|
"getprotobynumber",
|
||||||
|
"readlink",
|
||||||
|
"telldir",
|
||||||
|
"bless",
|
||||||
|
"getprotoent",
|
||||||
|
"readpipe",
|
||||||
|
"tie",
|
||||||
|
"break",
|
||||||
|
"getpwent",
|
||||||
|
"recv",
|
||||||
|
"tied",
|
||||||
|
"caller",
|
||||||
|
"getpwnam",
|
||||||
|
"redo",
|
||||||
|
"time",
|
||||||
|
"chdir",
|
||||||
|
"getpwuid",
|
||||||
|
"ref",
|
||||||
|
"times",
|
||||||
|
"CHECK",
|
||||||
|
"getservbyname",
|
||||||
|
"rename",
|
||||||
|
"truncate",
|
||||||
|
"chmod",
|
||||||
|
"getservbyport",
|
||||||
|
"require",
|
||||||
|
"uc",
|
||||||
|
"chomp",
|
||||||
|
"getservent",
|
||||||
|
"reset",
|
||||||
|
"ucfirst",
|
||||||
|
"chop",
|
||||||
|
"getsockname",
|
||||||
|
"return",
|
||||||
|
"umask",
|
||||||
|
"chown",
|
||||||
|
"getsockopt",
|
||||||
|
"reverse",
|
||||||
|
"undef",
|
||||||
|
"chr",
|
||||||
|
"glob",
|
||||||
|
"rewinddir",
|
||||||
|
"UNITCHECK",
|
||||||
|
"chroot",
|
||||||
|
"gmtime",
|
||||||
|
"rindex",
|
||||||
|
"unlink",
|
||||||
|
"close",
|
||||||
|
"goto",
|
||||||
|
"rmdir",
|
||||||
|
"unpack",
|
||||||
|
"closedir",
|
||||||
|
"grep",
|
||||||
|
"say",
|
||||||
|
"unshift",
|
||||||
|
"connect",
|
||||||
|
"hex",
|
||||||
|
"scalar",
|
||||||
|
"untie",
|
||||||
|
"cos",
|
||||||
|
"index",
|
||||||
|
"seek",
|
||||||
|
"use",
|
||||||
|
"crypt",
|
||||||
|
"INIT",
|
||||||
|
"seekdir",
|
||||||
|
"utime",
|
||||||
|
"dbmclose",
|
||||||
|
"int",
|
||||||
|
"select",
|
||||||
|
"values",
|
||||||
|
"dbmopen",
|
||||||
|
"ioctl",
|
||||||
|
"semctl",
|
||||||
|
"vec",
|
||||||
|
"defined",
|
||||||
|
"join",
|
||||||
|
"semget",
|
||||||
|
"wait",
|
||||||
|
"delete",
|
||||||
|
"keys",
|
||||||
|
"semop",
|
||||||
|
"waitpid",
|
||||||
|
"DESTROY",
|
||||||
|
"kill",
|
||||||
|
"send",
|
||||||
|
"wantarray",
|
||||||
|
"die",
|
||||||
|
"last",
|
||||||
|
"setgrent",
|
||||||
|
"warn",
|
||||||
|
"dump",
|
||||||
|
"lc",
|
||||||
|
"sethostent",
|
||||||
|
"write",
|
||||||
|
"each",
|
||||||
|
"lcfirst",
|
||||||
|
"setnetent"
|
||||||
|
],
|
||||||
|
// File handlers
|
||||||
|
builtinFileHandlers: ["ARGV", "STDERR", "STDOUT", "ARGVOUT", "STDIN", "ENV"],
|
||||||
|
// Perl variables
|
||||||
|
builtinVariables: [
|
||||||
|
"$!",
|
||||||
|
"$^RE_TRIE_MAXBUF",
|
||||||
|
"$LAST_REGEXP_CODE_RESULT",
|
||||||
|
'$"',
|
||||||
|
"$^S",
|
||||||
|
"$LIST_SEPARATOR",
|
||||||
|
"$#",
|
||||||
|
"$^T",
|
||||||
|
"$MATCH",
|
||||||
|
"$$",
|
||||||
|
"$^TAINT",
|
||||||
|
"$MULTILINE_MATCHING",
|
||||||
|
"$%",
|
||||||
|
"$^UNICODE",
|
||||||
|
"$NR",
|
||||||
|
"$&",
|
||||||
|
"$^UTF8LOCALE",
|
||||||
|
"$OFMT",
|
||||||
|
"$'",
|
||||||
|
"$^V",
|
||||||
|
"$OFS",
|
||||||
|
"$(",
|
||||||
|
"$^W",
|
||||||
|
"$ORS",
|
||||||
|
"$)",
|
||||||
|
"$^WARNING_BITS",
|
||||||
|
"$OS_ERROR",
|
||||||
|
"$*",
|
||||||
|
"$^WIDE_SYSTEM_CALLS",
|
||||||
|
"$OSNAME",
|
||||||
|
"$+",
|
||||||
|
"$^X",
|
||||||
|
"$OUTPUT_AUTO_FLUSH",
|
||||||
|
"$,",
|
||||||
|
"$_",
|
||||||
|
"$OUTPUT_FIELD_SEPARATOR",
|
||||||
|
"$-",
|
||||||
|
"$`",
|
||||||
|
"$OUTPUT_RECORD_SEPARATOR",
|
||||||
|
"$.",
|
||||||
|
"$a",
|
||||||
|
"$PERL_VERSION",
|
||||||
|
"$/",
|
||||||
|
"$ACCUMULATOR",
|
||||||
|
"$PERLDB",
|
||||||
|
"$0",
|
||||||
|
"$ARG",
|
||||||
|
"$PID",
|
||||||
|
"$:",
|
||||||
|
"$ARGV",
|
||||||
|
"$POSTMATCH",
|
||||||
|
"$;",
|
||||||
|
"$b",
|
||||||
|
"$PREMATCH",
|
||||||
|
"$<",
|
||||||
|
"$BASETIME",
|
||||||
|
"$PROCESS_ID",
|
||||||
|
"$=",
|
||||||
|
"$CHILD_ERROR",
|
||||||
|
"$PROGRAM_NAME",
|
||||||
|
"$>",
|
||||||
|
"$COMPILING",
|
||||||
|
"$REAL_GROUP_ID",
|
||||||
|
"$?",
|
||||||
|
"$DEBUGGING",
|
||||||
|
"$REAL_USER_ID",
|
||||||
|
"$@",
|
||||||
|
"$EFFECTIVE_GROUP_ID",
|
||||||
|
"$RS",
|
||||||
|
"$[",
|
||||||
|
"$EFFECTIVE_USER_ID",
|
||||||
|
"$SUBSCRIPT_SEPARATOR",
|
||||||
|
"$\\",
|
||||||
|
"$EGID",
|
||||||
|
"$SUBSEP",
|
||||||
|
"$]",
|
||||||
|
"$ERRNO",
|
||||||
|
"$SYSTEM_FD_MAX",
|
||||||
|
"$^",
|
||||||
|
"$EUID",
|
||||||
|
"$UID",
|
||||||
|
"$^A",
|
||||||
|
"$EVAL_ERROR",
|
||||||
|
"$WARNING",
|
||||||
|
"$^C",
|
||||||
|
"$EXCEPTIONS_BEING_CAUGHT",
|
||||||
|
"$|",
|
||||||
|
"$^CHILD_ERROR_NATIVE",
|
||||||
|
"$EXECUTABLE_NAME",
|
||||||
|
"$~",
|
||||||
|
"$^D",
|
||||||
|
"$EXTENDED_OS_ERROR",
|
||||||
|
"%!",
|
||||||
|
"$^E",
|
||||||
|
"$FORMAT_FORMFEED",
|
||||||
|
"%^H",
|
||||||
|
"$^ENCODING",
|
||||||
|
"$FORMAT_LINE_BREAK_CHARACTERS",
|
||||||
|
"%ENV",
|
||||||
|
"$^F",
|
||||||
|
"$FORMAT_LINES_LEFT",
|
||||||
|
"%INC",
|
||||||
|
"$^H",
|
||||||
|
"$FORMAT_LINES_PER_PAGE",
|
||||||
|
"%OVERLOAD",
|
||||||
|
"$^I",
|
||||||
|
"$FORMAT_NAME",
|
||||||
|
"%SIG",
|
||||||
|
"$^L",
|
||||||
|
"$FORMAT_PAGE_NUMBER",
|
||||||
|
"@+",
|
||||||
|
"$^M",
|
||||||
|
"$FORMAT_TOP_NAME",
|
||||||
|
"@-",
|
||||||
|
"$^N",
|
||||||
|
"$GID",
|
||||||
|
"@_",
|
||||||
|
"$^O",
|
||||||
|
"$INPLACE_EDIT",
|
||||||
|
"@ARGV",
|
||||||
|
"$^OPEN",
|
||||||
|
"$INPUT_LINE_NUMBER",
|
||||||
|
"@INC",
|
||||||
|
"$^P",
|
||||||
|
"$INPUT_RECORD_SEPARATOR",
|
||||||
|
"@LAST_MATCH_START",
|
||||||
|
"$^R",
|
||||||
|
"$LAST_MATCH_END",
|
||||||
|
"$^RE_DEBUG_FLAGS",
|
||||||
|
"$LAST_PAREN_MATCH"
|
||||||
|
],
|
||||||
|
// operators
|
||||||
|
symbols: /[:+\-\^*$&%@=<>!?|\/~\.]/,
|
||||||
|
quoteLikeOps: ["qr", "m", "s", "q", "qq", "qx", "qw", "tr", "y"],
|
||||||
|
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: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
[
|
||||||
|
/[a-zA-Z\-_][\w\-_]*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@keywords": "keyword",
|
||||||
|
"@builtinFunctions": "type.identifier",
|
||||||
|
"@builtinFileHandlers": "variable.predefined",
|
||||||
|
"@quoteLikeOps": {
|
||||||
|
token: "@rematch",
|
||||||
|
next: "quotedConstructs"
|
||||||
|
},
|
||||||
|
"@default": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// Perl variables
|
||||||
|
[
|
||||||
|
/[\$@%][*@#?\+\-\$!\w\\\^><~:;\.]+/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@builtinVariables": "variable.predefined",
|
||||||
|
"@default": "variable"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
{ include: "@strings" },
|
||||||
|
{ include: "@dblStrings" },
|
||||||
|
// Perl Doc
|
||||||
|
{ include: "@perldoc" },
|
||||||
|
// Here Doc
|
||||||
|
{ include: "@heredoc" },
|
||||||
|
[/[{}\[\]()]/, "@brackets"],
|
||||||
|
// RegExp
|
||||||
|
[/[\/](?:(?:\[(?:\\]|[^\]])+\])|(?:\\\/|[^\]\/]))*[\/]\w*\s*(?=[).,;]|$)/, "regexp"],
|
||||||
|
[/@symbols/, "operators"],
|
||||||
|
{ include: "@numbers" },
|
||||||
|
[/[,;]/, "delimiter"]
|
||||||
|
],
|
||||||
|
whitespace: [
|
||||||
|
[/\s+/, "white"],
|
||||||
|
[/(^#!.*$)/, "metatag"],
|
||||||
|
[/(^#.*$)/, "comment"]
|
||||||
|
],
|
||||||
|
numbers: [
|
||||||
|
[/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
|
||||||
|
[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/, "number.hex"],
|
||||||
|
[/\d+/, "number"]
|
||||||
|
],
|
||||||
|
// Single quote string
|
||||||
|
strings: [[/'/, "string", "@stringBody"]],
|
||||||
|
stringBody: [
|
||||||
|
[/'/, "string", "@popall"],
|
||||||
|
[/\\'/, "string.escape"],
|
||||||
|
[/./, "string"]
|
||||||
|
],
|
||||||
|
// Double quote string
|
||||||
|
dblStrings: [[/"/, "string", "@dblStringBody"]],
|
||||||
|
dblStringBody: [
|
||||||
|
[/"/, "string", "@popall"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/\\./, "string.escape.invalid"],
|
||||||
|
{ include: "@variables" },
|
||||||
|
[/./, "string"]
|
||||||
|
],
|
||||||
|
// Quoted constructs
|
||||||
|
// Percent strings in Ruby are similar to quote-like operators in Perl.
|
||||||
|
// This is adapted from pstrings in ../ruby/ruby.ts.
|
||||||
|
quotedConstructs: [
|
||||||
|
[/(q|qw|tr|y)\s*\(/, { token: "string.delim", switchTo: "@qstring.(.)" }],
|
||||||
|
[/(q|qw|tr|y)\s*\[/, { token: "string.delim", switchTo: "@qstring.[.]" }],
|
||||||
|
[/(q|qw|tr|y)\s*\{/, { token: "string.delim", switchTo: "@qstring.{.}" }],
|
||||||
|
[/(q|qw|tr|y)\s*</, { token: "string.delim", switchTo: "@qstring.<.>" }],
|
||||||
|
[/(q|qw|tr|y)#/, { token: "string.delim", switchTo: "@qstring.#.#" }],
|
||||||
|
[/(q|qw|tr|y)\s*([^A-Za-z0-9#\s])/, { token: "string.delim", switchTo: "@qstring.$2.$2" }],
|
||||||
|
[/(q|qw|tr|y)\s+(\w)/, { token: "string.delim", switchTo: "@qstring.$2.$2" }],
|
||||||
|
[/(qr|m|s)\s*\(/, { token: "regexp.delim", switchTo: "@qregexp.(.)" }],
|
||||||
|
[/(qr|m|s)\s*\[/, { token: "regexp.delim", switchTo: "@qregexp.[.]" }],
|
||||||
|
[/(qr|m|s)\s*\{/, { token: "regexp.delim", switchTo: "@qregexp.{.}" }],
|
||||||
|
[/(qr|m|s)\s*</, { token: "regexp.delim", switchTo: "@qregexp.<.>" }],
|
||||||
|
[/(qr|m|s)#/, { token: "regexp.delim", switchTo: "@qregexp.#.#" }],
|
||||||
|
[/(qr|m|s)\s*([^A-Za-z0-9_#\s])/, { token: "regexp.delim", switchTo: "@qregexp.$2.$2" }],
|
||||||
|
[/(qr|m|s)\s+(\w)/, { token: "regexp.delim", switchTo: "@qregexp.$2.$2" }],
|
||||||
|
[/(qq|qx)\s*\(/, { token: "string.delim", switchTo: "@qqstring.(.)" }],
|
||||||
|
[/(qq|qx)\s*\[/, { token: "string.delim", switchTo: "@qqstring.[.]" }],
|
||||||
|
[/(qq|qx)\s*\{/, { token: "string.delim", switchTo: "@qqstring.{.}" }],
|
||||||
|
[/(qq|qx)\s*</, { token: "string.delim", switchTo: "@qqstring.<.>" }],
|
||||||
|
[/(qq|qx)#/, { token: "string.delim", switchTo: "@qqstring.#.#" }],
|
||||||
|
[/(qq|qx)\s*([^A-Za-z0-9#\s])/, { token: "string.delim", switchTo: "@qqstring.$2.$2" }],
|
||||||
|
[/(qq|qx)\s+(\w)/, { token: "string.delim", switchTo: "@qqstring.$2.$2" }]
|
||||||
|
],
|
||||||
|
// Non-expanded quoted string
|
||||||
|
// qstring<open>.<close>
|
||||||
|
// open = open delimiter
|
||||||
|
// close = close delimiter
|
||||||
|
qstring: [
|
||||||
|
[/\\./, "string.escape"],
|
||||||
|
[
|
||||||
|
/./,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$#==$S3": { token: "string.delim", next: "@pop" },
|
||||||
|
"$#==$S2": { token: "string.delim", next: "@push" },
|
||||||
|
// nested delimiters
|
||||||
|
"@default": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
// Quoted regexp
|
||||||
|
// qregexp.<open>.<close>
|
||||||
|
// open = open delimiter
|
||||||
|
// close = close delimiter
|
||||||
|
qregexp: [
|
||||||
|
{ include: "@variables" },
|
||||||
|
[/\\./, "regexp.escape"],
|
||||||
|
[
|
||||||
|
/./,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$#==$S3": {
|
||||||
|
token: "regexp.delim",
|
||||||
|
next: "@regexpModifiers"
|
||||||
|
},
|
||||||
|
"$#==$S2": { token: "regexp.delim", next: "@push" },
|
||||||
|
// nested delimiters
|
||||||
|
"@default": "regexp"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
regexpModifiers: [[/[msixpodualngcer]+/, { token: "regexp.modifier", next: "@popall" }]],
|
||||||
|
// Expanded quoted string
|
||||||
|
// qqstring.<open>.<close>
|
||||||
|
// open = open delimiter
|
||||||
|
// close = close delimiter
|
||||||
|
qqstring: [{ include: "@variables" }, { include: "@qstring" }],
|
||||||
|
heredoc: [
|
||||||
|
[/<<\s*['"`]?([\w\-]+)['"`]?/, { token: "string.heredoc.delimiter", next: "@heredocBody.$1" }]
|
||||||
|
],
|
||||||
|
heredocBody: [
|
||||||
|
[
|
||||||
|
/^([\w\-]+)$/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$1==$S2": [
|
||||||
|
{
|
||||||
|
token: "string.heredoc.delimiter",
|
||||||
|
next: "@popall"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"@default": "string.heredoc"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/./, "string.heredoc"]
|
||||||
|
],
|
||||||
|
perldoc: [[/^=\w/, "comment.doc", "@perldocBody"]],
|
||||||
|
perldocBody: [
|
||||||
|
[/^=cut\b/, "type.identifier", "@popall"],
|
||||||
|
[/./, "comment.doc"]
|
||||||
|
],
|
||||||
|
variables: [
|
||||||
|
[/\$\w+/, "variable"],
|
||||||
|
// scalar
|
||||||
|
[/@\w+/, "variable"],
|
||||||
|
// array
|
||||||
|
[/%\w+/, "variable"]
|
||||||
|
// key/value
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
854
_internal/editor/dev/vs/pgsql-BAYS0xjf.js
Normal file
854
_internal/editor/dev/vs/pgsql-BAYS0xjf.js
Normal file
@@ -0,0 +1,854 @@
|
|||||||
|
define("vs/pgsql-BAYS0xjf", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: "--",
|
||||||
|
blockComment: ["/*", "*/"]
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
]
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".sql",
|
||||||
|
ignoreCase: true,
|
||||||
|
brackets: [
|
||||||
|
{ open: "[", close: "]", token: "delimiter.square" },
|
||||||
|
{ open: "(", close: ")", token: "delimiter.parenthesis" }
|
||||||
|
],
|
||||||
|
keywords: [
|
||||||
|
// This list is generated using `keywords.js`
|
||||||
|
"ALL",
|
||||||
|
"ANALYSE",
|
||||||
|
"ANALYZE",
|
||||||
|
"AND",
|
||||||
|
"ANY",
|
||||||
|
"ARRAY",
|
||||||
|
"AS",
|
||||||
|
"ASC",
|
||||||
|
"ASYMMETRIC",
|
||||||
|
"AUTHORIZATION",
|
||||||
|
"BINARY",
|
||||||
|
"BOTH",
|
||||||
|
"CASE",
|
||||||
|
"CAST",
|
||||||
|
"CHECK",
|
||||||
|
"COLLATE",
|
||||||
|
"COLLATION",
|
||||||
|
"COLUMN",
|
||||||
|
"CONCURRENTLY",
|
||||||
|
"CONSTRAINT",
|
||||||
|
"CREATE",
|
||||||
|
"CROSS",
|
||||||
|
"CURRENT_CATALOG",
|
||||||
|
"CURRENT_DATE",
|
||||||
|
"CURRENT_ROLE",
|
||||||
|
"CURRENT_SCHEMA",
|
||||||
|
"CURRENT_TIME",
|
||||||
|
"CURRENT_TIMESTAMP",
|
||||||
|
"CURRENT_USER",
|
||||||
|
"DEFAULT",
|
||||||
|
"DEFERRABLE",
|
||||||
|
"DESC",
|
||||||
|
"DISTINCT",
|
||||||
|
"DO",
|
||||||
|
"ELSE",
|
||||||
|
"END",
|
||||||
|
"EXCEPT",
|
||||||
|
"FALSE",
|
||||||
|
"FETCH",
|
||||||
|
"FOR",
|
||||||
|
"FOREIGN",
|
||||||
|
"FREEZE",
|
||||||
|
"FROM",
|
||||||
|
"FULL",
|
||||||
|
"GRANT",
|
||||||
|
"GROUP",
|
||||||
|
"HAVING",
|
||||||
|
"ILIKE",
|
||||||
|
"IN",
|
||||||
|
"INITIALLY",
|
||||||
|
"INNER",
|
||||||
|
"INTERSECT",
|
||||||
|
"INTO",
|
||||||
|
"IS",
|
||||||
|
"ISNULL",
|
||||||
|
"JOIN",
|
||||||
|
"LATERAL",
|
||||||
|
"LEADING",
|
||||||
|
"LEFT",
|
||||||
|
"LIKE",
|
||||||
|
"LIMIT",
|
||||||
|
"LOCALTIME",
|
||||||
|
"LOCALTIMESTAMP",
|
||||||
|
"NATURAL",
|
||||||
|
"NOT",
|
||||||
|
"NOTNULL",
|
||||||
|
"NULL",
|
||||||
|
"OFFSET",
|
||||||
|
"ON",
|
||||||
|
"ONLY",
|
||||||
|
"OR",
|
||||||
|
"ORDER",
|
||||||
|
"OUTER",
|
||||||
|
"OVERLAPS",
|
||||||
|
"PLACING",
|
||||||
|
"PRIMARY",
|
||||||
|
"REFERENCES",
|
||||||
|
"RETURNING",
|
||||||
|
"RIGHT",
|
||||||
|
"SELECT",
|
||||||
|
"SESSION_USER",
|
||||||
|
"SIMILAR",
|
||||||
|
"SOME",
|
||||||
|
"SYMMETRIC",
|
||||||
|
"TABLE",
|
||||||
|
"TABLESAMPLE",
|
||||||
|
"THEN",
|
||||||
|
"TO",
|
||||||
|
"TRAILING",
|
||||||
|
"TRUE",
|
||||||
|
"UNION",
|
||||||
|
"UNIQUE",
|
||||||
|
"USER",
|
||||||
|
"USING",
|
||||||
|
"VARIADIC",
|
||||||
|
"VERBOSE",
|
||||||
|
"WHEN",
|
||||||
|
"WHERE",
|
||||||
|
"WINDOW",
|
||||||
|
"WITH"
|
||||||
|
],
|
||||||
|
operators: [
|
||||||
|
"AND",
|
||||||
|
"BETWEEN",
|
||||||
|
"IN",
|
||||||
|
"LIKE",
|
||||||
|
"NOT",
|
||||||
|
"OR",
|
||||||
|
"IS",
|
||||||
|
"NULL",
|
||||||
|
"INTERSECT",
|
||||||
|
"UNION",
|
||||||
|
"INNER",
|
||||||
|
"JOIN",
|
||||||
|
"LEFT",
|
||||||
|
"OUTER",
|
||||||
|
"RIGHT"
|
||||||
|
],
|
||||||
|
builtinFunctions: [
|
||||||
|
"abbrev",
|
||||||
|
"abs",
|
||||||
|
"acldefault",
|
||||||
|
"aclexplode",
|
||||||
|
"acos",
|
||||||
|
"acosd",
|
||||||
|
"acosh",
|
||||||
|
"age",
|
||||||
|
"any",
|
||||||
|
"area",
|
||||||
|
"array_agg",
|
||||||
|
"array_append",
|
||||||
|
"array_cat",
|
||||||
|
"array_dims",
|
||||||
|
"array_fill",
|
||||||
|
"array_length",
|
||||||
|
"array_lower",
|
||||||
|
"array_ndims",
|
||||||
|
"array_position",
|
||||||
|
"array_positions",
|
||||||
|
"array_prepend",
|
||||||
|
"array_remove",
|
||||||
|
"array_replace",
|
||||||
|
"array_to_json",
|
||||||
|
"array_to_string",
|
||||||
|
"array_to_tsvector",
|
||||||
|
"array_upper",
|
||||||
|
"ascii",
|
||||||
|
"asin",
|
||||||
|
"asind",
|
||||||
|
"asinh",
|
||||||
|
"atan",
|
||||||
|
"atan2",
|
||||||
|
"atan2d",
|
||||||
|
"atand",
|
||||||
|
"atanh",
|
||||||
|
"avg",
|
||||||
|
"bit",
|
||||||
|
"bit_and",
|
||||||
|
"bit_count",
|
||||||
|
"bit_length",
|
||||||
|
"bit_or",
|
||||||
|
"bit_xor",
|
||||||
|
"bool_and",
|
||||||
|
"bool_or",
|
||||||
|
"bound_box",
|
||||||
|
"box",
|
||||||
|
"brin_desummarize_range",
|
||||||
|
"brin_summarize_new_values",
|
||||||
|
"brin_summarize_range",
|
||||||
|
"broadcast",
|
||||||
|
"btrim",
|
||||||
|
"cardinality",
|
||||||
|
"cbrt",
|
||||||
|
"ceil",
|
||||||
|
"ceiling",
|
||||||
|
"center",
|
||||||
|
"char_length",
|
||||||
|
"character_length",
|
||||||
|
"chr",
|
||||||
|
"circle",
|
||||||
|
"clock_timestamp",
|
||||||
|
"coalesce",
|
||||||
|
"col_description",
|
||||||
|
"concat",
|
||||||
|
"concat_ws",
|
||||||
|
"convert",
|
||||||
|
"convert_from",
|
||||||
|
"convert_to",
|
||||||
|
"corr",
|
||||||
|
"cos",
|
||||||
|
"cosd",
|
||||||
|
"cosh",
|
||||||
|
"cot",
|
||||||
|
"cotd",
|
||||||
|
"count",
|
||||||
|
"covar_pop",
|
||||||
|
"covar_samp",
|
||||||
|
"cume_dist",
|
||||||
|
"current_catalog",
|
||||||
|
"current_database",
|
||||||
|
"current_date",
|
||||||
|
"current_query",
|
||||||
|
"current_role",
|
||||||
|
"current_schema",
|
||||||
|
"current_schemas",
|
||||||
|
"current_setting",
|
||||||
|
"current_time",
|
||||||
|
"current_timestamp",
|
||||||
|
"current_user",
|
||||||
|
"currval",
|
||||||
|
"cursor_to_xml",
|
||||||
|
"cursor_to_xmlschema",
|
||||||
|
"date_bin",
|
||||||
|
"date_part",
|
||||||
|
"date_trunc",
|
||||||
|
"database_to_xml",
|
||||||
|
"database_to_xml_and_xmlschema",
|
||||||
|
"database_to_xmlschema",
|
||||||
|
"decode",
|
||||||
|
"degrees",
|
||||||
|
"dense_rank",
|
||||||
|
"diagonal",
|
||||||
|
"diameter",
|
||||||
|
"div",
|
||||||
|
"encode",
|
||||||
|
"enum_first",
|
||||||
|
"enum_last",
|
||||||
|
"enum_range",
|
||||||
|
"every",
|
||||||
|
"exp",
|
||||||
|
"extract",
|
||||||
|
"factorial",
|
||||||
|
"family",
|
||||||
|
"first_value",
|
||||||
|
"floor",
|
||||||
|
"format",
|
||||||
|
"format_type",
|
||||||
|
"gcd",
|
||||||
|
"gen_random_uuid",
|
||||||
|
"generate_series",
|
||||||
|
"generate_subscripts",
|
||||||
|
"get_bit",
|
||||||
|
"get_byte",
|
||||||
|
"get_current_ts_config",
|
||||||
|
"gin_clean_pending_list",
|
||||||
|
"greatest",
|
||||||
|
"grouping",
|
||||||
|
"has_any_column_privilege",
|
||||||
|
"has_column_privilege",
|
||||||
|
"has_database_privilege",
|
||||||
|
"has_foreign_data_wrapper_privilege",
|
||||||
|
"has_function_privilege",
|
||||||
|
"has_language_privilege",
|
||||||
|
"has_schema_privilege",
|
||||||
|
"has_sequence_privilege",
|
||||||
|
"has_server_privilege",
|
||||||
|
"has_table_privilege",
|
||||||
|
"has_tablespace_privilege",
|
||||||
|
"has_type_privilege",
|
||||||
|
"height",
|
||||||
|
"host",
|
||||||
|
"hostmask",
|
||||||
|
"inet_client_addr",
|
||||||
|
"inet_client_port",
|
||||||
|
"inet_merge",
|
||||||
|
"inet_same_family",
|
||||||
|
"inet_server_addr",
|
||||||
|
"inet_server_port",
|
||||||
|
"initcap",
|
||||||
|
"isclosed",
|
||||||
|
"isempty",
|
||||||
|
"isfinite",
|
||||||
|
"isopen",
|
||||||
|
"json_agg",
|
||||||
|
"json_array_elements",
|
||||||
|
"json_array_elements_text",
|
||||||
|
"json_array_length",
|
||||||
|
"json_build_array",
|
||||||
|
"json_build_object",
|
||||||
|
"json_each",
|
||||||
|
"json_each_text",
|
||||||
|
"json_extract_path",
|
||||||
|
"json_extract_path_text",
|
||||||
|
"json_object",
|
||||||
|
"json_object_agg",
|
||||||
|
"json_object_keys",
|
||||||
|
"json_populate_record",
|
||||||
|
"json_populate_recordset",
|
||||||
|
"json_strip_nulls",
|
||||||
|
"json_to_record",
|
||||||
|
"json_to_recordset",
|
||||||
|
"json_to_tsvector",
|
||||||
|
"json_typeof",
|
||||||
|
"jsonb_agg",
|
||||||
|
"jsonb_array_elements",
|
||||||
|
"jsonb_array_elements_text",
|
||||||
|
"jsonb_array_length",
|
||||||
|
"jsonb_build_array",
|
||||||
|
"jsonb_build_object",
|
||||||
|
"jsonb_each",
|
||||||
|
"jsonb_each_text",
|
||||||
|
"jsonb_extract_path",
|
||||||
|
"jsonb_extract_path_text",
|
||||||
|
"jsonb_insert",
|
||||||
|
"jsonb_object",
|
||||||
|
"jsonb_object_agg",
|
||||||
|
"jsonb_object_keys",
|
||||||
|
"jsonb_path_exists",
|
||||||
|
"jsonb_path_match",
|
||||||
|
"jsonb_path_query",
|
||||||
|
"jsonb_path_query_array",
|
||||||
|
"jsonb_path_exists_tz",
|
||||||
|
"jsonb_path_query_first",
|
||||||
|
"jsonb_path_query_array_tz",
|
||||||
|
"jsonb_path_query_first_tz",
|
||||||
|
"jsonb_path_query_tz",
|
||||||
|
"jsonb_path_match_tz",
|
||||||
|
"jsonb_populate_record",
|
||||||
|
"jsonb_populate_recordset",
|
||||||
|
"jsonb_pretty",
|
||||||
|
"jsonb_set",
|
||||||
|
"jsonb_set_lax",
|
||||||
|
"jsonb_strip_nulls",
|
||||||
|
"jsonb_to_record",
|
||||||
|
"jsonb_to_recordset",
|
||||||
|
"jsonb_to_tsvector",
|
||||||
|
"jsonb_typeof",
|
||||||
|
"justify_days",
|
||||||
|
"justify_hours",
|
||||||
|
"justify_interval",
|
||||||
|
"lag",
|
||||||
|
"last_value",
|
||||||
|
"lastval",
|
||||||
|
"lcm",
|
||||||
|
"lead",
|
||||||
|
"least",
|
||||||
|
"left",
|
||||||
|
"length",
|
||||||
|
"line",
|
||||||
|
"ln",
|
||||||
|
"localtime",
|
||||||
|
"localtimestamp",
|
||||||
|
"log",
|
||||||
|
"log10",
|
||||||
|
"lower",
|
||||||
|
"lower_inc",
|
||||||
|
"lower_inf",
|
||||||
|
"lpad",
|
||||||
|
"lseg",
|
||||||
|
"ltrim",
|
||||||
|
"macaddr8_set7bit",
|
||||||
|
"make_date",
|
||||||
|
"make_interval",
|
||||||
|
"make_time",
|
||||||
|
"make_timestamp",
|
||||||
|
"make_timestamptz",
|
||||||
|
"makeaclitem",
|
||||||
|
"masklen",
|
||||||
|
"max",
|
||||||
|
"md5",
|
||||||
|
"min",
|
||||||
|
"min_scale",
|
||||||
|
"mod",
|
||||||
|
"mode",
|
||||||
|
"multirange",
|
||||||
|
"netmask",
|
||||||
|
"network",
|
||||||
|
"nextval",
|
||||||
|
"normalize",
|
||||||
|
"now",
|
||||||
|
"npoints",
|
||||||
|
"nth_value",
|
||||||
|
"ntile",
|
||||||
|
"nullif",
|
||||||
|
"num_nonnulls",
|
||||||
|
"num_nulls",
|
||||||
|
"numnode",
|
||||||
|
"obj_description",
|
||||||
|
"octet_length",
|
||||||
|
"overlay",
|
||||||
|
"parse_ident",
|
||||||
|
"path",
|
||||||
|
"pclose",
|
||||||
|
"percent_rank",
|
||||||
|
"percentile_cont",
|
||||||
|
"percentile_disc",
|
||||||
|
"pg_advisory_lock",
|
||||||
|
"pg_advisory_lock_shared",
|
||||||
|
"pg_advisory_unlock",
|
||||||
|
"pg_advisory_unlock_all",
|
||||||
|
"pg_advisory_unlock_shared",
|
||||||
|
"pg_advisory_xact_lock",
|
||||||
|
"pg_advisory_xact_lock_shared",
|
||||||
|
"pg_backend_pid",
|
||||||
|
"pg_backup_start_time",
|
||||||
|
"pg_blocking_pids",
|
||||||
|
"pg_cancel_backend",
|
||||||
|
"pg_client_encoding",
|
||||||
|
"pg_collation_actual_version",
|
||||||
|
"pg_collation_is_visible",
|
||||||
|
"pg_column_compression",
|
||||||
|
"pg_column_size",
|
||||||
|
"pg_conf_load_time",
|
||||||
|
"pg_control_checkpoint",
|
||||||
|
"pg_control_init",
|
||||||
|
"pg_control_recovery",
|
||||||
|
"pg_control_system",
|
||||||
|
"pg_conversion_is_visible",
|
||||||
|
"pg_copy_logical_replication_slot",
|
||||||
|
"pg_copy_physical_replication_slot",
|
||||||
|
"pg_create_logical_replication_slot",
|
||||||
|
"pg_create_physical_replication_slot",
|
||||||
|
"pg_create_restore_point",
|
||||||
|
"pg_current_logfile",
|
||||||
|
"pg_current_snapshot",
|
||||||
|
"pg_current_wal_flush_lsn",
|
||||||
|
"pg_current_wal_insert_lsn",
|
||||||
|
"pg_current_wal_lsn",
|
||||||
|
"pg_current_xact_id",
|
||||||
|
"pg_current_xact_id_if_assigned",
|
||||||
|
"pg_current_xlog_flush_location",
|
||||||
|
"pg_current_xlog_insert_location",
|
||||||
|
"pg_current_xlog_location",
|
||||||
|
"pg_database_size",
|
||||||
|
"pg_describe_object",
|
||||||
|
"pg_drop_replication_slot",
|
||||||
|
"pg_event_trigger_ddl_commands",
|
||||||
|
"pg_event_trigger_dropped_objects",
|
||||||
|
"pg_event_trigger_table_rewrite_oid",
|
||||||
|
"pg_event_trigger_table_rewrite_reason",
|
||||||
|
"pg_export_snapshot",
|
||||||
|
"pg_filenode_relation",
|
||||||
|
"pg_function_is_visible",
|
||||||
|
"pg_get_catalog_foreign_keys",
|
||||||
|
"pg_get_constraintdef",
|
||||||
|
"pg_get_expr",
|
||||||
|
"pg_get_function_arguments",
|
||||||
|
"pg_get_function_identity_arguments",
|
||||||
|
"pg_get_function_result",
|
||||||
|
"pg_get_functiondef",
|
||||||
|
"pg_get_indexdef",
|
||||||
|
"pg_get_keywords",
|
||||||
|
"pg_get_object_address",
|
||||||
|
"pg_get_owned_sequence",
|
||||||
|
"pg_get_ruledef",
|
||||||
|
"pg_get_serial_sequence",
|
||||||
|
"pg_get_statisticsobjdef",
|
||||||
|
"pg_get_triggerdef",
|
||||||
|
"pg_get_userbyid",
|
||||||
|
"pg_get_viewdef",
|
||||||
|
"pg_get_wal_replay_pause_state",
|
||||||
|
"pg_has_role",
|
||||||
|
"pg_identify_object",
|
||||||
|
"pg_identify_object_as_address",
|
||||||
|
"pg_import_system_collations",
|
||||||
|
"pg_index_column_has_property",
|
||||||
|
"pg_index_has_property",
|
||||||
|
"pg_indexam_has_property",
|
||||||
|
"pg_indexes_size",
|
||||||
|
"pg_is_in_backup",
|
||||||
|
"pg_is_in_recovery",
|
||||||
|
"pg_is_other_temp_schema",
|
||||||
|
"pg_is_wal_replay_paused",
|
||||||
|
"pg_is_xlog_replay_paused",
|
||||||
|
"pg_jit_available",
|
||||||
|
"pg_last_committed_xact",
|
||||||
|
"pg_last_wal_receive_lsn",
|
||||||
|
"pg_last_wal_replay_lsn",
|
||||||
|
"pg_last_xact_replay_timestamp",
|
||||||
|
"pg_last_xlog_receive_location",
|
||||||
|
"pg_last_xlog_replay_location",
|
||||||
|
"pg_listening_channels",
|
||||||
|
"pg_log_backend_memory_contexts",
|
||||||
|
"pg_logical_emit_message",
|
||||||
|
"pg_logical_slot_get_binary_changes",
|
||||||
|
"pg_logical_slot_get_changes",
|
||||||
|
"pg_logical_slot_peek_binary_changes",
|
||||||
|
"pg_logical_slot_peek_changes",
|
||||||
|
"pg_ls_archive_statusdir",
|
||||||
|
"pg_ls_dir",
|
||||||
|
"pg_ls_logdir",
|
||||||
|
"pg_ls_tmpdir",
|
||||||
|
"pg_ls_waldir",
|
||||||
|
"pg_mcv_list_items",
|
||||||
|
"pg_my_temp_schema",
|
||||||
|
"pg_notification_queue_usage",
|
||||||
|
"pg_opclass_is_visible",
|
||||||
|
"pg_operator_is_visible",
|
||||||
|
"pg_opfamily_is_visible",
|
||||||
|
"pg_options_to_table",
|
||||||
|
"pg_partition_ancestors",
|
||||||
|
"pg_partition_root",
|
||||||
|
"pg_partition_tree",
|
||||||
|
"pg_postmaster_start_time",
|
||||||
|
"pg_promote",
|
||||||
|
"pg_read_binary_file",
|
||||||
|
"pg_read_file",
|
||||||
|
"pg_relation_filenode",
|
||||||
|
"pg_relation_filepath",
|
||||||
|
"pg_relation_size",
|
||||||
|
"pg_reload_conf",
|
||||||
|
"pg_replication_origin_advance",
|
||||||
|
"pg_replication_origin_create",
|
||||||
|
"pg_replication_origin_drop",
|
||||||
|
"pg_replication_origin_oid",
|
||||||
|
"pg_replication_origin_progress",
|
||||||
|
"pg_replication_origin_session_is_setup",
|
||||||
|
"pg_replication_origin_session_progress",
|
||||||
|
"pg_replication_origin_session_reset",
|
||||||
|
"pg_replication_origin_session_setup",
|
||||||
|
"pg_replication_origin_xact_reset",
|
||||||
|
"pg_replication_origin_xact_setup",
|
||||||
|
"pg_replication_slot_advance",
|
||||||
|
"pg_rotate_logfile",
|
||||||
|
"pg_safe_snapshot_blocking_pids",
|
||||||
|
"pg_size_bytes",
|
||||||
|
"pg_size_pretty",
|
||||||
|
"pg_sleep",
|
||||||
|
"pg_sleep_for",
|
||||||
|
"pg_sleep_until",
|
||||||
|
"pg_snapshot_xip",
|
||||||
|
"pg_snapshot_xmax",
|
||||||
|
"pg_snapshot_xmin",
|
||||||
|
"pg_start_backup",
|
||||||
|
"pg_stat_file",
|
||||||
|
"pg_statistics_obj_is_visible",
|
||||||
|
"pg_stop_backup",
|
||||||
|
"pg_switch_wal",
|
||||||
|
"pg_switch_xlog",
|
||||||
|
"pg_table_is_visible",
|
||||||
|
"pg_table_size",
|
||||||
|
"pg_tablespace_databases",
|
||||||
|
"pg_tablespace_location",
|
||||||
|
"pg_tablespace_size",
|
||||||
|
"pg_terminate_backend",
|
||||||
|
"pg_total_relation_size",
|
||||||
|
"pg_trigger_depth",
|
||||||
|
"pg_try_advisory_lock",
|
||||||
|
"pg_try_advisory_lock_shared",
|
||||||
|
"pg_try_advisory_xact_lock",
|
||||||
|
"pg_try_advisory_xact_lock_shared",
|
||||||
|
"pg_ts_config_is_visible",
|
||||||
|
"pg_ts_dict_is_visible",
|
||||||
|
"pg_ts_parser_is_visible",
|
||||||
|
"pg_ts_template_is_visible",
|
||||||
|
"pg_type_is_visible",
|
||||||
|
"pg_typeof",
|
||||||
|
"pg_visible_in_snapshot",
|
||||||
|
"pg_wal_lsn_diff",
|
||||||
|
"pg_wal_replay_pause",
|
||||||
|
"pg_wal_replay_resume",
|
||||||
|
"pg_walfile_name",
|
||||||
|
"pg_walfile_name_offset",
|
||||||
|
"pg_xact_commit_timestamp",
|
||||||
|
"pg_xact_commit_timestamp_origin",
|
||||||
|
"pg_xact_status",
|
||||||
|
"pg_xlog_location_diff",
|
||||||
|
"pg_xlog_replay_pause",
|
||||||
|
"pg_xlog_replay_resume",
|
||||||
|
"pg_xlogfile_name",
|
||||||
|
"pg_xlogfile_name_offset",
|
||||||
|
"phraseto_tsquery",
|
||||||
|
"pi",
|
||||||
|
"plainto_tsquery",
|
||||||
|
"point",
|
||||||
|
"polygon",
|
||||||
|
"popen",
|
||||||
|
"position",
|
||||||
|
"power",
|
||||||
|
"pqserverversion",
|
||||||
|
"query_to_xml",
|
||||||
|
"query_to_xml_and_xmlschema",
|
||||||
|
"query_to_xmlschema",
|
||||||
|
"querytree",
|
||||||
|
"quote_ident",
|
||||||
|
"quote_literal",
|
||||||
|
"quote_nullable",
|
||||||
|
"radians",
|
||||||
|
"radius",
|
||||||
|
"random",
|
||||||
|
"range_agg",
|
||||||
|
"range_intersect_agg",
|
||||||
|
"range_merge",
|
||||||
|
"rank",
|
||||||
|
"regexp_count",
|
||||||
|
"regexp_instr",
|
||||||
|
"regexp_like",
|
||||||
|
"regexp_match",
|
||||||
|
"regexp_matches",
|
||||||
|
"regexp_replace",
|
||||||
|
"regexp_split_to_array",
|
||||||
|
"regexp_split_to_table",
|
||||||
|
"regexp_substr",
|
||||||
|
"regr_avgx",
|
||||||
|
"regr_avgy",
|
||||||
|
"regr_count",
|
||||||
|
"regr_intercept",
|
||||||
|
"regr_r2",
|
||||||
|
"regr_slope",
|
||||||
|
"regr_sxx",
|
||||||
|
"regr_sxy",
|
||||||
|
"regr_syy",
|
||||||
|
"repeat",
|
||||||
|
"replace",
|
||||||
|
"reverse",
|
||||||
|
"right",
|
||||||
|
"round",
|
||||||
|
"row_number",
|
||||||
|
"row_security_active",
|
||||||
|
"row_to_json",
|
||||||
|
"rpad",
|
||||||
|
"rtrim",
|
||||||
|
"scale",
|
||||||
|
"schema_to_xml",
|
||||||
|
"schema_to_xml_and_xmlschema",
|
||||||
|
"schema_to_xmlschema",
|
||||||
|
"session_user",
|
||||||
|
"set_bit",
|
||||||
|
"set_byte",
|
||||||
|
"set_config",
|
||||||
|
"set_masklen",
|
||||||
|
"setseed",
|
||||||
|
"setval",
|
||||||
|
"setweight",
|
||||||
|
"sha224",
|
||||||
|
"sha256",
|
||||||
|
"sha384",
|
||||||
|
"sha512",
|
||||||
|
"shobj_description",
|
||||||
|
"sign",
|
||||||
|
"sin",
|
||||||
|
"sind",
|
||||||
|
"sinh",
|
||||||
|
"slope",
|
||||||
|
"split_part",
|
||||||
|
"sprintf",
|
||||||
|
"sqrt",
|
||||||
|
"starts_with",
|
||||||
|
"statement_timestamp",
|
||||||
|
"stddev",
|
||||||
|
"stddev_pop",
|
||||||
|
"stddev_samp",
|
||||||
|
"string_agg",
|
||||||
|
"string_to_array",
|
||||||
|
"string_to_table",
|
||||||
|
"strip",
|
||||||
|
"strpos",
|
||||||
|
"substr",
|
||||||
|
"substring",
|
||||||
|
"sum",
|
||||||
|
"suppress_redundant_updates_trigger",
|
||||||
|
"table_to_xml",
|
||||||
|
"table_to_xml_and_xmlschema",
|
||||||
|
"table_to_xmlschema",
|
||||||
|
"tan",
|
||||||
|
"tand",
|
||||||
|
"tanh",
|
||||||
|
"text",
|
||||||
|
"timeofday",
|
||||||
|
"timezone",
|
||||||
|
"to_ascii",
|
||||||
|
"to_char",
|
||||||
|
"to_date",
|
||||||
|
"to_hex",
|
||||||
|
"to_json",
|
||||||
|
"to_number",
|
||||||
|
"to_regclass",
|
||||||
|
"to_regcollation",
|
||||||
|
"to_regnamespace",
|
||||||
|
"to_regoper",
|
||||||
|
"to_regoperator",
|
||||||
|
"to_regproc",
|
||||||
|
"to_regprocedure",
|
||||||
|
"to_regrole",
|
||||||
|
"to_regtype",
|
||||||
|
"to_timestamp",
|
||||||
|
"to_tsquery",
|
||||||
|
"to_tsvector",
|
||||||
|
"transaction_timestamp",
|
||||||
|
"translate",
|
||||||
|
"trim",
|
||||||
|
"trim_array",
|
||||||
|
"trim_scale",
|
||||||
|
"trunc",
|
||||||
|
"ts_debug",
|
||||||
|
"ts_delete",
|
||||||
|
"ts_filter",
|
||||||
|
"ts_headline",
|
||||||
|
"ts_lexize",
|
||||||
|
"ts_parse",
|
||||||
|
"ts_rank",
|
||||||
|
"ts_rank_cd",
|
||||||
|
"ts_rewrite",
|
||||||
|
"ts_stat",
|
||||||
|
"ts_token_type",
|
||||||
|
"tsquery_phrase",
|
||||||
|
"tsvector_to_array",
|
||||||
|
"tsvector_update_trigger",
|
||||||
|
"tsvector_update_trigger_column",
|
||||||
|
"txid_current",
|
||||||
|
"txid_current_if_assigned",
|
||||||
|
"txid_current_snapshot",
|
||||||
|
"txid_snapshot_xip",
|
||||||
|
"txid_snapshot_xmax",
|
||||||
|
"txid_snapshot_xmin",
|
||||||
|
"txid_status",
|
||||||
|
"txid_visible_in_snapshot",
|
||||||
|
"unistr",
|
||||||
|
"unnest",
|
||||||
|
"upper",
|
||||||
|
"upper_inc",
|
||||||
|
"upper_inf",
|
||||||
|
"user",
|
||||||
|
"var_pop",
|
||||||
|
"var_samp",
|
||||||
|
"variance",
|
||||||
|
"version",
|
||||||
|
"websearch_to_tsquery",
|
||||||
|
"width",
|
||||||
|
"width_bucket",
|
||||||
|
"xml_is_well_formed",
|
||||||
|
"xml_is_well_formed_content",
|
||||||
|
"xml_is_well_formed_document",
|
||||||
|
"xmlagg",
|
||||||
|
"xmlcomment",
|
||||||
|
"xmlconcat",
|
||||||
|
"xmlelement",
|
||||||
|
"xmlexists",
|
||||||
|
"xmlforest",
|
||||||
|
"xmlparse",
|
||||||
|
"xmlpi",
|
||||||
|
"xmlroot",
|
||||||
|
"xmlserialize",
|
||||||
|
"xpath",
|
||||||
|
"xpath_exists"
|
||||||
|
],
|
||||||
|
builtinVariables: [
|
||||||
|
// NOT SUPPORTED
|
||||||
|
],
|
||||||
|
pseudoColumns: [
|
||||||
|
// NOT SUPPORTED
|
||||||
|
],
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
{ include: "@comments" },
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
{ include: "@pseudoColumns" },
|
||||||
|
{ include: "@numbers" },
|
||||||
|
{ include: "@strings" },
|
||||||
|
{ include: "@complexIdentifiers" },
|
||||||
|
{ include: "@scopes" },
|
||||||
|
[/[;,.]/, "delimiter"],
|
||||||
|
[/[()]/, "@brackets"],
|
||||||
|
[
|
||||||
|
/[\w@#$]+/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@operators": "operator",
|
||||||
|
"@builtinVariables": "predefined",
|
||||||
|
"@builtinFunctions": "predefined",
|
||||||
|
"@keywords": "keyword",
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/[<>=!%&+\-*/|~^]/, "operator"]
|
||||||
|
],
|
||||||
|
whitespace: [[/\s+/, "white"]],
|
||||||
|
comments: [
|
||||||
|
[/--+.*/, "comment"],
|
||||||
|
[/\/\*/, { token: "comment.quote", next: "@comment" }]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
[/[^*/]+/, "comment"],
|
||||||
|
// Not supporting nested comments, as nested comments seem to not be standard?
|
||||||
|
// i.e. http://stackoverflow.com/questions/728172/are-there-multiline-comment-delimiters-in-sql-that-are-vendor-agnostic
|
||||||
|
// [/\/\*/, { token: 'comment.quote', next: '@push' }], // nested comment not allowed :-(
|
||||||
|
[/\*\//, { token: "comment.quote", next: "@pop" }],
|
||||||
|
[/./, "comment"]
|
||||||
|
],
|
||||||
|
pseudoColumns: [
|
||||||
|
[
|
||||||
|
/[$][A-Za-z_][\w@#$]*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@pseudoColumns": "predefined",
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
numbers: [
|
||||||
|
[/0[xX][0-9a-fA-F]*/, "number"],
|
||||||
|
[/[$][+-]*\d*(\.\d*)?/, "number"],
|
||||||
|
[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/, "number"]
|
||||||
|
],
|
||||||
|
strings: [[/'/, { token: "string", next: "@string" }]],
|
||||||
|
string: [
|
||||||
|
[/[^']+/, "string"],
|
||||||
|
[/''/, "string"],
|
||||||
|
[/'/, { token: "string", next: "@pop" }]
|
||||||
|
],
|
||||||
|
complexIdentifiers: [[/"/, { token: "identifier.quote", next: "@quotedIdentifier" }]],
|
||||||
|
quotedIdentifier: [
|
||||||
|
[/[^"]+/, "identifier"],
|
||||||
|
[/""/, "identifier"],
|
||||||
|
[/"/, { token: "identifier.quote", next: "@pop" }]
|
||||||
|
],
|
||||||
|
scopes: [
|
||||||
|
// NOT SUPPORTED
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
503
_internal/editor/dev/vs/php-DK3ktPH8.js
Normal file
503
_internal/editor/dev/vs/php-DK3ktPH8.js
Normal file
@@ -0,0 +1,503 @@
|
|||||||
|
define("vs/php-DK3ktPH8", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
|
||||||
|
comments: {
|
||||||
|
lineComment: "//",
|
||||||
|
blockComment: ["/*", "*/"]
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}", notIn: ["string"] },
|
||||||
|
{ open: "[", close: "]", notIn: ["string"] },
|
||||||
|
{ open: "(", close: ")", notIn: ["string"] },
|
||||||
|
{ open: '"', close: '"', notIn: ["string"] },
|
||||||
|
{ open: "'", close: "'", notIn: ["string", "comment"] }
|
||||||
|
],
|
||||||
|
folding: {
|
||||||
|
markers: {
|
||||||
|
start: new RegExp("^\\s*(#|//)region\\b"),
|
||||||
|
end: new RegExp("^\\s*(#|//)endregion\\b")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: "",
|
||||||
|
// ignoreCase: true,
|
||||||
|
// The main tokenizer for our languages
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
[/<\?((php)|=)?/, { token: "@rematch", switchTo: "@phpInSimpleState.root" }],
|
||||||
|
[/<!DOCTYPE/, "metatag.html", "@doctype"],
|
||||||
|
[/<!--/, "comment.html", "@comment"],
|
||||||
|
[/(<)(\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"],
|
||||||
|
[/[^<]+/]
|
||||||
|
// text
|
||||||
|
],
|
||||||
|
doctype: [
|
||||||
|
[/<\?((php)|=)?/, { token: "@rematch", switchTo: "@phpInSimpleState.comment" }],
|
||||||
|
[/[^>]+/, "metatag.content.html"],
|
||||||
|
[/>/, "metatag.html", "@pop"]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
[/<\?((php)|=)?/, { token: "@rematch", switchTo: "@phpInSimpleState.comment" }],
|
||||||
|
[/-->/, "comment.html", "@pop"],
|
||||||
|
[/[^-]+/, "comment.content.html"],
|
||||||
|
[/./, "comment.content.html"]
|
||||||
|
],
|
||||||
|
otherTag: [
|
||||||
|
[/<\?((php)|=)?/, { token: "@rematch", switchTo: "@phpInSimpleState.otherTag" }],
|
||||||
|
[/\/?>/, "delimiter.html", "@pop"],
|
||||||
|
[/"([^"]*)"/, "attribute.value"],
|
||||||
|
[/'([^']*)'/, "attribute.value"],
|
||||||
|
[/[\w\-]+/, "attribute.name"],
|
||||||
|
[/=/, "delimiter"],
|
||||||
|
[/[ \t\r\n]+/]
|
||||||
|
// whitespace
|
||||||
|
],
|
||||||
|
// -- BEGIN <script> tags handling
|
||||||
|
// After <script
|
||||||
|
script: [
|
||||||
|
[/<\?((php)|=)?/, { token: "@rematch", switchTo: "@phpInSimpleState.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]+/],
|
||||||
|
// whitespace
|
||||||
|
[
|
||||||
|
/(<\/)(script\s*)(>)/,
|
||||||
|
["delimiter.html", "tag.html", { token: "delimiter.html", next: "@pop" }]
|
||||||
|
]
|
||||||
|
],
|
||||||
|
// After <script ... type
|
||||||
|
scriptAfterType: [
|
||||||
|
[
|
||||||
|
/<\?((php)|=)?/,
|
||||||
|
{
|
||||||
|
token: "@rematch",
|
||||||
|
switchTo: "@phpInSimpleState.scriptAfterType"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/=/, "delimiter", "@scriptAfterTypeEquals"],
|
||||||
|
[
|
||||||
|
/>/,
|
||||||
|
{
|
||||||
|
token: "delimiter.html",
|
||||||
|
next: "@scriptEmbedded.text/javascript",
|
||||||
|
nextEmbedded: "text/javascript"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// cover invalid e.g. <script type>
|
||||||
|
[/[ \t\r\n]+/],
|
||||||
|
// whitespace
|
||||||
|
[/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
|
||||||
|
],
|
||||||
|
// After <script ... type =
|
||||||
|
scriptAfterTypeEquals: [
|
||||||
|
[
|
||||||
|
/<\?((php)|=)?/,
|
||||||
|
{
|
||||||
|
token: "@rematch",
|
||||||
|
switchTo: "@phpInSimpleState.scriptAfterTypeEquals"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/"([^"]*)"/,
|
||||||
|
{
|
||||||
|
token: "attribute.value",
|
||||||
|
switchTo: "@scriptWithCustomType.$1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/'([^']*)'/,
|
||||||
|
{
|
||||||
|
token: "attribute.value",
|
||||||
|
switchTo: "@scriptWithCustomType.$1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/>/,
|
||||||
|
{
|
||||||
|
token: "delimiter.html",
|
||||||
|
next: "@scriptEmbedded.text/javascript",
|
||||||
|
nextEmbedded: "text/javascript"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// cover invalid e.g. <script type=>
|
||||||
|
[/[ \t\r\n]+/],
|
||||||
|
// whitespace
|
||||||
|
[/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
|
||||||
|
],
|
||||||
|
// After <script ... type = $S2
|
||||||
|
scriptWithCustomType: [
|
||||||
|
[
|
||||||
|
/<\?((php)|=)?/,
|
||||||
|
{
|
||||||
|
token: "@rematch",
|
||||||
|
switchTo: "@phpInSimpleState.scriptWithCustomType.$S2"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/>/,
|
||||||
|
{
|
||||||
|
token: "delimiter.html",
|
||||||
|
next: "@scriptEmbedded.$S2",
|
||||||
|
nextEmbedded: "$S2"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/"([^"]*)"/, "attribute.value"],
|
||||||
|
[/'([^']*)'/, "attribute.value"],
|
||||||
|
[/[\w\-]+/, "attribute.name"],
|
||||||
|
[/=/, "delimiter"],
|
||||||
|
[/[ \t\r\n]+/],
|
||||||
|
// whitespace
|
||||||
|
[/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
|
||||||
|
],
|
||||||
|
scriptEmbedded: [
|
||||||
|
[
|
||||||
|
/<\?((php)|=)?/,
|
||||||
|
{
|
||||||
|
token: "@rematch",
|
||||||
|
switchTo: "@phpInEmbeddedState.scriptEmbedded.$S2",
|
||||||
|
nextEmbedded: "@pop"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/<\/script/, { token: "@rematch", next: "@pop", nextEmbedded: "@pop" }]
|
||||||
|
],
|
||||||
|
// -- END <script> tags handling
|
||||||
|
// -- BEGIN <style> tags handling
|
||||||
|
// After <style
|
||||||
|
style: [
|
||||||
|
[/<\?((php)|=)?/, { token: "@rematch", switchTo: "@phpInSimpleState.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]+/],
|
||||||
|
// whitespace
|
||||||
|
[
|
||||||
|
/(<\/)(style\s*)(>)/,
|
||||||
|
["delimiter.html", "tag.html", { token: "delimiter.html", next: "@pop" }]
|
||||||
|
]
|
||||||
|
],
|
||||||
|
// After <style ... type
|
||||||
|
styleAfterType: [
|
||||||
|
[
|
||||||
|
/<\?((php)|=)?/,
|
||||||
|
{
|
||||||
|
token: "@rematch",
|
||||||
|
switchTo: "@phpInSimpleState.styleAfterType"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/=/, "delimiter", "@styleAfterTypeEquals"],
|
||||||
|
[
|
||||||
|
/>/,
|
||||||
|
{
|
||||||
|
token: "delimiter.html",
|
||||||
|
next: "@styleEmbedded.text/css",
|
||||||
|
nextEmbedded: "text/css"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// cover invalid e.g. <style type>
|
||||||
|
[/[ \t\r\n]+/],
|
||||||
|
// whitespace
|
||||||
|
[/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
|
||||||
|
],
|
||||||
|
// After <style ... type =
|
||||||
|
styleAfterTypeEquals: [
|
||||||
|
[
|
||||||
|
/<\?((php)|=)?/,
|
||||||
|
{
|
||||||
|
token: "@rematch",
|
||||||
|
switchTo: "@phpInSimpleState.styleAfterTypeEquals"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/"([^"]*)"/,
|
||||||
|
{
|
||||||
|
token: "attribute.value",
|
||||||
|
switchTo: "@styleWithCustomType.$1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/'([^']*)'/,
|
||||||
|
{
|
||||||
|
token: "attribute.value",
|
||||||
|
switchTo: "@styleWithCustomType.$1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/>/,
|
||||||
|
{
|
||||||
|
token: "delimiter.html",
|
||||||
|
next: "@styleEmbedded.text/css",
|
||||||
|
nextEmbedded: "text/css"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// cover invalid e.g. <style type=>
|
||||||
|
[/[ \t\r\n]+/],
|
||||||
|
// whitespace
|
||||||
|
[/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
|
||||||
|
],
|
||||||
|
// After <style ... type = $S2
|
||||||
|
styleWithCustomType: [
|
||||||
|
[
|
||||||
|
/<\?((php)|=)?/,
|
||||||
|
{
|
||||||
|
token: "@rematch",
|
||||||
|
switchTo: "@phpInSimpleState.styleWithCustomType.$S2"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/>/,
|
||||||
|
{
|
||||||
|
token: "delimiter.html",
|
||||||
|
next: "@styleEmbedded.$S2",
|
||||||
|
nextEmbedded: "$S2"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/"([^"]*)"/, "attribute.value"],
|
||||||
|
[/'([^']*)'/, "attribute.value"],
|
||||||
|
[/[\w\-]+/, "attribute.name"],
|
||||||
|
[/=/, "delimiter"],
|
||||||
|
[/[ \t\r\n]+/],
|
||||||
|
// whitespace
|
||||||
|
[/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
|
||||||
|
],
|
||||||
|
styleEmbedded: [
|
||||||
|
[
|
||||||
|
/<\?((php)|=)?/,
|
||||||
|
{
|
||||||
|
token: "@rematch",
|
||||||
|
switchTo: "@phpInEmbeddedState.styleEmbedded.$S2",
|
||||||
|
nextEmbedded: "@pop"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/<\/style/, { token: "@rematch", next: "@pop", nextEmbedded: "@pop" }]
|
||||||
|
],
|
||||||
|
// -- END <style> tags handling
|
||||||
|
phpInSimpleState: [
|
||||||
|
[/<\?((php)|=)?/, "metatag.php"],
|
||||||
|
[/\?>/, { token: "metatag.php", switchTo: "@$S2.$S3" }],
|
||||||
|
{ include: "phpRoot" }
|
||||||
|
],
|
||||||
|
phpInEmbeddedState: [
|
||||||
|
[/<\?((php)|=)?/, "metatag.php"],
|
||||||
|
[
|
||||||
|
/\?>/,
|
||||||
|
{
|
||||||
|
token: "metatag.php",
|
||||||
|
switchTo: "@$S2.$S3",
|
||||||
|
nextEmbedded: "$S3"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
{ include: "phpRoot" }
|
||||||
|
],
|
||||||
|
phpRoot: [
|
||||||
|
[
|
||||||
|
/[a-zA-Z_]\w*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@phpKeywords": { token: "keyword.php" },
|
||||||
|
"@phpCompileTimeConstants": { token: "constant.php" },
|
||||||
|
"@default": "identifier.php"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/[$a-zA-Z_]\w*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@phpPreDefinedVariables": {
|
||||||
|
token: "variable.predefined.php"
|
||||||
|
},
|
||||||
|
"@default": "variable.php"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// brackets
|
||||||
|
[/[{}]/, "delimiter.bracket.php"],
|
||||||
|
[/[\[\]]/, "delimiter.array.php"],
|
||||||
|
[/[()]/, "delimiter.parenthesis.php"],
|
||||||
|
// whitespace
|
||||||
|
[/[ \t\r\n]+/],
|
||||||
|
// comments
|
||||||
|
[/(#|\/\/)$/, "comment.php"],
|
||||||
|
[/(#|\/\/)/, "comment.php", "@phpLineComment"],
|
||||||
|
// block comments
|
||||||
|
[/\/\*/, "comment.php", "@phpComment"],
|
||||||
|
// strings
|
||||||
|
[/"/, "string.php", "@phpDoubleQuoteString"],
|
||||||
|
[/'/, "string.php", "@phpSingleQuoteString"],
|
||||||
|
// delimiters
|
||||||
|
[/[\+\-\*\%\&\|\^\~\!\=\<\>\/\?\;\:\.\,\@]/, "delimiter.php"],
|
||||||
|
// numbers
|
||||||
|
[/\d*\d+[eE]([\-+]?\d+)?/, "number.float.php"],
|
||||||
|
[/\d*\.\d+([eE][\-+]?\d+)?/, "number.float.php"],
|
||||||
|
[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/, "number.hex.php"],
|
||||||
|
[/0[0-7']*[0-7]/, "number.octal.php"],
|
||||||
|
[/0[bB][0-1']*[0-1]/, "number.binary.php"],
|
||||||
|
[/\d[\d']*/, "number.php"],
|
||||||
|
[/\d/, "number.php"]
|
||||||
|
],
|
||||||
|
phpComment: [
|
||||||
|
[/\*\//, "comment.php", "@pop"],
|
||||||
|
[/[^*]+/, "comment.php"],
|
||||||
|
[/./, "comment.php"]
|
||||||
|
],
|
||||||
|
phpLineComment: [
|
||||||
|
[/\?>/, { token: "@rematch", next: "@pop" }],
|
||||||
|
[/.$/, "comment.php", "@pop"],
|
||||||
|
[/[^?]+$/, "comment.php", "@pop"],
|
||||||
|
[/[^?]+/, "comment.php"],
|
||||||
|
[/./, "comment.php"]
|
||||||
|
],
|
||||||
|
phpDoubleQuoteString: [
|
||||||
|
[/[^\\"]+/, "string.php"],
|
||||||
|
[/@escapes/, "string.escape.php"],
|
||||||
|
[/\\./, "string.escape.invalid.php"],
|
||||||
|
[/"/, "string.php", "@pop"]
|
||||||
|
],
|
||||||
|
phpSingleQuoteString: [
|
||||||
|
[/[^\\']+/, "string.php"],
|
||||||
|
[/@escapes/, "string.escape.php"],
|
||||||
|
[/\\./, "string.escape.invalid.php"],
|
||||||
|
[/'/, "string.php", "@pop"]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
phpKeywords: [
|
||||||
|
"abstract",
|
||||||
|
"and",
|
||||||
|
"array",
|
||||||
|
"as",
|
||||||
|
"break",
|
||||||
|
"callable",
|
||||||
|
"case",
|
||||||
|
"catch",
|
||||||
|
"cfunction",
|
||||||
|
"class",
|
||||||
|
"clone",
|
||||||
|
"const",
|
||||||
|
"continue",
|
||||||
|
"declare",
|
||||||
|
"default",
|
||||||
|
"do",
|
||||||
|
"else",
|
||||||
|
"elseif",
|
||||||
|
"enddeclare",
|
||||||
|
"endfor",
|
||||||
|
"endforeach",
|
||||||
|
"endif",
|
||||||
|
"endswitch",
|
||||||
|
"endwhile",
|
||||||
|
"extends",
|
||||||
|
"false",
|
||||||
|
"final",
|
||||||
|
"for",
|
||||||
|
"foreach",
|
||||||
|
"function",
|
||||||
|
"global",
|
||||||
|
"goto",
|
||||||
|
"if",
|
||||||
|
"implements",
|
||||||
|
"interface",
|
||||||
|
"instanceof",
|
||||||
|
"insteadof",
|
||||||
|
"namespace",
|
||||||
|
"new",
|
||||||
|
"null",
|
||||||
|
"object",
|
||||||
|
"old_function",
|
||||||
|
"or",
|
||||||
|
"private",
|
||||||
|
"protected",
|
||||||
|
"public",
|
||||||
|
"resource",
|
||||||
|
"static",
|
||||||
|
"switch",
|
||||||
|
"throw",
|
||||||
|
"trait",
|
||||||
|
"try",
|
||||||
|
"true",
|
||||||
|
"use",
|
||||||
|
"var",
|
||||||
|
"while",
|
||||||
|
"xor",
|
||||||
|
"die",
|
||||||
|
"echo",
|
||||||
|
"empty",
|
||||||
|
"exit",
|
||||||
|
"eval",
|
||||||
|
"include",
|
||||||
|
"include_once",
|
||||||
|
"isset",
|
||||||
|
"list",
|
||||||
|
"require",
|
||||||
|
"require_once",
|
||||||
|
"return",
|
||||||
|
"print",
|
||||||
|
"unset",
|
||||||
|
"yield",
|
||||||
|
"__construct"
|
||||||
|
],
|
||||||
|
phpCompileTimeConstants: [
|
||||||
|
"__CLASS__",
|
||||||
|
"__DIR__",
|
||||||
|
"__FILE__",
|
||||||
|
"__LINE__",
|
||||||
|
"__NAMESPACE__",
|
||||||
|
"__METHOD__",
|
||||||
|
"__FUNCTION__",
|
||||||
|
"__TRAIT__"
|
||||||
|
],
|
||||||
|
phpPreDefinedVariables: [
|
||||||
|
"$GLOBALS",
|
||||||
|
"$_SERVER",
|
||||||
|
"$_GET",
|
||||||
|
"$_POST",
|
||||||
|
"$_FILES",
|
||||||
|
"$_REQUEST",
|
||||||
|
"$_SESSION",
|
||||||
|
"$_ENV",
|
||||||
|
"$_COOKIE",
|
||||||
|
"$php_errormsg",
|
||||||
|
"$HTTP_RAW_POST_DATA",
|
||||||
|
"$http_response_header",
|
||||||
|
"$argc",
|
||||||
|
"$argv"
|
||||||
|
],
|
||||||
|
escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
140
_internal/editor/dev/vs/pla-DbBZgOrT.js
Normal file
140
_internal/editor/dev/vs/pla-DbBZgOrT.js
Normal file
@@ -0,0 +1,140 @@
|
|||||||
|
define("vs/pla-DbBZgOrT", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: "#"
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["[", "]"],
|
||||||
|
["<", ">"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "<", close: ">" },
|
||||||
|
{ open: "(", close: ")" }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "<", close: ">" },
|
||||||
|
{ open: "(", close: ")" }
|
||||||
|
]
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".pla",
|
||||||
|
brackets: [
|
||||||
|
{ open: "[", close: "]", token: "delimiter.square" },
|
||||||
|
{ open: "<", close: ">", token: "delimiter.angle" },
|
||||||
|
{ open: "(", close: ")", token: "delimiter.parenthesis" }
|
||||||
|
],
|
||||||
|
keywords: [
|
||||||
|
".i",
|
||||||
|
".o",
|
||||||
|
".mv",
|
||||||
|
".ilb",
|
||||||
|
".ob",
|
||||||
|
".label",
|
||||||
|
".type",
|
||||||
|
".phase",
|
||||||
|
".pair",
|
||||||
|
".symbolic",
|
||||||
|
".symbolic-output",
|
||||||
|
".kiss",
|
||||||
|
".p",
|
||||||
|
".e",
|
||||||
|
".end"
|
||||||
|
],
|
||||||
|
// regular expressions
|
||||||
|
comment: /#.*$/,
|
||||||
|
identifier: /[a-zA-Z]+[a-zA-Z0-9_\-]*/,
|
||||||
|
plaContent: /[01\-~\|]+/,
|
||||||
|
// The main tokenizer for our languages
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
// comments and whitespace
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
[/@comment/, "comment"],
|
||||||
|
// keyword
|
||||||
|
[
|
||||||
|
/\.([a-zA-Z_\-]+)/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@eos": { token: "keyword.$1" },
|
||||||
|
"@keywords": {
|
||||||
|
cases: {
|
||||||
|
".type": { token: "keyword.$1", next: "@type" },
|
||||||
|
"@default": { token: "keyword.$1", next: "@keywordArg" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@default": { token: "keyword.$1" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// identifiers
|
||||||
|
[/@identifier/, "identifier"],
|
||||||
|
// PLA row
|
||||||
|
[/@plaContent/, "string"]
|
||||||
|
],
|
||||||
|
whitespace: [[/[ \t\r\n]+/, ""]],
|
||||||
|
type: [{ include: "@whitespace" }, [/\w+/, { token: "type", next: "@pop" }]],
|
||||||
|
keywordArg: [
|
||||||
|
// whitespace
|
||||||
|
[
|
||||||
|
/[ \t\r\n]+/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@eos": { token: "", next: "@pop" },
|
||||||
|
"@default": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// comments
|
||||||
|
[/@comment/, "comment", "@pop"],
|
||||||
|
// brackets
|
||||||
|
[
|
||||||
|
/[<>()\[\]]/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@eos": { token: "@brackets", next: "@pop" },
|
||||||
|
"@default": "@brackets"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// numbers
|
||||||
|
[
|
||||||
|
/\-?\d+/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@eos": { token: "number", next: "@pop" },
|
||||||
|
"@default": "number"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// identifiers
|
||||||
|
[
|
||||||
|
/@identifier/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@eos": { token: "identifier", next: "@pop" },
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// delimiter
|
||||||
|
[
|
||||||
|
/[;=]/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@eos": { token: "delimiter", next: "@pop" },
|
||||||
|
"@default": "delimiter"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
910
_internal/editor/dev/vs/postiats-OtZm4COL.js
Normal file
910
_internal/editor/dev/vs/postiats-OtZm4COL.js
Normal file
@@ -0,0 +1,910 @@
|
|||||||
|
define("vs/postiats-OtZm4COL", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: "//",
|
||||||
|
blockComment: ["(*", "*)"]
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"],
|
||||||
|
["<", ">"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: '"', close: '"', notIn: ["string", "comment"] },
|
||||||
|
{ open: "{", close: "}", notIn: ["string", "comment"] },
|
||||||
|
{ open: "[", close: "]", notIn: ["string", "comment"] },
|
||||||
|
{ open: "(", close: ")", notIn: ["string", "comment"] }
|
||||||
|
]
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
tokenPostfix: ".pats",
|
||||||
|
// TODO: staload and dynload are followed by a special kind of string literals
|
||||||
|
// with {$IDENTIFER} variables, and it also may make sense to highlight
|
||||||
|
// the punctuation (. and / and \) differently.
|
||||||
|
// Set defaultToken to invalid to see what you do not tokenize yet
|
||||||
|
defaultToken: "invalid",
|
||||||
|
// keyword reference: https://github.com/githwxi/ATS-Postiats/blob/master/src/pats_lexing_token.dats
|
||||||
|
keywords: [
|
||||||
|
//
|
||||||
|
"abstype",
|
||||||
|
// ABSTYPE
|
||||||
|
"abst0ype",
|
||||||
|
// ABST0YPE
|
||||||
|
"absprop",
|
||||||
|
// ABSPROP
|
||||||
|
"absview",
|
||||||
|
// ABSVIEW
|
||||||
|
"absvtype",
|
||||||
|
// ABSVIEWTYPE
|
||||||
|
"absviewtype",
|
||||||
|
// ABSVIEWTYPE
|
||||||
|
"absvt0ype",
|
||||||
|
// ABSVIEWT0YPE
|
||||||
|
"absviewt0ype",
|
||||||
|
// ABSVIEWT0YPE
|
||||||
|
//
|
||||||
|
"as",
|
||||||
|
// T_AS
|
||||||
|
//
|
||||||
|
"and",
|
||||||
|
// T_AND
|
||||||
|
//
|
||||||
|
"assume",
|
||||||
|
// T_ASSUME
|
||||||
|
//
|
||||||
|
"begin",
|
||||||
|
// T_BEGIN
|
||||||
|
//
|
||||||
|
/*
|
||||||
|
"case", // CASE
|
||||||
|
*/
|
||||||
|
//
|
||||||
|
"classdec",
|
||||||
|
// T_CLASSDEC
|
||||||
|
//
|
||||||
|
"datasort",
|
||||||
|
// T_DATASORT
|
||||||
|
//
|
||||||
|
"datatype",
|
||||||
|
// DATATYPE
|
||||||
|
"dataprop",
|
||||||
|
// DATAPROP
|
||||||
|
"dataview",
|
||||||
|
// DATAVIEW
|
||||||
|
"datavtype",
|
||||||
|
// DATAVIEWTYPE
|
||||||
|
"dataviewtype",
|
||||||
|
// DATAVIEWTYPE
|
||||||
|
//
|
||||||
|
"do",
|
||||||
|
// T_DO
|
||||||
|
//
|
||||||
|
"end",
|
||||||
|
// T_END
|
||||||
|
//
|
||||||
|
"extern",
|
||||||
|
// T_EXTERN
|
||||||
|
"extype",
|
||||||
|
// T_EXTYPE
|
||||||
|
"extvar",
|
||||||
|
// T_EXTVAR
|
||||||
|
//
|
||||||
|
"exception",
|
||||||
|
// T_EXCEPTION
|
||||||
|
//
|
||||||
|
"fn",
|
||||||
|
// FN // non-recursive
|
||||||
|
"fnx",
|
||||||
|
// FNX // mutual tail-rec.
|
||||||
|
"fun",
|
||||||
|
// FUN // general-recursive
|
||||||
|
//
|
||||||
|
"prfn",
|
||||||
|
// PRFN
|
||||||
|
"prfun",
|
||||||
|
// PRFUN
|
||||||
|
//
|
||||||
|
"praxi",
|
||||||
|
// PRAXI
|
||||||
|
"castfn",
|
||||||
|
// CASTFN
|
||||||
|
//
|
||||||
|
"if",
|
||||||
|
// T_IF
|
||||||
|
"then",
|
||||||
|
// T_THEN
|
||||||
|
"else",
|
||||||
|
// T_ELSE
|
||||||
|
//
|
||||||
|
"ifcase",
|
||||||
|
// T_IFCASE
|
||||||
|
//
|
||||||
|
"in",
|
||||||
|
// T_IN
|
||||||
|
//
|
||||||
|
"infix",
|
||||||
|
// INFIX
|
||||||
|
"infixl",
|
||||||
|
// INFIXL
|
||||||
|
"infixr",
|
||||||
|
// INFIXR
|
||||||
|
"prefix",
|
||||||
|
// PREFIX
|
||||||
|
"postfix",
|
||||||
|
// POSTFIX
|
||||||
|
//
|
||||||
|
"implmnt",
|
||||||
|
// IMPLMNT // 0
|
||||||
|
"implement",
|
||||||
|
// IMPLEMENT // 1
|
||||||
|
//
|
||||||
|
"primplmnt",
|
||||||
|
// PRIMPLMNT // ~1
|
||||||
|
"primplement",
|
||||||
|
// PRIMPLMNT // ~1
|
||||||
|
//
|
||||||
|
"import",
|
||||||
|
// T_IMPORT // for importing packages
|
||||||
|
//
|
||||||
|
/*
|
||||||
|
"lam", // LAM
|
||||||
|
"llam", // LLAM
|
||||||
|
"fix", // FIX
|
||||||
|
*/
|
||||||
|
//
|
||||||
|
"let",
|
||||||
|
// T_LET
|
||||||
|
//
|
||||||
|
"local",
|
||||||
|
// T_LOCAL
|
||||||
|
//
|
||||||
|
"macdef",
|
||||||
|
// MACDEF
|
||||||
|
"macrodef",
|
||||||
|
// MACRODEF
|
||||||
|
//
|
||||||
|
"nonfix",
|
||||||
|
// T_NONFIX
|
||||||
|
//
|
||||||
|
"symelim",
|
||||||
|
// T_SYMELIM
|
||||||
|
"symintr",
|
||||||
|
// T_SYMINTR
|
||||||
|
"overload",
|
||||||
|
// T_OVERLOAD
|
||||||
|
//
|
||||||
|
"of",
|
||||||
|
// T_OF
|
||||||
|
"op",
|
||||||
|
// T_OP
|
||||||
|
//
|
||||||
|
"rec",
|
||||||
|
// T_REC
|
||||||
|
//
|
||||||
|
"sif",
|
||||||
|
// T_SIF
|
||||||
|
"scase",
|
||||||
|
// T_SCASE
|
||||||
|
//
|
||||||
|
"sortdef",
|
||||||
|
// T_SORTDEF
|
||||||
|
/*
|
||||||
|
// HX: [sta] is now deprecated
|
||||||
|
*/
|
||||||
|
"sta",
|
||||||
|
// T_STACST
|
||||||
|
"stacst",
|
||||||
|
// T_STACST
|
||||||
|
"stadef",
|
||||||
|
// T_STADEF
|
||||||
|
"static",
|
||||||
|
// T_STATIC
|
||||||
|
/*
|
||||||
|
"stavar", // T_STAVAR
|
||||||
|
*/
|
||||||
|
//
|
||||||
|
"staload",
|
||||||
|
// T_STALOAD
|
||||||
|
"dynload",
|
||||||
|
// T_DYNLOAD
|
||||||
|
//
|
||||||
|
"try",
|
||||||
|
// T_TRY
|
||||||
|
//
|
||||||
|
"tkindef",
|
||||||
|
// T_TKINDEF // HX-2012-05-23
|
||||||
|
//
|
||||||
|
/*
|
||||||
|
"type", // TYPE
|
||||||
|
*/
|
||||||
|
"typedef",
|
||||||
|
// TYPEDEF
|
||||||
|
"propdef",
|
||||||
|
// PROPDEF
|
||||||
|
"viewdef",
|
||||||
|
// VIEWDEF
|
||||||
|
"vtypedef",
|
||||||
|
// VIEWTYPEDEF
|
||||||
|
"viewtypedef",
|
||||||
|
// VIEWTYPEDEF
|
||||||
|
//
|
||||||
|
/*
|
||||||
|
"val", // VAL
|
||||||
|
*/
|
||||||
|
"prval",
|
||||||
|
// PRVAL
|
||||||
|
//
|
||||||
|
"var",
|
||||||
|
// VAR
|
||||||
|
"prvar",
|
||||||
|
// PRVAR
|
||||||
|
//
|
||||||
|
"when",
|
||||||
|
// T_WHEN
|
||||||
|
"where",
|
||||||
|
// T_WHERE
|
||||||
|
//
|
||||||
|
/*
|
||||||
|
"for", // T_FOR
|
||||||
|
"while", // T_WHILE
|
||||||
|
*/
|
||||||
|
//
|
||||||
|
"with",
|
||||||
|
// T_WITH
|
||||||
|
//
|
||||||
|
"withtype",
|
||||||
|
// WITHTYPE
|
||||||
|
"withprop",
|
||||||
|
// WITHPROP
|
||||||
|
"withview",
|
||||||
|
// WITHVIEW
|
||||||
|
"withvtype",
|
||||||
|
// WITHVIEWTYPE
|
||||||
|
"withviewtype"
|
||||||
|
// WITHVIEWTYPE
|
||||||
|
//
|
||||||
|
],
|
||||||
|
keywords_dlr: [
|
||||||
|
"$delay",
|
||||||
|
// DLRDELAY
|
||||||
|
"$ldelay",
|
||||||
|
// DLRLDELAY
|
||||||
|
//
|
||||||
|
"$arrpsz",
|
||||||
|
// T_DLRARRPSZ
|
||||||
|
"$arrptrsize",
|
||||||
|
// T_DLRARRPSZ
|
||||||
|
//
|
||||||
|
"$d2ctype",
|
||||||
|
// T_DLRD2CTYPE
|
||||||
|
//
|
||||||
|
"$effmask",
|
||||||
|
// DLREFFMASK
|
||||||
|
"$effmask_ntm",
|
||||||
|
// DLREFFMASK_NTM
|
||||||
|
"$effmask_exn",
|
||||||
|
// DLREFFMASK_EXN
|
||||||
|
"$effmask_ref",
|
||||||
|
// DLREFFMASK_REF
|
||||||
|
"$effmask_wrt",
|
||||||
|
// DLREFFMASK_WRT
|
||||||
|
"$effmask_all",
|
||||||
|
// DLREFFMASK_ALL
|
||||||
|
//
|
||||||
|
"$extern",
|
||||||
|
// T_DLREXTERN
|
||||||
|
"$extkind",
|
||||||
|
// T_DLREXTKIND
|
||||||
|
"$extype",
|
||||||
|
// T_DLREXTYPE
|
||||||
|
"$extype_struct",
|
||||||
|
// T_DLREXTYPE_STRUCT
|
||||||
|
//
|
||||||
|
"$extval",
|
||||||
|
// T_DLREXTVAL
|
||||||
|
"$extfcall",
|
||||||
|
// T_DLREXTFCALL
|
||||||
|
"$extmcall",
|
||||||
|
// T_DLREXTMCALL
|
||||||
|
//
|
||||||
|
"$literal",
|
||||||
|
// T_DLRLITERAL
|
||||||
|
//
|
||||||
|
"$myfilename",
|
||||||
|
// T_DLRMYFILENAME
|
||||||
|
"$mylocation",
|
||||||
|
// T_DLRMYLOCATION
|
||||||
|
"$myfunction",
|
||||||
|
// T_DLRMYFUNCTION
|
||||||
|
//
|
||||||
|
"$lst",
|
||||||
|
// DLRLST
|
||||||
|
"$lst_t",
|
||||||
|
// DLRLST_T
|
||||||
|
"$lst_vt",
|
||||||
|
// DLRLST_VT
|
||||||
|
"$list",
|
||||||
|
// DLRLST
|
||||||
|
"$list_t",
|
||||||
|
// DLRLST_T
|
||||||
|
"$list_vt",
|
||||||
|
// DLRLST_VT
|
||||||
|
//
|
||||||
|
"$rec",
|
||||||
|
// DLRREC
|
||||||
|
"$rec_t",
|
||||||
|
// DLRREC_T
|
||||||
|
"$rec_vt",
|
||||||
|
// DLRREC_VT
|
||||||
|
"$record",
|
||||||
|
// DLRREC
|
||||||
|
"$record_t",
|
||||||
|
// DLRREC_T
|
||||||
|
"$record_vt",
|
||||||
|
// DLRREC_VT
|
||||||
|
//
|
||||||
|
"$tup",
|
||||||
|
// DLRTUP
|
||||||
|
"$tup_t",
|
||||||
|
// DLRTUP_T
|
||||||
|
"$tup_vt",
|
||||||
|
// DLRTUP_VT
|
||||||
|
"$tuple",
|
||||||
|
// DLRTUP
|
||||||
|
"$tuple_t",
|
||||||
|
// DLRTUP_T
|
||||||
|
"$tuple_vt",
|
||||||
|
// DLRTUP_VT
|
||||||
|
//
|
||||||
|
"$break",
|
||||||
|
// T_DLRBREAK
|
||||||
|
"$continue",
|
||||||
|
// T_DLRCONTINUE
|
||||||
|
//
|
||||||
|
"$raise",
|
||||||
|
// T_DLRRAISE
|
||||||
|
//
|
||||||
|
"$showtype",
|
||||||
|
// T_DLRSHOWTYPE
|
||||||
|
//
|
||||||
|
"$vcopyenv_v",
|
||||||
|
// DLRVCOPYENV_V
|
||||||
|
"$vcopyenv_vt",
|
||||||
|
// DLRVCOPYENV_VT
|
||||||
|
//
|
||||||
|
"$tempenver",
|
||||||
|
// T_DLRTEMPENVER
|
||||||
|
//
|
||||||
|
"$solver_assert",
|
||||||
|
// T_DLRSOLASSERT
|
||||||
|
"$solver_verify"
|
||||||
|
// T_DLRSOLVERIFY
|
||||||
|
],
|
||||||
|
keywords_srp: [
|
||||||
|
//
|
||||||
|
"#if",
|
||||||
|
// T_SRPIF
|
||||||
|
"#ifdef",
|
||||||
|
// T_SRPIFDEF
|
||||||
|
"#ifndef",
|
||||||
|
// T_SRPIFNDEF
|
||||||
|
//
|
||||||
|
"#then",
|
||||||
|
// T_SRPTHEN
|
||||||
|
//
|
||||||
|
"#elif",
|
||||||
|
// T_SRPELIF
|
||||||
|
"#elifdef",
|
||||||
|
// T_SRPELIFDEF
|
||||||
|
"#elifndef",
|
||||||
|
// T_SRPELIFNDEF
|
||||||
|
//
|
||||||
|
"#else",
|
||||||
|
// T_SRPELSE
|
||||||
|
"#endif",
|
||||||
|
// T_SRPENDIF
|
||||||
|
//
|
||||||
|
"#error",
|
||||||
|
// T_SRPERROR
|
||||||
|
//
|
||||||
|
"#prerr",
|
||||||
|
// T_SRPPRERR // outpui to stderr
|
||||||
|
"#print",
|
||||||
|
// T_SRPPRINT // output to stdout
|
||||||
|
//
|
||||||
|
"#assert",
|
||||||
|
// T_SRPASSERT
|
||||||
|
//
|
||||||
|
"#undef",
|
||||||
|
// T_SRPUNDEF
|
||||||
|
"#define",
|
||||||
|
// T_SRPDEFINE
|
||||||
|
//
|
||||||
|
"#include",
|
||||||
|
// T_SRPINCLUDE
|
||||||
|
"#require",
|
||||||
|
// T_SRPREQUIRE
|
||||||
|
//
|
||||||
|
"#pragma",
|
||||||
|
// T_SRPPRAGMA // HX: general pragma
|
||||||
|
"#codegen2",
|
||||||
|
// T_SRPCODEGEN2 // for level-2 codegen
|
||||||
|
"#codegen3"
|
||||||
|
// T_SRPCODEGEN3 // for level-3 codegen
|
||||||
|
//
|
||||||
|
// HX: end of special tokens
|
||||||
|
//
|
||||||
|
],
|
||||||
|
irregular_keyword_list: [
|
||||||
|
"val+",
|
||||||
|
"val-",
|
||||||
|
"val",
|
||||||
|
"case+",
|
||||||
|
"case-",
|
||||||
|
"case",
|
||||||
|
"addr@",
|
||||||
|
"addr",
|
||||||
|
"fold@",
|
||||||
|
"free@",
|
||||||
|
"fix@",
|
||||||
|
"fix",
|
||||||
|
"lam@",
|
||||||
|
"lam",
|
||||||
|
"llam@",
|
||||||
|
"llam",
|
||||||
|
"viewt@ype+",
|
||||||
|
"viewt@ype-",
|
||||||
|
"viewt@ype",
|
||||||
|
"viewtype+",
|
||||||
|
"viewtype-",
|
||||||
|
"viewtype",
|
||||||
|
"view+",
|
||||||
|
"view-",
|
||||||
|
"view@",
|
||||||
|
"view",
|
||||||
|
"type+",
|
||||||
|
"type-",
|
||||||
|
"type",
|
||||||
|
"vtype+",
|
||||||
|
"vtype-",
|
||||||
|
"vtype",
|
||||||
|
"vt@ype+",
|
||||||
|
"vt@ype-",
|
||||||
|
"vt@ype",
|
||||||
|
"viewt@ype+",
|
||||||
|
"viewt@ype-",
|
||||||
|
"viewt@ype",
|
||||||
|
"viewtype+",
|
||||||
|
"viewtype-",
|
||||||
|
"viewtype",
|
||||||
|
"prop+",
|
||||||
|
"prop-",
|
||||||
|
"prop",
|
||||||
|
"type+",
|
||||||
|
"type-",
|
||||||
|
"type",
|
||||||
|
"t@ype",
|
||||||
|
"t@ype+",
|
||||||
|
"t@ype-",
|
||||||
|
"abst@ype",
|
||||||
|
"abstype",
|
||||||
|
"absviewt@ype",
|
||||||
|
"absvt@ype",
|
||||||
|
"for*",
|
||||||
|
"for",
|
||||||
|
"while*",
|
||||||
|
"while"
|
||||||
|
],
|
||||||
|
keywords_types: [
|
||||||
|
"bool",
|
||||||
|
"double",
|
||||||
|
"byte",
|
||||||
|
"int",
|
||||||
|
"short",
|
||||||
|
"char",
|
||||||
|
"void",
|
||||||
|
"unit",
|
||||||
|
"long",
|
||||||
|
"float",
|
||||||
|
"string",
|
||||||
|
"strptr"
|
||||||
|
],
|
||||||
|
// TODO: reference for this?
|
||||||
|
keywords_effects: [
|
||||||
|
"0",
|
||||||
|
// no effects
|
||||||
|
"fun",
|
||||||
|
"clo",
|
||||||
|
"prf",
|
||||||
|
"funclo",
|
||||||
|
"cloptr",
|
||||||
|
"cloref",
|
||||||
|
"ref",
|
||||||
|
"ntm",
|
||||||
|
"1"
|
||||||
|
// all effects
|
||||||
|
],
|
||||||
|
operators: [
|
||||||
|
"@",
|
||||||
|
// T_AT
|
||||||
|
"!",
|
||||||
|
// T_BANG
|
||||||
|
"|",
|
||||||
|
// T_BAR
|
||||||
|
"`",
|
||||||
|
// T_BQUOTE
|
||||||
|
":",
|
||||||
|
// T_COLON
|
||||||
|
"$",
|
||||||
|
// T_DOLLAR
|
||||||
|
".",
|
||||||
|
// T_DOT
|
||||||
|
"=",
|
||||||
|
// T_EQ
|
||||||
|
"#",
|
||||||
|
// T_HASH
|
||||||
|
"~",
|
||||||
|
// T_TILDE
|
||||||
|
//
|
||||||
|
"..",
|
||||||
|
// T_DOTDOT
|
||||||
|
"...",
|
||||||
|
// T_DOTDOTDOT
|
||||||
|
//
|
||||||
|
"=>",
|
||||||
|
// T_EQGT
|
||||||
|
// "=<", // T_EQLT
|
||||||
|
"=<>",
|
||||||
|
// T_EQLTGT
|
||||||
|
"=/=>",
|
||||||
|
// T_EQSLASHEQGT
|
||||||
|
"=>>",
|
||||||
|
// T_EQGTGT
|
||||||
|
"=/=>>",
|
||||||
|
// T_EQSLASHEQGTGT
|
||||||
|
//
|
||||||
|
"<",
|
||||||
|
// T_LT // opening a tmparg
|
||||||
|
">",
|
||||||
|
// T_GT // closing a tmparg
|
||||||
|
//
|
||||||
|
"><",
|
||||||
|
// T_GTLT
|
||||||
|
//
|
||||||
|
".<",
|
||||||
|
// T_DOTLT
|
||||||
|
">.",
|
||||||
|
// T_GTDOT
|
||||||
|
//
|
||||||
|
".<>.",
|
||||||
|
// T_DOTLTGTDOT
|
||||||
|
//
|
||||||
|
"->",
|
||||||
|
// T_MINUSGT
|
||||||
|
//"-<", // T_MINUSLT
|
||||||
|
"-<>"
|
||||||
|
// T_MINUSLTGT
|
||||||
|
//
|
||||||
|
/*
|
||||||
|
":<", // T_COLONLT
|
||||||
|
*/
|
||||||
|
],
|
||||||
|
brackets: [
|
||||||
|
{ open: ",(", close: ")", token: "delimiter.parenthesis" },
|
||||||
|
// meta-programming syntax
|
||||||
|
{ open: "`(", close: ")", token: "delimiter.parenthesis" },
|
||||||
|
{ open: "%(", close: ")", token: "delimiter.parenthesis" },
|
||||||
|
{ open: "'(", close: ")", token: "delimiter.parenthesis" },
|
||||||
|
{ open: "'{", close: "}", token: "delimiter.parenthesis" },
|
||||||
|
{ open: "@(", close: ")", token: "delimiter.parenthesis" },
|
||||||
|
{ open: "@{", close: "}", token: "delimiter.brace" },
|
||||||
|
{ open: "@[", close: "]", token: "delimiter.square" },
|
||||||
|
{ open: "#[", close: "]", token: "delimiter.square" },
|
||||||
|
{ open: "{", close: "}", token: "delimiter.curly" },
|
||||||
|
{ open: "[", close: "]", token: "delimiter.square" },
|
||||||
|
{ open: "(", close: ")", token: "delimiter.parenthesis" },
|
||||||
|
{ open: "<", close: ">", token: "delimiter.angle" }
|
||||||
|
],
|
||||||
|
// we include these common regular expressions
|
||||||
|
symbols: /[=><!~?:&|+\-*\/\^%]+/,
|
||||||
|
IDENTFST: /[a-zA-Z_]/,
|
||||||
|
IDENTRST: /[a-zA-Z0-9_'$]/,
|
||||||
|
symbolic: /[%&+-./:=@~`^|*!$#?<>]/,
|
||||||
|
digit: /[0-9]/,
|
||||||
|
digitseq0: /@digit*/,
|
||||||
|
xdigit: /[0-9A-Za-z]/,
|
||||||
|
xdigitseq0: /@xdigit*/,
|
||||||
|
INTSP: /[lLuU]/,
|
||||||
|
FLOATSP: /[fFlL]/,
|
||||||
|
fexponent: /[eE][+-]?[0-9]+/,
|
||||||
|
fexponent_bin: /[pP][+-]?[0-9]+/,
|
||||||
|
deciexp: /\.[0-9]*@fexponent?/,
|
||||||
|
hexiexp: /\.[0-9a-zA-Z]*@fexponent_bin?/,
|
||||||
|
irregular_keywords: /val[+-]?|case[+-]?|addr\@?|fold\@|free\@|fix\@?|lam\@?|llam\@?|prop[+-]?|type[+-]?|view[+-@]?|viewt@?ype[+-]?|t@?ype[+-]?|v(iew)?t@?ype[+-]?|abst@?ype|absv(iew)?t@?ype|for\*?|while\*?/,
|
||||||
|
ESCHAR: /[ntvbrfa\\\?'"\(\[\{]/,
|
||||||
|
start: "root",
|
||||||
|
// The main tokenizer for ATS/Postiats
|
||||||
|
// reference: https://github.com/githwxi/ATS-Postiats/blob/master/src/pats_lexing.dats
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
// lexing_blankseq0
|
||||||
|
{ regex: /[ \t\r\n]+/, action: { token: "" } },
|
||||||
|
// NOTE: (*) is an invalid ML-like comment!
|
||||||
|
{ regex: /\(\*\)/, action: { token: "invalid" } },
|
||||||
|
{
|
||||||
|
regex: /\(\*/,
|
||||||
|
action: { token: "comment", next: "lexing_COMMENT_block_ml" }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
regex: /\(/,
|
||||||
|
action: "@brackets"
|
||||||
|
/*{ token: 'delimiter.parenthesis' }*/
|
||||||
|
},
|
||||||
|
{
|
||||||
|
regex: /\)/,
|
||||||
|
action: "@brackets"
|
||||||
|
/*{ token: 'delimiter.parenthesis' }*/
|
||||||
|
},
|
||||||
|
{
|
||||||
|
regex: /\[/,
|
||||||
|
action: "@brackets"
|
||||||
|
/*{ token: 'delimiter.bracket' }*/
|
||||||
|
},
|
||||||
|
{
|
||||||
|
regex: /\]/,
|
||||||
|
action: "@brackets"
|
||||||
|
/*{ token: 'delimiter.bracket' }*/
|
||||||
|
},
|
||||||
|
{
|
||||||
|
regex: /\{/,
|
||||||
|
action: "@brackets"
|
||||||
|
/*{ token: 'delimiter.brace' }*/
|
||||||
|
},
|
||||||
|
{
|
||||||
|
regex: /\}/,
|
||||||
|
action: "@brackets"
|
||||||
|
/*{ token: 'delimiter.brace' }*/
|
||||||
|
},
|
||||||
|
// lexing_COMMA
|
||||||
|
{
|
||||||
|
regex: /,\(/,
|
||||||
|
action: "@brackets"
|
||||||
|
/*{ token: 'delimiter.parenthesis' }*/
|
||||||
|
},
|
||||||
|
// meta-programming syntax
|
||||||
|
{ regex: /,/, action: { token: "delimiter.comma" } },
|
||||||
|
{ regex: /;/, action: { token: "delimiter.semicolon" } },
|
||||||
|
// lexing_AT
|
||||||
|
{
|
||||||
|
regex: /@\(/,
|
||||||
|
action: "@brackets"
|
||||||
|
/* { token: 'delimiter.parenthesis' }*/
|
||||||
|
},
|
||||||
|
{
|
||||||
|
regex: /@\[/,
|
||||||
|
action: "@brackets"
|
||||||
|
/* { token: 'delimiter.bracket' }*/
|
||||||
|
},
|
||||||
|
{
|
||||||
|
regex: /@\{/,
|
||||||
|
action: "@brackets"
|
||||||
|
/*{ token: 'delimiter.brace' }*/
|
||||||
|
},
|
||||||
|
// lexing_COLON
|
||||||
|
{
|
||||||
|
regex: /:</,
|
||||||
|
action: { token: "keyword", next: "@lexing_EFFECT_commaseq0" }
|
||||||
|
},
|
||||||
|
// T_COLONLT
|
||||||
|
/*
|
||||||
|
lexing_DOT:
|
||||||
|
|
||||||
|
. // SYMBOLIC => lexing_IDENT_sym
|
||||||
|
. FLOATDOT => lexing_FLOAT_deciexp
|
||||||
|
. DIGIT => T_DOTINT
|
||||||
|
*/
|
||||||
|
{ regex: /\.@symbolic+/, action: { token: "identifier.sym" } },
|
||||||
|
// FLOATDOT case
|
||||||
|
{
|
||||||
|
regex: /\.@digit*@fexponent@FLOATSP*/,
|
||||||
|
action: { token: "number.float" }
|
||||||
|
},
|
||||||
|
{ regex: /\.@digit+/, action: { token: "number.float" } },
|
||||||
|
// T_DOTINT
|
||||||
|
// lexing_DOLLAR:
|
||||||
|
// '$' IDENTFST IDENTRST* => lexing_IDENT_dlr, _ => lexing_IDENT_sym
|
||||||
|
{
|
||||||
|
regex: /\$@IDENTFST@IDENTRST*/,
|
||||||
|
action: {
|
||||||
|
cases: {
|
||||||
|
"@keywords_dlr": { token: "keyword.dlr" },
|
||||||
|
"@default": { token: "namespace" }
|
||||||
|
// most likely a module qualifier
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// lexing_SHARP:
|
||||||
|
// '#' IDENTFST IDENTRST* => lexing_ident_srp, _ => lexing_IDENT_sym
|
||||||
|
{
|
||||||
|
regex: /\#@IDENTFST@IDENTRST*/,
|
||||||
|
action: {
|
||||||
|
cases: {
|
||||||
|
"@keywords_srp": { token: "keyword.srp" },
|
||||||
|
"@default": { token: "identifier" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// lexing_PERCENT:
|
||||||
|
{ regex: /%\(/, action: { token: "delimiter.parenthesis" } },
|
||||||
|
{
|
||||||
|
regex: /^%{(#|\^|\$)?/,
|
||||||
|
action: {
|
||||||
|
token: "keyword",
|
||||||
|
next: "@lexing_EXTCODE",
|
||||||
|
nextEmbedded: "text/javascript"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ regex: /^%}/, action: { token: "keyword" } },
|
||||||
|
// lexing_QUOTE
|
||||||
|
{ regex: /'\(/, action: { token: "delimiter.parenthesis" } },
|
||||||
|
{ regex: /'\[/, action: { token: "delimiter.bracket" } },
|
||||||
|
{ regex: /'\{/, action: { token: "delimiter.brace" } },
|
||||||
|
[/(')(\\@ESCHAR|\\[xX]@xdigit+|\\@digit+)(')/, ["string", "string.escape", "string"]],
|
||||||
|
[/'[^\\']'/, "string"],
|
||||||
|
// lexing_DQUOTE
|
||||||
|
[/"/, "string.quote", "@lexing_DQUOTE"],
|
||||||
|
// lexing_BQUOTE
|
||||||
|
{
|
||||||
|
regex: /`\(/,
|
||||||
|
action: "@brackets"
|
||||||
|
/* { token: 'delimiter.parenthesis' }*/
|
||||||
|
},
|
||||||
|
// TODO: otherwise, try lexing_IDENT_sym
|
||||||
|
{ regex: /\\/, action: { token: "punctuation" } },
|
||||||
|
// just T_BACKSLASH
|
||||||
|
// lexing_IDENT_alp:
|
||||||
|
// NOTE: (?!regex) is syntax for "not-followed-by" regex
|
||||||
|
// to resolve ambiguity such as foreach$fwork being incorrectly lexed as [for] [each$fwork]!
|
||||||
|
{
|
||||||
|
regex: /@irregular_keywords(?!@IDENTRST)/,
|
||||||
|
action: { token: "keyword" }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
regex: /@IDENTFST@IDENTRST*[<!\[]?/,
|
||||||
|
action: {
|
||||||
|
cases: {
|
||||||
|
// TODO: dynload and staload should be specially parsed
|
||||||
|
// dynload whitespace+ "special_string"
|
||||||
|
// this special string is really:
|
||||||
|
// '/' '\\' '.' => punctuation
|
||||||
|
// ({\$)([a-zA-Z_][a-zA-Z_0-9]*)(}) => punctuation,keyword,punctuation
|
||||||
|
// [^"] => identifier/literal
|
||||||
|
"@keywords": { token: "keyword" },
|
||||||
|
"@keywords_types": { token: "type" },
|
||||||
|
"@default": { token: "identifier" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// lexing_IDENT_sym:
|
||||||
|
{
|
||||||
|
regex: /\/\/\/\//,
|
||||||
|
action: { token: "comment", next: "@lexing_COMMENT_rest" }
|
||||||
|
},
|
||||||
|
{ regex: /\/\/.*$/, action: { token: "comment" } },
|
||||||
|
{
|
||||||
|
regex: /\/\*/,
|
||||||
|
action: { token: "comment", next: "@lexing_COMMENT_block_c" }
|
||||||
|
},
|
||||||
|
// AS-20160627: specifically for effect annotations
|
||||||
|
{
|
||||||
|
regex: /-<|=</,
|
||||||
|
action: { token: "keyword", next: "@lexing_EFFECT_commaseq0" }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
regex: /@symbolic+/,
|
||||||
|
action: {
|
||||||
|
cases: {
|
||||||
|
"@operators": "keyword",
|
||||||
|
"@default": "operator"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// lexing_ZERO:
|
||||||
|
// FIXME: this one is quite messy/unfinished yet
|
||||||
|
// TODO: lexing_INT_hex
|
||||||
|
// - testing_hexiexp => lexing_FLOAT_hexiexp
|
||||||
|
// - testing_fexponent_bin => lexing_FLOAT_hexiexp
|
||||||
|
// - testing_intspseq0 => T_INT_hex
|
||||||
|
// lexing_INT_hex:
|
||||||
|
{
|
||||||
|
regex: /0[xX]@xdigit+(@hexiexp|@fexponent_bin)@FLOATSP*/,
|
||||||
|
action: { token: "number.float" }
|
||||||
|
},
|
||||||
|
{ regex: /0[xX]@xdigit+@INTSP*/, action: { token: "number.hex" } },
|
||||||
|
{
|
||||||
|
regex: /0[0-7]+(?![0-9])@INTSP*/,
|
||||||
|
action: { token: "number.octal" }
|
||||||
|
},
|
||||||
|
// lexing_INT_oct
|
||||||
|
//{regex: /0/, action: { token: 'number' } }, // INTZERO
|
||||||
|
// lexing_INT_dec:
|
||||||
|
// - testing_deciexp => lexing_FLOAT_deciexp
|
||||||
|
// - testing_fexponent => lexing_FLOAT_deciexp
|
||||||
|
// - otherwise => intspseq0 ([0-9]*[lLuU]?)
|
||||||
|
{
|
||||||
|
regex: /@digit+(@fexponent|@deciexp)@FLOATSP*/,
|
||||||
|
action: { token: "number.float" }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
regex: /@digit@digitseq0@INTSP*/,
|
||||||
|
action: { token: "number.decimal" }
|
||||||
|
},
|
||||||
|
// DIGIT, if followed by digitseq0, is lexing_INT_dec
|
||||||
|
{ regex: /@digit+@INTSP*/, action: { token: "number" } }
|
||||||
|
],
|
||||||
|
lexing_COMMENT_block_ml: [
|
||||||
|
[/[^\(\*]+/, "comment"],
|
||||||
|
[/\(\*/, "comment", "@push"],
|
||||||
|
[/\(\*/, "comment.invalid"],
|
||||||
|
[/\*\)/, "comment", "@pop"],
|
||||||
|
[/\*/, "comment"]
|
||||||
|
],
|
||||||
|
lexing_COMMENT_block_c: [
|
||||||
|
[/[^\/*]+/, "comment"],
|
||||||
|
// [/\/\*/, 'comment', '@push' ], // nested C-style block comments not allowed
|
||||||
|
// [/\/\*/, 'comment.invalid' ], // NOTE: this breaks block comments in the shape of /* //*/
|
||||||
|
[/\*\//, "comment", "@pop"],
|
||||||
|
[/[\/*]/, "comment"]
|
||||||
|
],
|
||||||
|
lexing_COMMENT_rest: [
|
||||||
|
[/$/, "comment", "@pop"],
|
||||||
|
// FIXME: does it match? docs say 'no'
|
||||||
|
[/.*/, "comment"]
|
||||||
|
],
|
||||||
|
// NOTE: added by AS, specifically for highlighting
|
||||||
|
lexing_EFFECT_commaseq0: [
|
||||||
|
{
|
||||||
|
regex: /@IDENTFST@IDENTRST+|@digit+/,
|
||||||
|
action: {
|
||||||
|
cases: {
|
||||||
|
"@keywords_effects": { token: "type.effect" },
|
||||||
|
"@default": { token: "identifier" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ regex: /,/, action: { token: "punctuation" } },
|
||||||
|
{ regex: />/, action: { token: "@rematch", next: "@pop" } }
|
||||||
|
],
|
||||||
|
lexing_EXTCODE: [
|
||||||
|
{
|
||||||
|
regex: /^%}/,
|
||||||
|
action: {
|
||||||
|
token: "@rematch",
|
||||||
|
next: "@pop",
|
||||||
|
nextEmbedded: "@pop"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ regex: /[^%]+/, action: "" }
|
||||||
|
],
|
||||||
|
lexing_DQUOTE: [
|
||||||
|
{ regex: /"/, action: { token: "string.quote", next: "@pop" } },
|
||||||
|
// AS-20160628: additional hi-lighting for variables in staload/dynload strings
|
||||||
|
{
|
||||||
|
regex: /(\{\$)(@IDENTFST@IDENTRST*)(\})/,
|
||||||
|
action: [{ token: "string.escape" }, { token: "identifier" }, { token: "string.escape" }]
|
||||||
|
},
|
||||||
|
{ regex: /\\$/, action: { token: "string.escape" } },
|
||||||
|
{
|
||||||
|
regex: /\\(@ESCHAR|[xX]@xdigit+|@digit+)/,
|
||||||
|
action: { token: "string.escape" }
|
||||||
|
},
|
||||||
|
{ regex: /[^\\"]+/, action: { token: "string" } }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
893
_internal/editor/dev/vs/powerquery-Du80-tps.js
Normal file
893
_internal/editor/dev/vs/powerquery-Du80-tps.js
Normal file
@@ -0,0 +1,893 @@
|
|||||||
|
define("vs/powerquery-Du80-tps", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: "//",
|
||||||
|
blockComment: ["/*", "*/"]
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"],
|
||||||
|
["{", "}"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: '"', close: '"', notIn: ["string", "comment", "identifier"] },
|
||||||
|
{ open: "[", close: "]", notIn: ["string", "comment", "identifier"] },
|
||||||
|
{ open: "(", close: ")", notIn: ["string", "comment", "identifier"] },
|
||||||
|
{ open: "{", close: "}", notIn: ["string", "comment", "identifier"] }
|
||||||
|
]
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".pq",
|
||||||
|
ignoreCase: false,
|
||||||
|
brackets: [
|
||||||
|
{ open: "[", close: "]", token: "delimiter.square" },
|
||||||
|
{ open: "{", close: "}", token: "delimiter.brackets" },
|
||||||
|
{ open: "(", close: ")", token: "delimiter.parenthesis" }
|
||||||
|
],
|
||||||
|
operatorKeywords: ["and", "not", "or"],
|
||||||
|
keywords: [
|
||||||
|
"as",
|
||||||
|
"each",
|
||||||
|
"else",
|
||||||
|
"error",
|
||||||
|
"false",
|
||||||
|
"if",
|
||||||
|
"in",
|
||||||
|
"is",
|
||||||
|
"let",
|
||||||
|
"meta",
|
||||||
|
"otherwise",
|
||||||
|
"section",
|
||||||
|
"shared",
|
||||||
|
"then",
|
||||||
|
"true",
|
||||||
|
"try",
|
||||||
|
"type"
|
||||||
|
],
|
||||||
|
constructors: ["#binary", "#date", "#datetime", "#datetimezone", "#duration", "#table", "#time"],
|
||||||
|
constants: ["#infinity", "#nan", "#sections", "#shared"],
|
||||||
|
typeKeywords: [
|
||||||
|
"action",
|
||||||
|
"any",
|
||||||
|
"anynonnull",
|
||||||
|
"none",
|
||||||
|
"null",
|
||||||
|
"logical",
|
||||||
|
"number",
|
||||||
|
"time",
|
||||||
|
"date",
|
||||||
|
"datetime",
|
||||||
|
"datetimezone",
|
||||||
|
"duration",
|
||||||
|
"text",
|
||||||
|
"binary",
|
||||||
|
"list",
|
||||||
|
"record",
|
||||||
|
"table",
|
||||||
|
"function"
|
||||||
|
],
|
||||||
|
builtinFunctions: [
|
||||||
|
"Access.Database",
|
||||||
|
"Action.Return",
|
||||||
|
"Action.Sequence",
|
||||||
|
"Action.Try",
|
||||||
|
"ActiveDirectory.Domains",
|
||||||
|
"AdoDotNet.DataSource",
|
||||||
|
"AdoDotNet.Query",
|
||||||
|
"AdobeAnalytics.Cubes",
|
||||||
|
"AnalysisServices.Database",
|
||||||
|
"AnalysisServices.Databases",
|
||||||
|
"AzureStorage.BlobContents",
|
||||||
|
"AzureStorage.Blobs",
|
||||||
|
"AzureStorage.Tables",
|
||||||
|
"Binary.Buffer",
|
||||||
|
"Binary.Combine",
|
||||||
|
"Binary.Compress",
|
||||||
|
"Binary.Decompress",
|
||||||
|
"Binary.End",
|
||||||
|
"Binary.From",
|
||||||
|
"Binary.FromList",
|
||||||
|
"Binary.FromText",
|
||||||
|
"Binary.InferContentType",
|
||||||
|
"Binary.Length",
|
||||||
|
"Binary.ToList",
|
||||||
|
"Binary.ToText",
|
||||||
|
"BinaryFormat.7BitEncodedSignedInteger",
|
||||||
|
"BinaryFormat.7BitEncodedUnsignedInteger",
|
||||||
|
"BinaryFormat.Binary",
|
||||||
|
"BinaryFormat.Byte",
|
||||||
|
"BinaryFormat.ByteOrder",
|
||||||
|
"BinaryFormat.Choice",
|
||||||
|
"BinaryFormat.Decimal",
|
||||||
|
"BinaryFormat.Double",
|
||||||
|
"BinaryFormat.Group",
|
||||||
|
"BinaryFormat.Length",
|
||||||
|
"BinaryFormat.List",
|
||||||
|
"BinaryFormat.Null",
|
||||||
|
"BinaryFormat.Record",
|
||||||
|
"BinaryFormat.SignedInteger16",
|
||||||
|
"BinaryFormat.SignedInteger32",
|
||||||
|
"BinaryFormat.SignedInteger64",
|
||||||
|
"BinaryFormat.Single",
|
||||||
|
"BinaryFormat.Text",
|
||||||
|
"BinaryFormat.Transform",
|
||||||
|
"BinaryFormat.UnsignedInteger16",
|
||||||
|
"BinaryFormat.UnsignedInteger32",
|
||||||
|
"BinaryFormat.UnsignedInteger64",
|
||||||
|
"Byte.From",
|
||||||
|
"Character.FromNumber",
|
||||||
|
"Character.ToNumber",
|
||||||
|
"Combiner.CombineTextByDelimiter",
|
||||||
|
"Combiner.CombineTextByEachDelimiter",
|
||||||
|
"Combiner.CombineTextByLengths",
|
||||||
|
"Combiner.CombineTextByPositions",
|
||||||
|
"Combiner.CombineTextByRanges",
|
||||||
|
"Comparer.Equals",
|
||||||
|
"Comparer.FromCulture",
|
||||||
|
"Comparer.Ordinal",
|
||||||
|
"Comparer.OrdinalIgnoreCase",
|
||||||
|
"Csv.Document",
|
||||||
|
"Cube.AddAndExpandDimensionColumn",
|
||||||
|
"Cube.AddMeasureColumn",
|
||||||
|
"Cube.ApplyParameter",
|
||||||
|
"Cube.AttributeMemberId",
|
||||||
|
"Cube.AttributeMemberProperty",
|
||||||
|
"Cube.CollapseAndRemoveColumns",
|
||||||
|
"Cube.Dimensions",
|
||||||
|
"Cube.DisplayFolders",
|
||||||
|
"Cube.Measures",
|
||||||
|
"Cube.Parameters",
|
||||||
|
"Cube.Properties",
|
||||||
|
"Cube.PropertyKey",
|
||||||
|
"Cube.ReplaceDimensions",
|
||||||
|
"Cube.Transform",
|
||||||
|
"Currency.From",
|
||||||
|
"DB2.Database",
|
||||||
|
"Date.AddDays",
|
||||||
|
"Date.AddMonths",
|
||||||
|
"Date.AddQuarters",
|
||||||
|
"Date.AddWeeks",
|
||||||
|
"Date.AddYears",
|
||||||
|
"Date.Day",
|
||||||
|
"Date.DayOfWeek",
|
||||||
|
"Date.DayOfWeekName",
|
||||||
|
"Date.DayOfYear",
|
||||||
|
"Date.DaysInMonth",
|
||||||
|
"Date.EndOfDay",
|
||||||
|
"Date.EndOfMonth",
|
||||||
|
"Date.EndOfQuarter",
|
||||||
|
"Date.EndOfWeek",
|
||||||
|
"Date.EndOfYear",
|
||||||
|
"Date.From",
|
||||||
|
"Date.FromText",
|
||||||
|
"Date.IsInCurrentDay",
|
||||||
|
"Date.IsInCurrentMonth",
|
||||||
|
"Date.IsInCurrentQuarter",
|
||||||
|
"Date.IsInCurrentWeek",
|
||||||
|
"Date.IsInCurrentYear",
|
||||||
|
"Date.IsInNextDay",
|
||||||
|
"Date.IsInNextMonth",
|
||||||
|
"Date.IsInNextNDays",
|
||||||
|
"Date.IsInNextNMonths",
|
||||||
|
"Date.IsInNextNQuarters",
|
||||||
|
"Date.IsInNextNWeeks",
|
||||||
|
"Date.IsInNextNYears",
|
||||||
|
"Date.IsInNextQuarter",
|
||||||
|
"Date.IsInNextWeek",
|
||||||
|
"Date.IsInNextYear",
|
||||||
|
"Date.IsInPreviousDay",
|
||||||
|
"Date.IsInPreviousMonth",
|
||||||
|
"Date.IsInPreviousNDays",
|
||||||
|
"Date.IsInPreviousNMonths",
|
||||||
|
"Date.IsInPreviousNQuarters",
|
||||||
|
"Date.IsInPreviousNWeeks",
|
||||||
|
"Date.IsInPreviousNYears",
|
||||||
|
"Date.IsInPreviousQuarter",
|
||||||
|
"Date.IsInPreviousWeek",
|
||||||
|
"Date.IsInPreviousYear",
|
||||||
|
"Date.IsInYearToDate",
|
||||||
|
"Date.IsLeapYear",
|
||||||
|
"Date.Month",
|
||||||
|
"Date.MonthName",
|
||||||
|
"Date.QuarterOfYear",
|
||||||
|
"Date.StartOfDay",
|
||||||
|
"Date.StartOfMonth",
|
||||||
|
"Date.StartOfQuarter",
|
||||||
|
"Date.StartOfWeek",
|
||||||
|
"Date.StartOfYear",
|
||||||
|
"Date.ToRecord",
|
||||||
|
"Date.ToText",
|
||||||
|
"Date.WeekOfMonth",
|
||||||
|
"Date.WeekOfYear",
|
||||||
|
"Date.Year",
|
||||||
|
"DateTime.AddZone",
|
||||||
|
"DateTime.Date",
|
||||||
|
"DateTime.FixedLocalNow",
|
||||||
|
"DateTime.From",
|
||||||
|
"DateTime.FromFileTime",
|
||||||
|
"DateTime.FromText",
|
||||||
|
"DateTime.IsInCurrentHour",
|
||||||
|
"DateTime.IsInCurrentMinute",
|
||||||
|
"DateTime.IsInCurrentSecond",
|
||||||
|
"DateTime.IsInNextHour",
|
||||||
|
"DateTime.IsInNextMinute",
|
||||||
|
"DateTime.IsInNextNHours",
|
||||||
|
"DateTime.IsInNextNMinutes",
|
||||||
|
"DateTime.IsInNextNSeconds",
|
||||||
|
"DateTime.IsInNextSecond",
|
||||||
|
"DateTime.IsInPreviousHour",
|
||||||
|
"DateTime.IsInPreviousMinute",
|
||||||
|
"DateTime.IsInPreviousNHours",
|
||||||
|
"DateTime.IsInPreviousNMinutes",
|
||||||
|
"DateTime.IsInPreviousNSeconds",
|
||||||
|
"DateTime.IsInPreviousSecond",
|
||||||
|
"DateTime.LocalNow",
|
||||||
|
"DateTime.Time",
|
||||||
|
"DateTime.ToRecord",
|
||||||
|
"DateTime.ToText",
|
||||||
|
"DateTimeZone.FixedLocalNow",
|
||||||
|
"DateTimeZone.FixedUtcNow",
|
||||||
|
"DateTimeZone.From",
|
||||||
|
"DateTimeZone.FromFileTime",
|
||||||
|
"DateTimeZone.FromText",
|
||||||
|
"DateTimeZone.LocalNow",
|
||||||
|
"DateTimeZone.RemoveZone",
|
||||||
|
"DateTimeZone.SwitchZone",
|
||||||
|
"DateTimeZone.ToLocal",
|
||||||
|
"DateTimeZone.ToRecord",
|
||||||
|
"DateTimeZone.ToText",
|
||||||
|
"DateTimeZone.ToUtc",
|
||||||
|
"DateTimeZone.UtcNow",
|
||||||
|
"DateTimeZone.ZoneHours",
|
||||||
|
"DateTimeZone.ZoneMinutes",
|
||||||
|
"Decimal.From",
|
||||||
|
"Diagnostics.ActivityId",
|
||||||
|
"Diagnostics.Trace",
|
||||||
|
"DirectQueryCapabilities.From",
|
||||||
|
"Double.From",
|
||||||
|
"Duration.Days",
|
||||||
|
"Duration.From",
|
||||||
|
"Duration.FromText",
|
||||||
|
"Duration.Hours",
|
||||||
|
"Duration.Minutes",
|
||||||
|
"Duration.Seconds",
|
||||||
|
"Duration.ToRecord",
|
||||||
|
"Duration.ToText",
|
||||||
|
"Duration.TotalDays",
|
||||||
|
"Duration.TotalHours",
|
||||||
|
"Duration.TotalMinutes",
|
||||||
|
"Duration.TotalSeconds",
|
||||||
|
"Embedded.Value",
|
||||||
|
"Error.Record",
|
||||||
|
"Excel.CurrentWorkbook",
|
||||||
|
"Excel.Workbook",
|
||||||
|
"Exchange.Contents",
|
||||||
|
"Expression.Constant",
|
||||||
|
"Expression.Evaluate",
|
||||||
|
"Expression.Identifier",
|
||||||
|
"Facebook.Graph",
|
||||||
|
"File.Contents",
|
||||||
|
"Folder.Contents",
|
||||||
|
"Folder.Files",
|
||||||
|
"Function.From",
|
||||||
|
"Function.Invoke",
|
||||||
|
"Function.InvokeAfter",
|
||||||
|
"Function.IsDataSource",
|
||||||
|
"GoogleAnalytics.Accounts",
|
||||||
|
"Guid.From",
|
||||||
|
"HdInsight.Containers",
|
||||||
|
"HdInsight.Contents",
|
||||||
|
"HdInsight.Files",
|
||||||
|
"Hdfs.Contents",
|
||||||
|
"Hdfs.Files",
|
||||||
|
"Informix.Database",
|
||||||
|
"Int16.From",
|
||||||
|
"Int32.From",
|
||||||
|
"Int64.From",
|
||||||
|
"Int8.From",
|
||||||
|
"ItemExpression.From",
|
||||||
|
"Json.Document",
|
||||||
|
"Json.FromValue",
|
||||||
|
"Lines.FromBinary",
|
||||||
|
"Lines.FromText",
|
||||||
|
"Lines.ToBinary",
|
||||||
|
"Lines.ToText",
|
||||||
|
"List.Accumulate",
|
||||||
|
"List.AllTrue",
|
||||||
|
"List.Alternate",
|
||||||
|
"List.AnyTrue",
|
||||||
|
"List.Average",
|
||||||
|
"List.Buffer",
|
||||||
|
"List.Combine",
|
||||||
|
"List.Contains",
|
||||||
|
"List.ContainsAll",
|
||||||
|
"List.ContainsAny",
|
||||||
|
"List.Count",
|
||||||
|
"List.Covariance",
|
||||||
|
"List.DateTimeZones",
|
||||||
|
"List.DateTimes",
|
||||||
|
"List.Dates",
|
||||||
|
"List.Difference",
|
||||||
|
"List.Distinct",
|
||||||
|
"List.Durations",
|
||||||
|
"List.FindText",
|
||||||
|
"List.First",
|
||||||
|
"List.FirstN",
|
||||||
|
"List.Generate",
|
||||||
|
"List.InsertRange",
|
||||||
|
"List.Intersect",
|
||||||
|
"List.IsDistinct",
|
||||||
|
"List.IsEmpty",
|
||||||
|
"List.Last",
|
||||||
|
"List.LastN",
|
||||||
|
"List.MatchesAll",
|
||||||
|
"List.MatchesAny",
|
||||||
|
"List.Max",
|
||||||
|
"List.MaxN",
|
||||||
|
"List.Median",
|
||||||
|
"List.Min",
|
||||||
|
"List.MinN",
|
||||||
|
"List.Mode",
|
||||||
|
"List.Modes",
|
||||||
|
"List.NonNullCount",
|
||||||
|
"List.Numbers",
|
||||||
|
"List.PositionOf",
|
||||||
|
"List.PositionOfAny",
|
||||||
|
"List.Positions",
|
||||||
|
"List.Product",
|
||||||
|
"List.Random",
|
||||||
|
"List.Range",
|
||||||
|
"List.RemoveFirstN",
|
||||||
|
"List.RemoveItems",
|
||||||
|
"List.RemoveLastN",
|
||||||
|
"List.RemoveMatchingItems",
|
||||||
|
"List.RemoveNulls",
|
||||||
|
"List.RemoveRange",
|
||||||
|
"List.Repeat",
|
||||||
|
"List.ReplaceMatchingItems",
|
||||||
|
"List.ReplaceRange",
|
||||||
|
"List.ReplaceValue",
|
||||||
|
"List.Reverse",
|
||||||
|
"List.Select",
|
||||||
|
"List.Single",
|
||||||
|
"List.SingleOrDefault",
|
||||||
|
"List.Skip",
|
||||||
|
"List.Sort",
|
||||||
|
"List.StandardDeviation",
|
||||||
|
"List.Sum",
|
||||||
|
"List.Times",
|
||||||
|
"List.Transform",
|
||||||
|
"List.TransformMany",
|
||||||
|
"List.Union",
|
||||||
|
"List.Zip",
|
||||||
|
"Logical.From",
|
||||||
|
"Logical.FromText",
|
||||||
|
"Logical.ToText",
|
||||||
|
"MQ.Queue",
|
||||||
|
"MySQL.Database",
|
||||||
|
"Number.Abs",
|
||||||
|
"Number.Acos",
|
||||||
|
"Number.Asin",
|
||||||
|
"Number.Atan",
|
||||||
|
"Number.Atan2",
|
||||||
|
"Number.BitwiseAnd",
|
||||||
|
"Number.BitwiseNot",
|
||||||
|
"Number.BitwiseOr",
|
||||||
|
"Number.BitwiseShiftLeft",
|
||||||
|
"Number.BitwiseShiftRight",
|
||||||
|
"Number.BitwiseXor",
|
||||||
|
"Number.Combinations",
|
||||||
|
"Number.Cos",
|
||||||
|
"Number.Cosh",
|
||||||
|
"Number.Exp",
|
||||||
|
"Number.Factorial",
|
||||||
|
"Number.From",
|
||||||
|
"Number.FromText",
|
||||||
|
"Number.IntegerDivide",
|
||||||
|
"Number.IsEven",
|
||||||
|
"Number.IsNaN",
|
||||||
|
"Number.IsOdd",
|
||||||
|
"Number.Ln",
|
||||||
|
"Number.Log",
|
||||||
|
"Number.Log10",
|
||||||
|
"Number.Mod",
|
||||||
|
"Number.Permutations",
|
||||||
|
"Number.Power",
|
||||||
|
"Number.Random",
|
||||||
|
"Number.RandomBetween",
|
||||||
|
"Number.Round",
|
||||||
|
"Number.RoundAwayFromZero",
|
||||||
|
"Number.RoundDown",
|
||||||
|
"Number.RoundTowardZero",
|
||||||
|
"Number.RoundUp",
|
||||||
|
"Number.Sign",
|
||||||
|
"Number.Sin",
|
||||||
|
"Number.Sinh",
|
||||||
|
"Number.Sqrt",
|
||||||
|
"Number.Tan",
|
||||||
|
"Number.Tanh",
|
||||||
|
"Number.ToText",
|
||||||
|
"OData.Feed",
|
||||||
|
"Odbc.DataSource",
|
||||||
|
"Odbc.Query",
|
||||||
|
"OleDb.DataSource",
|
||||||
|
"OleDb.Query",
|
||||||
|
"Oracle.Database",
|
||||||
|
"Percentage.From",
|
||||||
|
"PostgreSQL.Database",
|
||||||
|
"RData.FromBinary",
|
||||||
|
"Record.AddField",
|
||||||
|
"Record.Combine",
|
||||||
|
"Record.Field",
|
||||||
|
"Record.FieldCount",
|
||||||
|
"Record.FieldNames",
|
||||||
|
"Record.FieldOrDefault",
|
||||||
|
"Record.FieldValues",
|
||||||
|
"Record.FromList",
|
||||||
|
"Record.FromTable",
|
||||||
|
"Record.HasFields",
|
||||||
|
"Record.RemoveFields",
|
||||||
|
"Record.RenameFields",
|
||||||
|
"Record.ReorderFields",
|
||||||
|
"Record.SelectFields",
|
||||||
|
"Record.ToList",
|
||||||
|
"Record.ToTable",
|
||||||
|
"Record.TransformFields",
|
||||||
|
"Replacer.ReplaceText",
|
||||||
|
"Replacer.ReplaceValue",
|
||||||
|
"RowExpression.Column",
|
||||||
|
"RowExpression.From",
|
||||||
|
"Salesforce.Data",
|
||||||
|
"Salesforce.Reports",
|
||||||
|
"SapBusinessWarehouse.Cubes",
|
||||||
|
"SapHana.Database",
|
||||||
|
"SharePoint.Contents",
|
||||||
|
"SharePoint.Files",
|
||||||
|
"SharePoint.Tables",
|
||||||
|
"Single.From",
|
||||||
|
"Soda.Feed",
|
||||||
|
"Splitter.SplitByNothing",
|
||||||
|
"Splitter.SplitTextByAnyDelimiter",
|
||||||
|
"Splitter.SplitTextByDelimiter",
|
||||||
|
"Splitter.SplitTextByEachDelimiter",
|
||||||
|
"Splitter.SplitTextByLengths",
|
||||||
|
"Splitter.SplitTextByPositions",
|
||||||
|
"Splitter.SplitTextByRanges",
|
||||||
|
"Splitter.SplitTextByRepeatedLengths",
|
||||||
|
"Splitter.SplitTextByWhitespace",
|
||||||
|
"Sql.Database",
|
||||||
|
"Sql.Databases",
|
||||||
|
"SqlExpression.SchemaFrom",
|
||||||
|
"SqlExpression.ToExpression",
|
||||||
|
"Sybase.Database",
|
||||||
|
"Table.AddColumn",
|
||||||
|
"Table.AddIndexColumn",
|
||||||
|
"Table.AddJoinColumn",
|
||||||
|
"Table.AddKey",
|
||||||
|
"Table.AggregateTableColumn",
|
||||||
|
"Table.AlternateRows",
|
||||||
|
"Table.Buffer",
|
||||||
|
"Table.Column",
|
||||||
|
"Table.ColumnCount",
|
||||||
|
"Table.ColumnNames",
|
||||||
|
"Table.ColumnsOfType",
|
||||||
|
"Table.Combine",
|
||||||
|
"Table.CombineColumns",
|
||||||
|
"Table.Contains",
|
||||||
|
"Table.ContainsAll",
|
||||||
|
"Table.ContainsAny",
|
||||||
|
"Table.DemoteHeaders",
|
||||||
|
"Table.Distinct",
|
||||||
|
"Table.DuplicateColumn",
|
||||||
|
"Table.ExpandListColumn",
|
||||||
|
"Table.ExpandRecordColumn",
|
||||||
|
"Table.ExpandTableColumn",
|
||||||
|
"Table.FillDown",
|
||||||
|
"Table.FillUp",
|
||||||
|
"Table.FilterWithDataTable",
|
||||||
|
"Table.FindText",
|
||||||
|
"Table.First",
|
||||||
|
"Table.FirstN",
|
||||||
|
"Table.FirstValue",
|
||||||
|
"Table.FromColumns",
|
||||||
|
"Table.FromList",
|
||||||
|
"Table.FromPartitions",
|
||||||
|
"Table.FromRecords",
|
||||||
|
"Table.FromRows",
|
||||||
|
"Table.FromValue",
|
||||||
|
"Table.Group",
|
||||||
|
"Table.HasColumns",
|
||||||
|
"Table.InsertRows",
|
||||||
|
"Table.IsDistinct",
|
||||||
|
"Table.IsEmpty",
|
||||||
|
"Table.Join",
|
||||||
|
"Table.Keys",
|
||||||
|
"Table.Last",
|
||||||
|
"Table.LastN",
|
||||||
|
"Table.MatchesAllRows",
|
||||||
|
"Table.MatchesAnyRows",
|
||||||
|
"Table.Max",
|
||||||
|
"Table.MaxN",
|
||||||
|
"Table.Min",
|
||||||
|
"Table.MinN",
|
||||||
|
"Table.NestedJoin",
|
||||||
|
"Table.Partition",
|
||||||
|
"Table.PartitionValues",
|
||||||
|
"Table.Pivot",
|
||||||
|
"Table.PositionOf",
|
||||||
|
"Table.PositionOfAny",
|
||||||
|
"Table.PrefixColumns",
|
||||||
|
"Table.Profile",
|
||||||
|
"Table.PromoteHeaders",
|
||||||
|
"Table.Range",
|
||||||
|
"Table.RemoveColumns",
|
||||||
|
"Table.RemoveFirstN",
|
||||||
|
"Table.RemoveLastN",
|
||||||
|
"Table.RemoveMatchingRows",
|
||||||
|
"Table.RemoveRows",
|
||||||
|
"Table.RemoveRowsWithErrors",
|
||||||
|
"Table.RenameColumns",
|
||||||
|
"Table.ReorderColumns",
|
||||||
|
"Table.Repeat",
|
||||||
|
"Table.ReplaceErrorValues",
|
||||||
|
"Table.ReplaceKeys",
|
||||||
|
"Table.ReplaceMatchingRows",
|
||||||
|
"Table.ReplaceRelationshipIdentity",
|
||||||
|
"Table.ReplaceRows",
|
||||||
|
"Table.ReplaceValue",
|
||||||
|
"Table.ReverseRows",
|
||||||
|
"Table.RowCount",
|
||||||
|
"Table.Schema",
|
||||||
|
"Table.SelectColumns",
|
||||||
|
"Table.SelectRows",
|
||||||
|
"Table.SelectRowsWithErrors",
|
||||||
|
"Table.SingleRow",
|
||||||
|
"Table.Skip",
|
||||||
|
"Table.Sort",
|
||||||
|
"Table.SplitColumn",
|
||||||
|
"Table.ToColumns",
|
||||||
|
"Table.ToList",
|
||||||
|
"Table.ToRecords",
|
||||||
|
"Table.ToRows",
|
||||||
|
"Table.TransformColumnNames",
|
||||||
|
"Table.TransformColumnTypes",
|
||||||
|
"Table.TransformColumns",
|
||||||
|
"Table.TransformRows",
|
||||||
|
"Table.Transpose",
|
||||||
|
"Table.Unpivot",
|
||||||
|
"Table.UnpivotOtherColumns",
|
||||||
|
"Table.View",
|
||||||
|
"Table.ViewFunction",
|
||||||
|
"TableAction.DeleteRows",
|
||||||
|
"TableAction.InsertRows",
|
||||||
|
"TableAction.UpdateRows",
|
||||||
|
"Tables.GetRelationships",
|
||||||
|
"Teradata.Database",
|
||||||
|
"Text.AfterDelimiter",
|
||||||
|
"Text.At",
|
||||||
|
"Text.BeforeDelimiter",
|
||||||
|
"Text.BetweenDelimiters",
|
||||||
|
"Text.Clean",
|
||||||
|
"Text.Combine",
|
||||||
|
"Text.Contains",
|
||||||
|
"Text.End",
|
||||||
|
"Text.EndsWith",
|
||||||
|
"Text.Format",
|
||||||
|
"Text.From",
|
||||||
|
"Text.FromBinary",
|
||||||
|
"Text.Insert",
|
||||||
|
"Text.Length",
|
||||||
|
"Text.Lower",
|
||||||
|
"Text.Middle",
|
||||||
|
"Text.NewGuid",
|
||||||
|
"Text.PadEnd",
|
||||||
|
"Text.PadStart",
|
||||||
|
"Text.PositionOf",
|
||||||
|
"Text.PositionOfAny",
|
||||||
|
"Text.Proper",
|
||||||
|
"Text.Range",
|
||||||
|
"Text.Remove",
|
||||||
|
"Text.RemoveRange",
|
||||||
|
"Text.Repeat",
|
||||||
|
"Text.Replace",
|
||||||
|
"Text.ReplaceRange",
|
||||||
|
"Text.Select",
|
||||||
|
"Text.Split",
|
||||||
|
"Text.SplitAny",
|
||||||
|
"Text.Start",
|
||||||
|
"Text.StartsWith",
|
||||||
|
"Text.ToBinary",
|
||||||
|
"Text.ToList",
|
||||||
|
"Text.Trim",
|
||||||
|
"Text.TrimEnd",
|
||||||
|
"Text.TrimStart",
|
||||||
|
"Text.Upper",
|
||||||
|
"Time.EndOfHour",
|
||||||
|
"Time.From",
|
||||||
|
"Time.FromText",
|
||||||
|
"Time.Hour",
|
||||||
|
"Time.Minute",
|
||||||
|
"Time.Second",
|
||||||
|
"Time.StartOfHour",
|
||||||
|
"Time.ToRecord",
|
||||||
|
"Time.ToText",
|
||||||
|
"Type.AddTableKey",
|
||||||
|
"Type.ClosedRecord",
|
||||||
|
"Type.Facets",
|
||||||
|
"Type.ForFunction",
|
||||||
|
"Type.ForRecord",
|
||||||
|
"Type.FunctionParameters",
|
||||||
|
"Type.FunctionRequiredParameters",
|
||||||
|
"Type.FunctionReturn",
|
||||||
|
"Type.Is",
|
||||||
|
"Type.IsNullable",
|
||||||
|
"Type.IsOpenRecord",
|
||||||
|
"Type.ListItem",
|
||||||
|
"Type.NonNullable",
|
||||||
|
"Type.OpenRecord",
|
||||||
|
"Type.RecordFields",
|
||||||
|
"Type.ReplaceFacets",
|
||||||
|
"Type.ReplaceTableKeys",
|
||||||
|
"Type.TableColumn",
|
||||||
|
"Type.TableKeys",
|
||||||
|
"Type.TableRow",
|
||||||
|
"Type.TableSchema",
|
||||||
|
"Type.Union",
|
||||||
|
"Uri.BuildQueryString",
|
||||||
|
"Uri.Combine",
|
||||||
|
"Uri.EscapeDataString",
|
||||||
|
"Uri.Parts",
|
||||||
|
"Value.Add",
|
||||||
|
"Value.As",
|
||||||
|
"Value.Compare",
|
||||||
|
"Value.Divide",
|
||||||
|
"Value.Equals",
|
||||||
|
"Value.Firewall",
|
||||||
|
"Value.FromText",
|
||||||
|
"Value.Is",
|
||||||
|
"Value.Metadata",
|
||||||
|
"Value.Multiply",
|
||||||
|
"Value.NativeQuery",
|
||||||
|
"Value.NullableEquals",
|
||||||
|
"Value.RemoveMetadata",
|
||||||
|
"Value.ReplaceMetadata",
|
||||||
|
"Value.ReplaceType",
|
||||||
|
"Value.Subtract",
|
||||||
|
"Value.Type",
|
||||||
|
"ValueAction.NativeStatement",
|
||||||
|
"ValueAction.Replace",
|
||||||
|
"Variable.Value",
|
||||||
|
"Web.Contents",
|
||||||
|
"Web.Page",
|
||||||
|
"WebAction.Request",
|
||||||
|
"Xml.Document",
|
||||||
|
"Xml.Tables"
|
||||||
|
],
|
||||||
|
builtinConstants: [
|
||||||
|
"BinaryEncoding.Base64",
|
||||||
|
"BinaryEncoding.Hex",
|
||||||
|
"BinaryOccurrence.Optional",
|
||||||
|
"BinaryOccurrence.Repeating",
|
||||||
|
"BinaryOccurrence.Required",
|
||||||
|
"ByteOrder.BigEndian",
|
||||||
|
"ByteOrder.LittleEndian",
|
||||||
|
"Compression.Deflate",
|
||||||
|
"Compression.GZip",
|
||||||
|
"CsvStyle.QuoteAfterDelimiter",
|
||||||
|
"CsvStyle.QuoteAlways",
|
||||||
|
"Culture.Current",
|
||||||
|
"Day.Friday",
|
||||||
|
"Day.Monday",
|
||||||
|
"Day.Saturday",
|
||||||
|
"Day.Sunday",
|
||||||
|
"Day.Thursday",
|
||||||
|
"Day.Tuesday",
|
||||||
|
"Day.Wednesday",
|
||||||
|
"ExtraValues.Error",
|
||||||
|
"ExtraValues.Ignore",
|
||||||
|
"ExtraValues.List",
|
||||||
|
"GroupKind.Global",
|
||||||
|
"GroupKind.Local",
|
||||||
|
"JoinAlgorithm.Dynamic",
|
||||||
|
"JoinAlgorithm.LeftHash",
|
||||||
|
"JoinAlgorithm.LeftIndex",
|
||||||
|
"JoinAlgorithm.PairwiseHash",
|
||||||
|
"JoinAlgorithm.RightHash",
|
||||||
|
"JoinAlgorithm.RightIndex",
|
||||||
|
"JoinAlgorithm.SortMerge",
|
||||||
|
"JoinKind.FullOuter",
|
||||||
|
"JoinKind.Inner",
|
||||||
|
"JoinKind.LeftAnti",
|
||||||
|
"JoinKind.LeftOuter",
|
||||||
|
"JoinKind.RightAnti",
|
||||||
|
"JoinKind.RightOuter",
|
||||||
|
"JoinSide.Left",
|
||||||
|
"JoinSide.Right",
|
||||||
|
"MissingField.Error",
|
||||||
|
"MissingField.Ignore",
|
||||||
|
"MissingField.UseNull",
|
||||||
|
"Number.E",
|
||||||
|
"Number.Epsilon",
|
||||||
|
"Number.NaN",
|
||||||
|
"Number.NegativeInfinity",
|
||||||
|
"Number.PI",
|
||||||
|
"Number.PositiveInfinity",
|
||||||
|
"Occurrence.All",
|
||||||
|
"Occurrence.First",
|
||||||
|
"Occurrence.Last",
|
||||||
|
"Occurrence.Optional",
|
||||||
|
"Occurrence.Repeating",
|
||||||
|
"Occurrence.Required",
|
||||||
|
"Order.Ascending",
|
||||||
|
"Order.Descending",
|
||||||
|
"Precision.Decimal",
|
||||||
|
"Precision.Double",
|
||||||
|
"QuoteStyle.Csv",
|
||||||
|
"QuoteStyle.None",
|
||||||
|
"RelativePosition.FromEnd",
|
||||||
|
"RelativePosition.FromStart",
|
||||||
|
"RoundingMode.AwayFromZero",
|
||||||
|
"RoundingMode.Down",
|
||||||
|
"RoundingMode.ToEven",
|
||||||
|
"RoundingMode.TowardZero",
|
||||||
|
"RoundingMode.Up",
|
||||||
|
"SapHanaDistribution.All",
|
||||||
|
"SapHanaDistribution.Connection",
|
||||||
|
"SapHanaDistribution.Off",
|
||||||
|
"SapHanaDistribution.Statement",
|
||||||
|
"SapHanaRangeOperator.Equals",
|
||||||
|
"SapHanaRangeOperator.GreaterThan",
|
||||||
|
"SapHanaRangeOperator.GreaterThanOrEquals",
|
||||||
|
"SapHanaRangeOperator.LessThan",
|
||||||
|
"SapHanaRangeOperator.LessThanOrEquals",
|
||||||
|
"SapHanaRangeOperator.NotEquals",
|
||||||
|
"TextEncoding.Ascii",
|
||||||
|
"TextEncoding.BigEndianUnicode",
|
||||||
|
"TextEncoding.Unicode",
|
||||||
|
"TextEncoding.Utf16",
|
||||||
|
"TextEncoding.Utf8",
|
||||||
|
"TextEncoding.Windows",
|
||||||
|
"TraceLevel.Critical",
|
||||||
|
"TraceLevel.Error",
|
||||||
|
"TraceLevel.Information",
|
||||||
|
"TraceLevel.Verbose",
|
||||||
|
"TraceLevel.Warning",
|
||||||
|
"WebMethod.Delete",
|
||||||
|
"WebMethod.Get",
|
||||||
|
"WebMethod.Head",
|
||||||
|
"WebMethod.Patch",
|
||||||
|
"WebMethod.Post",
|
||||||
|
"WebMethod.Put"
|
||||||
|
],
|
||||||
|
builtinTypes: [
|
||||||
|
"Action.Type",
|
||||||
|
"Any.Type",
|
||||||
|
"Binary.Type",
|
||||||
|
"BinaryEncoding.Type",
|
||||||
|
"BinaryOccurrence.Type",
|
||||||
|
"Byte.Type",
|
||||||
|
"ByteOrder.Type",
|
||||||
|
"Character.Type",
|
||||||
|
"Compression.Type",
|
||||||
|
"CsvStyle.Type",
|
||||||
|
"Currency.Type",
|
||||||
|
"Date.Type",
|
||||||
|
"DateTime.Type",
|
||||||
|
"DateTimeZone.Type",
|
||||||
|
"Day.Type",
|
||||||
|
"Decimal.Type",
|
||||||
|
"Double.Type",
|
||||||
|
"Duration.Type",
|
||||||
|
"ExtraValues.Type",
|
||||||
|
"Function.Type",
|
||||||
|
"GroupKind.Type",
|
||||||
|
"Guid.Type",
|
||||||
|
"Int16.Type",
|
||||||
|
"Int32.Type",
|
||||||
|
"Int64.Type",
|
||||||
|
"Int8.Type",
|
||||||
|
"JoinAlgorithm.Type",
|
||||||
|
"JoinKind.Type",
|
||||||
|
"JoinSide.Type",
|
||||||
|
"List.Type",
|
||||||
|
"Logical.Type",
|
||||||
|
"MissingField.Type",
|
||||||
|
"None.Type",
|
||||||
|
"Null.Type",
|
||||||
|
"Number.Type",
|
||||||
|
"Occurrence.Type",
|
||||||
|
"Order.Type",
|
||||||
|
"Password.Type",
|
||||||
|
"Percentage.Type",
|
||||||
|
"Precision.Type",
|
||||||
|
"QuoteStyle.Type",
|
||||||
|
"Record.Type",
|
||||||
|
"RelativePosition.Type",
|
||||||
|
"RoundingMode.Type",
|
||||||
|
"SapHanaDistribution.Type",
|
||||||
|
"SapHanaRangeOperator.Type",
|
||||||
|
"Single.Type",
|
||||||
|
"Table.Type",
|
||||||
|
"Text.Type",
|
||||||
|
"TextEncoding.Type",
|
||||||
|
"Time.Type",
|
||||||
|
"TraceLevel.Type",
|
||||||
|
"Type.Type",
|
||||||
|
"Uri.Type",
|
||||||
|
"WebMethod.Type"
|
||||||
|
],
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
// quoted identifier
|
||||||
|
[/#"[\w \.]+"/, "identifier.quote"],
|
||||||
|
// numbers
|
||||||
|
[/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
|
||||||
|
[/0[xX][0-9a-fA-F]+/, "number.hex"],
|
||||||
|
[/\d+([eE][\-+]?\d+)?/, "number"],
|
||||||
|
// keywords
|
||||||
|
[
|
||||||
|
/(#?[a-z]+)\b/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@typeKeywords": "type",
|
||||||
|
"@keywords": "keyword",
|
||||||
|
"@constants": "constant",
|
||||||
|
"@constructors": "constructor",
|
||||||
|
"@operatorKeywords": "operators",
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// built-in types
|
||||||
|
[
|
||||||
|
/\b([A-Z][a-zA-Z0-9]+\.Type)\b/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@builtinTypes": "type",
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// other built-ins
|
||||||
|
[
|
||||||
|
/\b([A-Z][a-zA-Z0-9]+\.[A-Z][a-zA-Z0-9]+)\b/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@builtinFunctions": "keyword.function",
|
||||||
|
"@builtinConstants": "constant",
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// other identifiers
|
||||||
|
[/\b([a-zA-Z_][\w\.]*)\b/, "identifier"],
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
{ include: "@comments" },
|
||||||
|
{ include: "@strings" },
|
||||||
|
[/[{}()\[\]]/, "@brackets"],
|
||||||
|
[/([=\+<>\-\*&@\?\/!])|([<>]=)|(<>)|(=>)|(\.\.\.)|(\.\.)/, "operators"],
|
||||||
|
[/[,;]/, "delimiter"]
|
||||||
|
],
|
||||||
|
whitespace: [[/\s+/, "white"]],
|
||||||
|
comments: [
|
||||||
|
["\\/\\*", "comment", "@comment"],
|
||||||
|
["\\/\\/+.*", "comment"]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
["\\*\\/", "comment", "@pop"],
|
||||||
|
[".", "comment"]
|
||||||
|
],
|
||||||
|
strings: [['"', "string", "@string"]],
|
||||||
|
string: [
|
||||||
|
['""', "string.escape"],
|
||||||
|
['"', "string", "@pop"],
|
||||||
|
[".", "string"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
242
_internal/editor/dev/vs/powershell-mk7ECzLJ.js
Normal file
242
_internal/editor/dev/vs/powershell-mk7ECzLJ.js
Normal file
@@ -0,0 +1,242 @@
|
|||||||
|
define("vs/powershell-mk7ECzLJ", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
// 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")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
ignoreCase: true,
|
||||||
|
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", '@herestring."'],
|
||||||
|
[/\@'/, "string", "@herestring.'"],
|
||||||
|
[
|
||||||
|
/"/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@eos": "string",
|
||||||
|
"@default": { token: "string", next: '@string."' }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/'/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@eos": "string",
|
||||||
|
"@default": { token: "string", next: "@string.'" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
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: "@popall" },
|
||||||
|
"@default": { token: "string", next: "@popall" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/\$[\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",
|
||||||
|
"@default": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
[/[^#\.]+/, "comment"],
|
||||||
|
[/#>/, "comment", "@pop"],
|
||||||
|
[/(\.)(@helpKeywords)(?!\w)/, { token: "comment.keyword.$2" }],
|
||||||
|
[/[\.#]/, "comment"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
423
_internal/editor/dev/vs/protobuf-Bn1ftnRe.js
Normal file
423
_internal/editor/dev/vs/protobuf-Bn1ftnRe.js
Normal file
@@ -0,0 +1,423 @@
|
|||||||
|
define("vs/protobuf-Bn1ftnRe", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const namedLiterals = ["true", "false"];
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: "//",
|
||||||
|
blockComment: ["/*", "*/"]
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"],
|
||||||
|
["<", ">"]
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: "<", close: ">" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: "<", close: ">" },
|
||||||
|
{ open: '"', close: '"', notIn: ["string"] },
|
||||||
|
{ open: "'", close: "'", notIn: ["string"] }
|
||||||
|
],
|
||||||
|
autoCloseBefore: ".,=}])>' \n ",
|
||||||
|
indentationRules: {
|
||||||
|
increaseIndentPattern: new RegExp("^((?!\\/\\/).)*(\\{[^}\"'`]*|\\([^)\"'`]*|\\[[^\\]\"'`]*)$"),
|
||||||
|
decreaseIndentPattern: new RegExp("^((?!.*?\\/\\*).*\\*/)?\\s*[\\}\\]].*$")
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".proto",
|
||||||
|
brackets: [
|
||||||
|
{ open: "{", close: "}", token: "delimiter.curly" },
|
||||||
|
{ open: "[", close: "]", token: "delimiter.square" },
|
||||||
|
{ open: "(", close: ")", token: "delimiter.parenthesis" },
|
||||||
|
{ open: "<", close: ">", token: "delimiter.angle" }
|
||||||
|
],
|
||||||
|
symbols: /[=><!~?:&|+\-*/^%]+/,
|
||||||
|
keywords: [
|
||||||
|
"syntax",
|
||||||
|
"import",
|
||||||
|
"weak",
|
||||||
|
"public",
|
||||||
|
"package",
|
||||||
|
"option",
|
||||||
|
"repeated",
|
||||||
|
"oneof",
|
||||||
|
"map",
|
||||||
|
"reserved",
|
||||||
|
"to",
|
||||||
|
"max",
|
||||||
|
"enum",
|
||||||
|
"message",
|
||||||
|
"service",
|
||||||
|
"rpc",
|
||||||
|
"stream",
|
||||||
|
"returns",
|
||||||
|
"package",
|
||||||
|
"optional",
|
||||||
|
"true",
|
||||||
|
"false"
|
||||||
|
],
|
||||||
|
builtinTypes: [
|
||||||
|
"double",
|
||||||
|
"float",
|
||||||
|
"int32",
|
||||||
|
"int64",
|
||||||
|
"uint32",
|
||||||
|
"uint64",
|
||||||
|
"sint32",
|
||||||
|
"sint64",
|
||||||
|
"fixed32",
|
||||||
|
"fixed64",
|
||||||
|
"sfixed32",
|
||||||
|
"sfixed64",
|
||||||
|
"bool",
|
||||||
|
"string",
|
||||||
|
"bytes"
|
||||||
|
],
|
||||||
|
operators: ["=", "+", "-"],
|
||||||
|
namedLiterals,
|
||||||
|
escapes: `\\\\(u{[0-9A-Fa-f]+}|n|r|t|\\\\|'|\\\${)`,
|
||||||
|
identifier: /[a-zA-Z]\w*/,
|
||||||
|
fullIdentifier: /@identifier(?:\s*\.\s*@identifier)*/,
|
||||||
|
optionName: /(?:@identifier|\(\s*@fullIdentifier\s*\))(?:\s*\.\s*@identifier)*/,
|
||||||
|
messageName: /@identifier/,
|
||||||
|
enumName: /@identifier/,
|
||||||
|
messageType: /\.?\s*(?:@identifier\s*\.\s*)*@messageName/,
|
||||||
|
enumType: /\.?\s*(?:@identifier\s*\.\s*)*@enumName/,
|
||||||
|
floatLit: /[0-9]+\s*\.\s*[0-9]*(?:@exponent)?|[0-9]+@exponent|\.[0-9]+(?:@exponent)?/,
|
||||||
|
exponent: /[eE]\s*[+-]?\s*[0-9]+/,
|
||||||
|
boolLit: /true\b|false\b/,
|
||||||
|
decimalLit: /[1-9][0-9]*/,
|
||||||
|
octalLit: /0[0-7]*/,
|
||||||
|
hexLit: /0[xX][0-9a-fA-F]+/,
|
||||||
|
type: /double|float|int32|int64|uint32|uint64|sint32|sint64|fixed32|fixed64|sfixed32|sfixed64|bool|string|bytes|@messageType|@enumType/,
|
||||||
|
keyType: /int32|int64|uint32|uint64|sint32|sint64|fixed32|fixed64|sfixed32|sfixed64|bool|string/,
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
[/syntax/, "keyword"],
|
||||||
|
[/=/, "operators"],
|
||||||
|
[/;/, "delimiter"],
|
||||||
|
[
|
||||||
|
/(")(proto3)(")/,
|
||||||
|
["string.quote", "string", { token: "string.quote", switchTo: "@topLevel.proto3" }]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/(")(proto2)(")/,
|
||||||
|
["string.quote", "string", { token: "string.quote", switchTo: "@topLevel.proto2" }]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
// If no `syntax` provided, regarded as proto2
|
||||||
|
/.*?/,
|
||||||
|
{ token: "", switchTo: "@topLevel.proto2" }
|
||||||
|
]
|
||||||
|
],
|
||||||
|
topLevel: [
|
||||||
|
// whitespace
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
{ include: "@constant" },
|
||||||
|
[/=/, "operators"],
|
||||||
|
[/[;.]/, "delimiter"],
|
||||||
|
[
|
||||||
|
/@fullIdentifier/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
option: { token: "keyword", next: "@option.$S2" },
|
||||||
|
enum: { token: "keyword", next: "@enumDecl.$S2" },
|
||||||
|
message: { token: "keyword", next: "@messageDecl.$S2" },
|
||||||
|
service: { token: "keyword", next: "@serviceDecl.$S2" },
|
||||||
|
extend: {
|
||||||
|
cases: {
|
||||||
|
"$S2==proto2": { token: "keyword", next: "@extendDecl.$S2" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@keywords": "keyword",
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
enumDecl: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
[/@identifier/, "type.identifier"],
|
||||||
|
[/{/, { token: "@brackets", bracket: "@open", switchTo: "@enumBody.$S2" }]
|
||||||
|
],
|
||||||
|
enumBody: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
{ include: "@constant" },
|
||||||
|
[/=/, "operators"],
|
||||||
|
[/;/, "delimiter"],
|
||||||
|
[/option\b/, "keyword", "@option.$S2"],
|
||||||
|
[/@identifier/, "identifier"],
|
||||||
|
[/\[/, { token: "@brackets", bracket: "@open", next: "@options.$S2" }],
|
||||||
|
[/}/, { token: "@brackets", bracket: "@close", next: "@pop" }]
|
||||||
|
],
|
||||||
|
messageDecl: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
[/@identifier/, "type.identifier"],
|
||||||
|
[/{/, { token: "@brackets", bracket: "@open", switchTo: "@messageBody.$S2" }]
|
||||||
|
],
|
||||||
|
messageBody: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
{ include: "@constant" },
|
||||||
|
[/=/, "operators"],
|
||||||
|
[/;/, "delimiter"],
|
||||||
|
[
|
||||||
|
"(map)(s*)(<)",
|
||||||
|
["keyword", "white", { token: "@brackets", bracket: "@open", next: "@map.$S2" }]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/@identifier/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
option: { token: "keyword", next: "@option.$S2" },
|
||||||
|
enum: { token: "keyword", next: "@enumDecl.$S2" },
|
||||||
|
message: { token: "keyword", next: "@messageDecl.$S2" },
|
||||||
|
oneof: { token: "keyword", next: "@oneofDecl.$S2" },
|
||||||
|
extensions: {
|
||||||
|
cases: {
|
||||||
|
"$S2==proto2": { token: "keyword", next: "@reserved.$S2" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
reserved: { token: "keyword", next: "@reserved.$S2" },
|
||||||
|
"(?:repeated|optional)": { token: "keyword", next: "@field.$S2" },
|
||||||
|
required: {
|
||||||
|
cases: {
|
||||||
|
"$S2==proto2": { token: "keyword", next: "@field.$S2" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"$S2==proto3": { token: "@rematch", next: "@field.$S2" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/\[/, { token: "@brackets", bracket: "@open", next: "@options.$S2" }],
|
||||||
|
[/}/, { token: "@brackets", bracket: "@close", next: "@pop" }]
|
||||||
|
],
|
||||||
|
extendDecl: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
[/@identifier/, "type.identifier"],
|
||||||
|
[/{/, { token: "@brackets", bracket: "@open", switchTo: "@extendBody.$S2" }]
|
||||||
|
],
|
||||||
|
extendBody: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
{ include: "@constant" },
|
||||||
|
[/;/, "delimiter"],
|
||||||
|
[/(?:repeated|optional|required)/, "keyword", "@field.$S2"],
|
||||||
|
[/\[/, { token: "@brackets", bracket: "@open", next: "@options.$S2" }],
|
||||||
|
[/}/, { token: "@brackets", bracket: "@close", next: "@pop" }]
|
||||||
|
],
|
||||||
|
options: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
{ include: "@constant" },
|
||||||
|
[/;/, "delimiter"],
|
||||||
|
[/@optionName/, "annotation"],
|
||||||
|
[/[()]/, "annotation.brackets"],
|
||||||
|
[/=/, "operator"],
|
||||||
|
[/\]/, { token: "@brackets", bracket: "@close", next: "@pop" }]
|
||||||
|
],
|
||||||
|
option: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
[/@optionName/, "annotation"],
|
||||||
|
[/[()]/, "annotation.brackets"],
|
||||||
|
[/=/, "operator", "@pop"]
|
||||||
|
],
|
||||||
|
oneofDecl: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
[/@identifier/, "identifier"],
|
||||||
|
[/{/, { token: "@brackets", bracket: "@open", switchTo: "@oneofBody.$S2" }]
|
||||||
|
],
|
||||||
|
oneofBody: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
{ include: "@constant" },
|
||||||
|
[/;/, "delimiter"],
|
||||||
|
[/(@identifier)(\s*)(=)/, ["identifier", "white", "delimiter"]],
|
||||||
|
[
|
||||||
|
/@fullIdentifier|\./,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@builtinTypes": "keyword",
|
||||||
|
"@default": "type.identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/\[/, { token: "@brackets", bracket: "@open", next: "@options.$S2" }],
|
||||||
|
[/}/, { token: "@brackets", bracket: "@close", next: "@pop" }]
|
||||||
|
],
|
||||||
|
reserved: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
[/,/, "delimiter"],
|
||||||
|
[/;/, "delimiter", "@pop"],
|
||||||
|
{ include: "@constant" },
|
||||||
|
[/to\b|max\b/, "keyword"]
|
||||||
|
],
|
||||||
|
map: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
[
|
||||||
|
/@fullIdentifier|\./,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@builtinTypes": "keyword",
|
||||||
|
"@default": "type.identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/,/, "delimiter"],
|
||||||
|
[/>/, { token: "@brackets", bracket: "@close", switchTo: "identifier" }]
|
||||||
|
],
|
||||||
|
field: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
[
|
||||||
|
"group",
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$S2==proto2": { token: "keyword", switchTo: "@groupDecl.$S2" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/(@identifier)(\s*)(=)/, ["identifier", "white", { token: "delimiter", next: "@pop" }]],
|
||||||
|
[
|
||||||
|
/@fullIdentifier|\./,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@builtinTypes": "keyword",
|
||||||
|
"@default": "type.identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
groupDecl: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
[/@identifier/, "identifier"],
|
||||||
|
["=", "operator"],
|
||||||
|
[/{/, { token: "@brackets", bracket: "@open", switchTo: "@messageBody.$S2" }],
|
||||||
|
{ include: "@constant" }
|
||||||
|
],
|
||||||
|
type: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
[/@identifier/, "type.identifier", "@pop"],
|
||||||
|
[/./, "delimiter"]
|
||||||
|
],
|
||||||
|
identifier: [{ include: "@whitespace" }, [/@identifier/, "identifier", "@pop"]],
|
||||||
|
serviceDecl: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
[/@identifier/, "identifier"],
|
||||||
|
[/{/, { token: "@brackets", bracket: "@open", switchTo: "@serviceBody.$S2" }]
|
||||||
|
],
|
||||||
|
serviceBody: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
{ include: "@constant" },
|
||||||
|
[/;/, "delimiter"],
|
||||||
|
[/option\b/, "keyword", "@option.$S2"],
|
||||||
|
[/rpc\b/, "keyword", "@rpc.$S2"],
|
||||||
|
[/\[/, { token: "@brackets", bracket: "@open", next: "@options.$S2" }],
|
||||||
|
[/}/, { token: "@brackets", bracket: "@close", next: "@pop" }]
|
||||||
|
],
|
||||||
|
rpc: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
[/@identifier/, "identifier"],
|
||||||
|
[/\(/, { token: "@brackets", bracket: "@open", switchTo: "@request.$S2" }],
|
||||||
|
[/{/, { token: "@brackets", bracket: "@open", next: "@methodOptions.$S2" }],
|
||||||
|
[/;/, "delimiter", "@pop"]
|
||||||
|
],
|
||||||
|
request: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
[
|
||||||
|
/@messageType/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
stream: { token: "keyword", next: "@type.$S2" },
|
||||||
|
"@default": "type.identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/\)/, { token: "@brackets", bracket: "@close", switchTo: "@returns.$S2" }]
|
||||||
|
],
|
||||||
|
returns: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
[/returns\b/, "keyword"],
|
||||||
|
[/\(/, { token: "@brackets", bracket: "@open", switchTo: "@response.$S2" }]
|
||||||
|
],
|
||||||
|
response: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
[
|
||||||
|
/@messageType/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
stream: { token: "keyword", next: "@type.$S2" },
|
||||||
|
"@default": "type.identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/\)/, { token: "@brackets", bracket: "@close", switchTo: "@rpc.$S2" }]
|
||||||
|
],
|
||||||
|
methodOptions: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
{ include: "@constant" },
|
||||||
|
[/;/, "delimiter"],
|
||||||
|
["option", "keyword"],
|
||||||
|
[/@optionName/, "annotation"],
|
||||||
|
[/[()]/, "annotation.brackets"],
|
||||||
|
[/=/, "operator"],
|
||||||
|
[/}/, { token: "@brackets", bracket: "@close", next: "@pop" }]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
[/[^\/*]+/, "comment"],
|
||||||
|
[/\/\*/, "comment", "@push"],
|
||||||
|
// nested comment
|
||||||
|
["\\*/", "comment", "@pop"],
|
||||||
|
[/[\/*]/, "comment"]
|
||||||
|
],
|
||||||
|
string: [
|
||||||
|
[/[^\\"]+/, "string"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/\\./, "string.escape.invalid"],
|
||||||
|
[/"/, { token: "string.quote", bracket: "@close", next: "@pop" }]
|
||||||
|
],
|
||||||
|
stringSingle: [
|
||||||
|
[/[^\\']+/, "string"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/\\./, "string.escape.invalid"],
|
||||||
|
[/'/, { token: "string.quote", bracket: "@close", next: "@pop" }]
|
||||||
|
],
|
||||||
|
constant: [
|
||||||
|
["@boolLit", "keyword.constant"],
|
||||||
|
["@hexLit", "number.hex"],
|
||||||
|
["@octalLit", "number.octal"],
|
||||||
|
["@decimalLit", "number"],
|
||||||
|
["@floatLit", "number.float"],
|
||||||
|
[/("([^"\\]|\\.)*|'([^'\\]|\\.)*)$/, "string.invalid"],
|
||||||
|
// non-terminated string
|
||||||
|
[/"/, { token: "string.quote", bracket: "@open", next: "@string" }],
|
||||||
|
[/'/, { token: "string.quote", bracket: "@open", next: "@stringSingle" }],
|
||||||
|
[/{/, { token: "@brackets", bracket: "@open", next: "@prototext" }],
|
||||||
|
[/identifier/, "identifier"]
|
||||||
|
],
|
||||||
|
whitespace: [
|
||||||
|
[/[ \t\r\n]+/, "white"],
|
||||||
|
[/\/\*/, "comment", "@comment"],
|
||||||
|
[/\/\/.*$/, "comment"]
|
||||||
|
],
|
||||||
|
prototext: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
{ include: "@constant" },
|
||||||
|
[/@identifier/, "identifier"],
|
||||||
|
[/[:;]/, "delimiter"],
|
||||||
|
[/}/, { token: "@brackets", bracket: "@close", next: "@pop" }]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
405
_internal/editor/dev/vs/pug-BIApPNjT.js
Normal file
405
_internal/editor/dev/vs/pug-BIApPNjT.js
Normal file
@@ -0,0 +1,405 @@
|
|||||||
|
define("vs/pug-BIApPNjT", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: "//"
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: '"', close: '"', notIn: ["string", "comment"] },
|
||||||
|
{ open: "'", close: "'", notIn: ["string", "comment"] },
|
||||||
|
{ open: "{", close: "}", notIn: ["string", "comment"] },
|
||||||
|
{ open: "[", close: "]", notIn: ["string", "comment"] },
|
||||||
|
{ open: "(", close: ")", notIn: ["string", "comment"] }
|
||||||
|
],
|
||||||
|
folding: {
|
||||||
|
offSide: true
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".pug",
|
||||||
|
ignoreCase: true,
|
||||||
|
brackets: [
|
||||||
|
{ token: "delimiter.curly", open: "{", close: "}" },
|
||||||
|
{ token: "delimiter.array", open: "[", close: "]" },
|
||||||
|
{ token: "delimiter.parenthesis", open: "(", close: ")" }
|
||||||
|
],
|
||||||
|
keywords: [
|
||||||
|
"append",
|
||||||
|
"block",
|
||||||
|
"case",
|
||||||
|
"default",
|
||||||
|
"doctype",
|
||||||
|
"each",
|
||||||
|
"else",
|
||||||
|
"extends",
|
||||||
|
"for",
|
||||||
|
"if",
|
||||||
|
"in",
|
||||||
|
"include",
|
||||||
|
"mixin",
|
||||||
|
"typeof",
|
||||||
|
"unless",
|
||||||
|
"var",
|
||||||
|
"when"
|
||||||
|
],
|
||||||
|
tags: [
|
||||||
|
"a",
|
||||||
|
"abbr",
|
||||||
|
"acronym",
|
||||||
|
"address",
|
||||||
|
"area",
|
||||||
|
"article",
|
||||||
|
"aside",
|
||||||
|
"audio",
|
||||||
|
"b",
|
||||||
|
"base",
|
||||||
|
"basefont",
|
||||||
|
"bdi",
|
||||||
|
"bdo",
|
||||||
|
"blockquote",
|
||||||
|
"body",
|
||||||
|
"br",
|
||||||
|
"button",
|
||||||
|
"canvas",
|
||||||
|
"caption",
|
||||||
|
"center",
|
||||||
|
"cite",
|
||||||
|
"code",
|
||||||
|
"col",
|
||||||
|
"colgroup",
|
||||||
|
"command",
|
||||||
|
"datalist",
|
||||||
|
"dd",
|
||||||
|
"del",
|
||||||
|
"details",
|
||||||
|
"dfn",
|
||||||
|
"div",
|
||||||
|
"dl",
|
||||||
|
"dt",
|
||||||
|
"em",
|
||||||
|
"embed",
|
||||||
|
"fieldset",
|
||||||
|
"figcaption",
|
||||||
|
"figure",
|
||||||
|
"font",
|
||||||
|
"footer",
|
||||||
|
"form",
|
||||||
|
"frame",
|
||||||
|
"frameset",
|
||||||
|
"h1",
|
||||||
|
"h2",
|
||||||
|
"h3",
|
||||||
|
"h4",
|
||||||
|
"h5",
|
||||||
|
"h6",
|
||||||
|
"head",
|
||||||
|
"header",
|
||||||
|
"hgroup",
|
||||||
|
"hr",
|
||||||
|
"html",
|
||||||
|
"i",
|
||||||
|
"iframe",
|
||||||
|
"img",
|
||||||
|
"input",
|
||||||
|
"ins",
|
||||||
|
"keygen",
|
||||||
|
"kbd",
|
||||||
|
"label",
|
||||||
|
"li",
|
||||||
|
"link",
|
||||||
|
"map",
|
||||||
|
"mark",
|
||||||
|
"menu",
|
||||||
|
"meta",
|
||||||
|
"meter",
|
||||||
|
"nav",
|
||||||
|
"noframes",
|
||||||
|
"noscript",
|
||||||
|
"object",
|
||||||
|
"ol",
|
||||||
|
"optgroup",
|
||||||
|
"option",
|
||||||
|
"output",
|
||||||
|
"p",
|
||||||
|
"param",
|
||||||
|
"pre",
|
||||||
|
"progress",
|
||||||
|
"q",
|
||||||
|
"rp",
|
||||||
|
"rt",
|
||||||
|
"ruby",
|
||||||
|
"s",
|
||||||
|
"samp",
|
||||||
|
"script",
|
||||||
|
"section",
|
||||||
|
"select",
|
||||||
|
"small",
|
||||||
|
"source",
|
||||||
|
"span",
|
||||||
|
"strike",
|
||||||
|
"strong",
|
||||||
|
"style",
|
||||||
|
"sub",
|
||||||
|
"summary",
|
||||||
|
"sup",
|
||||||
|
"table",
|
||||||
|
"tbody",
|
||||||
|
"td",
|
||||||
|
"textarea",
|
||||||
|
"tfoot",
|
||||||
|
"th",
|
||||||
|
"thead",
|
||||||
|
"time",
|
||||||
|
"title",
|
||||||
|
"tr",
|
||||||
|
"tracks",
|
||||||
|
"tt",
|
||||||
|
"u",
|
||||||
|
"ul",
|
||||||
|
"video",
|
||||||
|
"wbr"
|
||||||
|
],
|
||||||
|
// 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})/,
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
// Tag or a keyword at start
|
||||||
|
[
|
||||||
|
/^(\s*)([a-zA-Z_-][\w-]*)/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$2@tags": {
|
||||||
|
cases: {
|
||||||
|
"@eos": ["", "tag"],
|
||||||
|
"@default": ["", { token: "tag", next: "@tag.$1" }]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"$2@keywords": ["", { token: "keyword.$2" }],
|
||||||
|
"@default": ["", ""]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// id
|
||||||
|
[
|
||||||
|
/^(\s*)(#[a-zA-Z_-][\w-]*)/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@eos": ["", "tag.id"],
|
||||||
|
"@default": ["", { token: "tag.id", next: "@tag.$1" }]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// class
|
||||||
|
[
|
||||||
|
/^(\s*)(\.[a-zA-Z_-][\w-]*)/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@eos": ["", "tag.class"],
|
||||||
|
"@default": ["", { token: "tag.class", next: "@tag.$1" }]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// plain text with pipe
|
||||||
|
[/^(\s*)(\|.*)$/, ""],
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
// keywords
|
||||||
|
[
|
||||||
|
/[a-zA-Z_$][\w$]*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@keywords": { token: "keyword.$0" },
|
||||||
|
"@default": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// delimiters and operators
|
||||||
|
[/[{}()\[\]]/, "@brackets"],
|
||||||
|
[/@symbols/, "delimiter"],
|
||||||
|
// numbers
|
||||||
|
[/\d+\.\d+([eE][\-+]?\d+)?/, "number.float"],
|
||||||
|
[/\d+/, "number"],
|
||||||
|
// strings:
|
||||||
|
[/"/, "string", '@string."'],
|
||||||
|
[/'/, "string", "@string.'"]
|
||||||
|
],
|
||||||
|
tag: [
|
||||||
|
[/(\.)(\s*$)/, [{ token: "delimiter", next: "@blockText.$S2." }, ""]],
|
||||||
|
[/\s+/, { token: "", next: "@simpleText" }],
|
||||||
|
// id
|
||||||
|
[
|
||||||
|
/#[a-zA-Z_-][\w-]*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@eos": { token: "tag.id", next: "@pop" },
|
||||||
|
"@default": "tag.id"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// class
|
||||||
|
[
|
||||||
|
/\.[a-zA-Z_-][\w-]*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@eos": { token: "tag.class", next: "@pop" },
|
||||||
|
"@default": "tag.class"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// attributes
|
||||||
|
[/\(/, { token: "delimiter.parenthesis", next: "@attributeList" }]
|
||||||
|
],
|
||||||
|
simpleText: [
|
||||||
|
[/[^#]+$/, { token: "", next: "@popall" }],
|
||||||
|
[/[^#]+/, { token: "" }],
|
||||||
|
// interpolation
|
||||||
|
[
|
||||||
|
/(#{)([^}]*)(})/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@eos": [
|
||||||
|
"interpolation.delimiter",
|
||||||
|
"interpolation",
|
||||||
|
{
|
||||||
|
token: "interpolation.delimiter",
|
||||||
|
next: "@popall"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"@default": ["interpolation.delimiter", "interpolation", "interpolation.delimiter"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/#$/, { token: "", next: "@popall" }],
|
||||||
|
[/#/, ""]
|
||||||
|
],
|
||||||
|
attributeList: [
|
||||||
|
[/\s+/, ""],
|
||||||
|
[
|
||||||
|
/(\w+)(\s*=\s*)("|')/,
|
||||||
|
["attribute.name", "delimiter", { token: "attribute.value", next: "@value.$3" }]
|
||||||
|
],
|
||||||
|
[/\w+/, "attribute.name"],
|
||||||
|
[
|
||||||
|
/,/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@eos": {
|
||||||
|
token: "attribute.delimiter",
|
||||||
|
next: "@popall"
|
||||||
|
},
|
||||||
|
"@default": "attribute.delimiter"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/\)$/, { token: "delimiter.parenthesis", next: "@popall" }],
|
||||||
|
[/\)/, { token: "delimiter.parenthesis", next: "@pop" }]
|
||||||
|
],
|
||||||
|
whitespace: [
|
||||||
|
[/^(\s*)(\/\/.*)$/, { token: "comment", next: "@blockText.$1.comment" }],
|
||||||
|
[/[ \t\r\n]+/, ""],
|
||||||
|
[/<!--/, { token: "comment", next: "@comment" }]
|
||||||
|
],
|
||||||
|
blockText: [
|
||||||
|
[
|
||||||
|
/^\s+.*$/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"($S2\\s+.*$)": { token: "$S3" },
|
||||||
|
"@default": { token: "@rematch", next: "@popall" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/./, { token: "@rematch", next: "@popall" }]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
[/[^<\-]+/, "comment.content"],
|
||||||
|
[/-->/, { token: "comment", next: "@pop" }],
|
||||||
|
[/<!--/, "comment.content.invalid"],
|
||||||
|
[/[<\-]/, "comment.content"]
|
||||||
|
],
|
||||||
|
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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// interpolation
|
||||||
|
[/(#{)([^}]*)(})/, ["interpolation.delimiter", "interpolation", "interpolation.delimiter"]],
|
||||||
|
[/#/, "string"],
|
||||||
|
[
|
||||||
|
/["']/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$#==$S2": { token: "string", next: "@pop" },
|
||||||
|
"@default": { token: "string" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
// Almost identical to above, except for escapes and the output token
|
||||||
|
value: [
|
||||||
|
[
|
||||||
|
/[^\\"']+/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@eos": { token: "attribute.value", next: "@popall" },
|
||||||
|
"@default": "attribute.value"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/\\./,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@eos": { token: "attribute.value", next: "@popall" },
|
||||||
|
"@default": "attribute.value"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/["']/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$#==$S2": { token: "attribute.value", next: "@pop" },
|
||||||
|
"@default": { token: "attribute.value" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
296
_internal/editor/dev/vs/python-CSlobbnO.js
Normal file
296
_internal/editor/dev/vs/python-CSlobbnO.js
Normal file
@@ -0,0 +1,296 @@
|
|||||||
|
define("vs/python-CSlobbnO", ["exports", "./editor.api-BhD7pWdi"], (function(exports, editor_api) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
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: "'" }
|
||||||
|
],
|
||||||
|
onEnterRules: [
|
||||||
|
{
|
||||||
|
beforeText: new RegExp(
|
||||||
|
"^\\s*(?:def|class|for|if|elif|else|while|try|with|finally|except|async|match|case).*?:\\s*$"
|
||||||
|
),
|
||||||
|
action: { indentAction: editor_api.languages.IndentAction.Indent }
|
||||||
|
}
|
||||||
|
],
|
||||||
|
folding: {
|
||||||
|
offSide: true,
|
||||||
|
markers: {
|
||||||
|
start: new RegExp("^\\s*#region\\b"),
|
||||||
|
end: new RegExp("^\\s*#endregion\\b")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".python",
|
||||||
|
keywords: [
|
||||||
|
// This section is the result of running
|
||||||
|
// `import keyword; for k in sorted(keyword.kwlist + keyword.softkwlist): print(" '" + k + "',")`
|
||||||
|
// in a Python REPL,
|
||||||
|
// though note that the output from Python 3 is not a strict superset of the
|
||||||
|
// output from Python 2.
|
||||||
|
"False",
|
||||||
|
// promoted to keyword.kwlist in Python 3
|
||||||
|
"None",
|
||||||
|
// promoted to keyword.kwlist in Python 3
|
||||||
|
"True",
|
||||||
|
// promoted to keyword.kwlist in Python 3
|
||||||
|
"_",
|
||||||
|
// new in Python 3.10
|
||||||
|
"and",
|
||||||
|
"as",
|
||||||
|
"assert",
|
||||||
|
"async",
|
||||||
|
// new in Python 3
|
||||||
|
"await",
|
||||||
|
// new in Python 3
|
||||||
|
"break",
|
||||||
|
"case",
|
||||||
|
// new in Python 3.10
|
||||||
|
"class",
|
||||||
|
"continue",
|
||||||
|
"def",
|
||||||
|
"del",
|
||||||
|
"elif",
|
||||||
|
"else",
|
||||||
|
"except",
|
||||||
|
"exec",
|
||||||
|
// Python 2, but not 3.
|
||||||
|
"finally",
|
||||||
|
"for",
|
||||||
|
"from",
|
||||||
|
"global",
|
||||||
|
"if",
|
||||||
|
"import",
|
||||||
|
"in",
|
||||||
|
"is",
|
||||||
|
"lambda",
|
||||||
|
"match",
|
||||||
|
// new in Python 3.10
|
||||||
|
"nonlocal",
|
||||||
|
// new in Python 3
|
||||||
|
"not",
|
||||||
|
"or",
|
||||||
|
"pass",
|
||||||
|
"print",
|
||||||
|
// Python 2, but not 3.
|
||||||
|
"raise",
|
||||||
|
"return",
|
||||||
|
"try",
|
||||||
|
"type",
|
||||||
|
// new in Python 3.12
|
||||||
|
"while",
|
||||||
|
"with",
|
||||||
|
"yield",
|
||||||
|
"int",
|
||||||
|
"float",
|
||||||
|
"long",
|
||||||
|
"complex",
|
||||||
|
"hex",
|
||||||
|
"abs",
|
||||||
|
"all",
|
||||||
|
"any",
|
||||||
|
"apply",
|
||||||
|
"basestring",
|
||||||
|
"bin",
|
||||||
|
"bool",
|
||||||
|
"buffer",
|
||||||
|
"bytearray",
|
||||||
|
"callable",
|
||||||
|
"chr",
|
||||||
|
"classmethod",
|
||||||
|
"cmp",
|
||||||
|
"coerce",
|
||||||
|
"compile",
|
||||||
|
"complex",
|
||||||
|
"delattr",
|
||||||
|
"dict",
|
||||||
|
"dir",
|
||||||
|
"divmod",
|
||||||
|
"enumerate",
|
||||||
|
"eval",
|
||||||
|
"execfile",
|
||||||
|
"file",
|
||||||
|
"filter",
|
||||||
|
"format",
|
||||||
|
"frozenset",
|
||||||
|
"getattr",
|
||||||
|
"globals",
|
||||||
|
"hasattr",
|
||||||
|
"hash",
|
||||||
|
"help",
|
||||||
|
"id",
|
||||||
|
"input",
|
||||||
|
"intern",
|
||||||
|
"isinstance",
|
||||||
|
"issubclass",
|
||||||
|
"iter",
|
||||||
|
"len",
|
||||||
|
"locals",
|
||||||
|
"list",
|
||||||
|
"map",
|
||||||
|
"max",
|
||||||
|
"memoryview",
|
||||||
|
"min",
|
||||||
|
"next",
|
||||||
|
"object",
|
||||||
|
"oct",
|
||||||
|
"open",
|
||||||
|
"ord",
|
||||||
|
"pow",
|
||||||
|
"print",
|
||||||
|
"property",
|
||||||
|
"reversed",
|
||||||
|
"range",
|
||||||
|
"raw_input",
|
||||||
|
"reduce",
|
||||||
|
"reload",
|
||||||
|
"repr",
|
||||||
|
"reversed",
|
||||||
|
"round",
|
||||||
|
"self",
|
||||||
|
"set",
|
||||||
|
"setattr",
|
||||||
|
"slice",
|
||||||
|
"sorted",
|
||||||
|
"staticmethod",
|
||||||
|
"str",
|
||||||
|
"sum",
|
||||||
|
"super",
|
||||||
|
"tuple",
|
||||||
|
"type",
|
||||||
|
"unichr",
|
||||||
|
"unicode",
|
||||||
|
"vars",
|
||||||
|
"xrange",
|
||||||
|
"zip",
|
||||||
|
"__dict__",
|
||||||
|
"__methods__",
|
||||||
|
"__members__",
|
||||||
|
"__class__",
|
||||||
|
"__bases__",
|
||||||
|
"__name__",
|
||||||
|
"__mro__",
|
||||||
|
"__subclasses__",
|
||||||
|
"__init__",
|
||||||
|
"__import__"
|
||||||
|
],
|
||||||
|
brackets: [
|
||||||
|
{ open: "{", close: "}", token: "delimiter.curly" },
|
||||||
|
{ open: "[", close: "]", token: "delimiter.bracket" },
|
||||||
|
{ open: "(", close: ")", token: "delimiter.parenthesis" }
|
||||||
|
],
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
{ include: "@numbers" },
|
||||||
|
{ include: "@strings" },
|
||||||
|
[/[,:;]/, "delimiter"],
|
||||||
|
[/[{}\[\]()]/, "@brackets"],
|
||||||
|
[/@[a-zA-Z_]\w*/, "tag"],
|
||||||
|
[
|
||||||
|
/[a-zA-Z_]\w*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@keywords": "keyword",
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
// Deal with white space, including single and multi-line comments
|
||||||
|
whitespace: [
|
||||||
|
[/\s+/, "white"],
|
||||||
|
[/(^#.*$)/, "comment"],
|
||||||
|
[/'''/, "string", "@endDocString"],
|
||||||
|
[/"""/, "string", "@endDblDocString"]
|
||||||
|
],
|
||||||
|
endDocString: [
|
||||||
|
[/[^']+/, "string"],
|
||||||
|
[/\\'/, "string"],
|
||||||
|
[/'''/, "string", "@popall"],
|
||||||
|
[/'/, "string"]
|
||||||
|
],
|
||||||
|
endDblDocString: [
|
||||||
|
[/[^"]+/, "string"],
|
||||||
|
[/\\"/, "string"],
|
||||||
|
[/"""/, "string", "@popall"],
|
||||||
|
[/"/, "string"]
|
||||||
|
],
|
||||||
|
// Recognize hex, negatives, decimals, imaginaries, longs, and scientific notation
|
||||||
|
numbers: [
|
||||||
|
[/-?0x([abcdef]|[ABCDEF]|\d)+[lL]?/, "number.hex"],
|
||||||
|
[/-?(\d*\.)?\d+([eE][+\-]?\d+)?[jJ]?[lL]?/, "number"]
|
||||||
|
],
|
||||||
|
// Recognize strings, including those broken across lines with \ (but not without)
|
||||||
|
strings: [
|
||||||
|
[/'$/, "string.escape", "@popall"],
|
||||||
|
[/f'{1,3}/, "string.escape", "@fStringBody"],
|
||||||
|
[/'/, "string.escape", "@stringBody"],
|
||||||
|
[/"$/, "string.escape", "@popall"],
|
||||||
|
[/f"{1,3}/, "string.escape", "@fDblStringBody"],
|
||||||
|
[/"/, "string.escape", "@dblStringBody"]
|
||||||
|
],
|
||||||
|
fStringBody: [
|
||||||
|
[/[^\\'\{\}]+$/, "string", "@popall"],
|
||||||
|
[/[^\\'\{\}]+/, "string"],
|
||||||
|
[/\{[^\}':!=]+/, "identifier", "@fStringDetail"],
|
||||||
|
[/\\./, "string"],
|
||||||
|
[/'/, "string.escape", "@popall"],
|
||||||
|
[/\\$/, "string"]
|
||||||
|
],
|
||||||
|
stringBody: [
|
||||||
|
[/[^\\']+$/, "string", "@popall"],
|
||||||
|
[/[^\\']+/, "string"],
|
||||||
|
[/\\./, "string"],
|
||||||
|
[/'/, "string.escape", "@popall"],
|
||||||
|
[/\\$/, "string"]
|
||||||
|
],
|
||||||
|
fDblStringBody: [
|
||||||
|
[/[^\\"\{\}]+$/, "string", "@popall"],
|
||||||
|
[/[^\\"\{\}]+/, "string"],
|
||||||
|
[/\{[^\}':!=]+/, "identifier", "@fStringDetail"],
|
||||||
|
[/\\./, "string"],
|
||||||
|
[/"/, "string.escape", "@popall"],
|
||||||
|
[/\\$/, "string"]
|
||||||
|
],
|
||||||
|
dblStringBody: [
|
||||||
|
[/[^\\"]+$/, "string", "@popall"],
|
||||||
|
[/[^\\"]+/, "string"],
|
||||||
|
[/\\./, "string"],
|
||||||
|
[/"/, "string.escape", "@popall"],
|
||||||
|
[/\\$/, "string"]
|
||||||
|
],
|
||||||
|
fStringDetail: [
|
||||||
|
[/[:][^}]+/, "string"],
|
||||||
|
[/[!][ars]/, "string"],
|
||||||
|
// only !a, !r, !s are supported by f-strings: https://docs.python.org/3/tutorial/inputoutput.html#formatted-string-literals
|
||||||
|
[/=/, "string"],
|
||||||
|
[/\}/, "identifier", "@pop"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
304
_internal/editor/dev/vs/qsharp-BzyhV8V4.js
Normal file
304
_internal/editor/dev/vs/qsharp-BzyhV8V4.js
Normal file
@@ -0,0 +1,304 @@
|
|||||||
|
define("vs/qsharp-BzyhV8V4", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: "//"
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"', notIn: ["string", "comment"] }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' }
|
||||||
|
]
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
// Set defaultToken to invalid to see what you do not tokenize yet
|
||||||
|
keywords: [
|
||||||
|
"namespace",
|
||||||
|
"open",
|
||||||
|
"import",
|
||||||
|
"export",
|
||||||
|
"as",
|
||||||
|
"operation",
|
||||||
|
"function",
|
||||||
|
"body",
|
||||||
|
"adjoint",
|
||||||
|
"newtype",
|
||||||
|
"struct",
|
||||||
|
"controlled",
|
||||||
|
"if",
|
||||||
|
"elif",
|
||||||
|
"else",
|
||||||
|
"repeat",
|
||||||
|
"until",
|
||||||
|
"fixup",
|
||||||
|
"for",
|
||||||
|
"in",
|
||||||
|
"while",
|
||||||
|
"return",
|
||||||
|
"fail",
|
||||||
|
"within",
|
||||||
|
"apply",
|
||||||
|
"Adjoint",
|
||||||
|
"Controlled",
|
||||||
|
"Adj",
|
||||||
|
"Ctl",
|
||||||
|
"is",
|
||||||
|
"self",
|
||||||
|
"auto",
|
||||||
|
"distribute",
|
||||||
|
"invert",
|
||||||
|
"intrinsic",
|
||||||
|
"let",
|
||||||
|
"set",
|
||||||
|
"w/",
|
||||||
|
"new",
|
||||||
|
"not",
|
||||||
|
"and",
|
||||||
|
"or",
|
||||||
|
"use",
|
||||||
|
"borrow",
|
||||||
|
"using",
|
||||||
|
"borrowing",
|
||||||
|
"mutable",
|
||||||
|
"internal"
|
||||||
|
],
|
||||||
|
typeKeywords: [
|
||||||
|
"Unit",
|
||||||
|
"Int",
|
||||||
|
"BigInt",
|
||||||
|
"Double",
|
||||||
|
"Bool",
|
||||||
|
"String",
|
||||||
|
"Qubit",
|
||||||
|
"Result",
|
||||||
|
"Pauli",
|
||||||
|
"Range"
|
||||||
|
],
|
||||||
|
invalidKeywords: [
|
||||||
|
"abstract",
|
||||||
|
"base",
|
||||||
|
"bool",
|
||||||
|
"break",
|
||||||
|
"byte",
|
||||||
|
"case",
|
||||||
|
"catch",
|
||||||
|
"char",
|
||||||
|
"checked",
|
||||||
|
"class",
|
||||||
|
"const",
|
||||||
|
"continue",
|
||||||
|
"decimal",
|
||||||
|
"default",
|
||||||
|
"delegate",
|
||||||
|
"do",
|
||||||
|
"double",
|
||||||
|
"enum",
|
||||||
|
"event",
|
||||||
|
"explicit",
|
||||||
|
"extern",
|
||||||
|
"finally",
|
||||||
|
"fixed",
|
||||||
|
"float",
|
||||||
|
"foreach",
|
||||||
|
"goto",
|
||||||
|
"implicit",
|
||||||
|
"int",
|
||||||
|
"interface",
|
||||||
|
"lock",
|
||||||
|
"long",
|
||||||
|
"null",
|
||||||
|
"object",
|
||||||
|
"operator",
|
||||||
|
"out",
|
||||||
|
"override",
|
||||||
|
"params",
|
||||||
|
"private",
|
||||||
|
"protected",
|
||||||
|
"public",
|
||||||
|
"readonly",
|
||||||
|
"ref",
|
||||||
|
"sbyte",
|
||||||
|
"sealed",
|
||||||
|
"short",
|
||||||
|
"sizeof",
|
||||||
|
"stackalloc",
|
||||||
|
"static",
|
||||||
|
"string",
|
||||||
|
"switch",
|
||||||
|
"this",
|
||||||
|
"throw",
|
||||||
|
"try",
|
||||||
|
"typeof",
|
||||||
|
"unit",
|
||||||
|
"ulong",
|
||||||
|
"unchecked",
|
||||||
|
"unsafe",
|
||||||
|
"ushort",
|
||||||
|
"virtual",
|
||||||
|
"void",
|
||||||
|
"volatile"
|
||||||
|
],
|
||||||
|
constants: ["true", "false", "PauliI", "PauliX", "PauliY", "PauliZ", "One", "Zero"],
|
||||||
|
builtin: [
|
||||||
|
"X",
|
||||||
|
"Y",
|
||||||
|
"Z",
|
||||||
|
"H",
|
||||||
|
"HY",
|
||||||
|
"S",
|
||||||
|
"T",
|
||||||
|
"SWAP",
|
||||||
|
"CNOT",
|
||||||
|
"CCNOT",
|
||||||
|
"MultiX",
|
||||||
|
"R",
|
||||||
|
"RFrac",
|
||||||
|
"Rx",
|
||||||
|
"Ry",
|
||||||
|
"Rz",
|
||||||
|
"R1",
|
||||||
|
"R1Frac",
|
||||||
|
"Exp",
|
||||||
|
"ExpFrac",
|
||||||
|
"Measure",
|
||||||
|
"M",
|
||||||
|
"MultiM",
|
||||||
|
"Message",
|
||||||
|
"Length",
|
||||||
|
"Assert",
|
||||||
|
"AssertProb",
|
||||||
|
"AssertEqual"
|
||||||
|
],
|
||||||
|
operators: [
|
||||||
|
"and=",
|
||||||
|
"<-",
|
||||||
|
"->",
|
||||||
|
"*",
|
||||||
|
"*=",
|
||||||
|
"@",
|
||||||
|
"!",
|
||||||
|
"^",
|
||||||
|
"^=",
|
||||||
|
":",
|
||||||
|
"::",
|
||||||
|
".",
|
||||||
|
"..",
|
||||||
|
"==",
|
||||||
|
"...",
|
||||||
|
"=",
|
||||||
|
"=>",
|
||||||
|
">",
|
||||||
|
">=",
|
||||||
|
"<",
|
||||||
|
"<=",
|
||||||
|
"-",
|
||||||
|
"-=",
|
||||||
|
"!=",
|
||||||
|
"or=",
|
||||||
|
"%",
|
||||||
|
"%=",
|
||||||
|
"|",
|
||||||
|
"+",
|
||||||
|
"+=",
|
||||||
|
"?",
|
||||||
|
"/",
|
||||||
|
"/=",
|
||||||
|
"&&&",
|
||||||
|
"&&&=",
|
||||||
|
"^^^",
|
||||||
|
"^^^=",
|
||||||
|
">>>",
|
||||||
|
">>>=",
|
||||||
|
"<<<",
|
||||||
|
"<<<=",
|
||||||
|
"|||",
|
||||||
|
"|||=",
|
||||||
|
"~~~",
|
||||||
|
"_",
|
||||||
|
"w/",
|
||||||
|
"w/="
|
||||||
|
],
|
||||||
|
namespaceFollows: ["namespace", "open"],
|
||||||
|
importsFollows: ["import"],
|
||||||
|
symbols: /[=><!~?:&|+\-*\/\^%@._]+/,
|
||||||
|
escapes: /\\[\s\S]/,
|
||||||
|
// The main tokenizer for our languages
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
// identifiers and keywords
|
||||||
|
[
|
||||||
|
/[a-zA-Z_$][\w$]*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@namespaceFollows": {
|
||||||
|
token: "keyword.$0",
|
||||||
|
next: "@namespace"
|
||||||
|
},
|
||||||
|
"@importsFollows": {
|
||||||
|
token: "keyword.$0",
|
||||||
|
next: "@imports"
|
||||||
|
},
|
||||||
|
"@typeKeywords": "type",
|
||||||
|
"@keywords": "keyword",
|
||||||
|
"@constants": "constant",
|
||||||
|
"@builtin": "keyword",
|
||||||
|
"@invalidKeywords": "invalid",
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// whitespace
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
// delimiters and operators
|
||||||
|
[/[{}()\[\]]/, "@brackets"],
|
||||||
|
[/@symbols/, { cases: { "@operators": "operator", "@default": "" } }],
|
||||||
|
// numbers
|
||||||
|
[/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
|
||||||
|
[/\d+/, "number"],
|
||||||
|
// delimiter: after number because of .\d floats
|
||||||
|
[/[;,.]/, "delimiter"],
|
||||||
|
// strings
|
||||||
|
//[/"([^"\\]|\\.)*$/, 'string.invalid' ], // non-terminated string
|
||||||
|
[/"/, { token: "string.quote", bracket: "@open", next: "@string" }]
|
||||||
|
],
|
||||||
|
string: [
|
||||||
|
[/[^\\"]+/, "string"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/"/, { token: "string.quote", bracket: "@close", next: "@pop" }]
|
||||||
|
],
|
||||||
|
namespace: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
[/[A-Za-z]\w*/, "namespace"],
|
||||||
|
[/[\.]/, "delimiter"],
|
||||||
|
["", "", "@pop"]
|
||||||
|
],
|
||||||
|
imports: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
[/[A-Za-z]\w*(?=\.)/, "namespace"],
|
||||||
|
[/[A-Za-z]\w*/, "identifier"],
|
||||||
|
[/\*/, "wildcard"],
|
||||||
|
[/[\.,]/, "delimiter"],
|
||||||
|
["", "", "@pop"]
|
||||||
|
],
|
||||||
|
whitespace: [
|
||||||
|
[/[ \t\r\n]+/, "white"],
|
||||||
|
[/(\/\/).*/, "comment"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
246
_internal/editor/dev/vs/r-BZ_VXAR1.js
Normal file
246
_internal/editor/dev/vs/r-BZ_VXAR1.js
Normal file
@@ -0,0 +1,246 @@
|
|||||||
|
define("vs/r-BZ_VXAR1", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: "#"
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' }
|
||||||
|
]
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".r",
|
||||||
|
roxygen: [
|
||||||
|
"@alias",
|
||||||
|
"@aliases",
|
||||||
|
"@assignee",
|
||||||
|
"@author",
|
||||||
|
"@backref",
|
||||||
|
"@callGraph",
|
||||||
|
"@callGraphDepth",
|
||||||
|
"@callGraphPrimitives",
|
||||||
|
"@concept",
|
||||||
|
"@describeIn",
|
||||||
|
"@description",
|
||||||
|
"@details",
|
||||||
|
"@docType",
|
||||||
|
"@encoding",
|
||||||
|
"@evalNamespace",
|
||||||
|
"@evalRd",
|
||||||
|
"@example",
|
||||||
|
"@examples",
|
||||||
|
"@export",
|
||||||
|
"@exportClass",
|
||||||
|
"@exportMethod",
|
||||||
|
"@exportPattern",
|
||||||
|
"@family",
|
||||||
|
"@field",
|
||||||
|
"@formals",
|
||||||
|
"@format",
|
||||||
|
"@import",
|
||||||
|
"@importClassesFrom",
|
||||||
|
"@importFrom",
|
||||||
|
"@importMethodsFrom",
|
||||||
|
"@include",
|
||||||
|
"@inherit",
|
||||||
|
"@inheritDotParams",
|
||||||
|
"@inheritParams",
|
||||||
|
"@inheritSection",
|
||||||
|
"@keywords",
|
||||||
|
"@md",
|
||||||
|
"@method",
|
||||||
|
"@name",
|
||||||
|
"@noMd",
|
||||||
|
"@noRd",
|
||||||
|
"@note",
|
||||||
|
"@param",
|
||||||
|
"@rawNamespace",
|
||||||
|
"@rawRd",
|
||||||
|
"@rdname",
|
||||||
|
"@references",
|
||||||
|
"@return",
|
||||||
|
"@S3method",
|
||||||
|
"@section",
|
||||||
|
"@seealso",
|
||||||
|
"@setClass",
|
||||||
|
"@slot",
|
||||||
|
"@source",
|
||||||
|
"@template",
|
||||||
|
"@templateVar",
|
||||||
|
"@title",
|
||||||
|
"@TODO",
|
||||||
|
"@usage",
|
||||||
|
"@useDynLib"
|
||||||
|
],
|
||||||
|
constants: [
|
||||||
|
"NULL",
|
||||||
|
"FALSE",
|
||||||
|
"TRUE",
|
||||||
|
"NA",
|
||||||
|
"Inf",
|
||||||
|
"NaN",
|
||||||
|
"NA_integer_",
|
||||||
|
"NA_real_",
|
||||||
|
"NA_complex_",
|
||||||
|
"NA_character_",
|
||||||
|
"T",
|
||||||
|
"F",
|
||||||
|
"LETTERS",
|
||||||
|
"letters",
|
||||||
|
"month.abb",
|
||||||
|
"month.name",
|
||||||
|
"pi",
|
||||||
|
"R.version.string"
|
||||||
|
],
|
||||||
|
keywords: [
|
||||||
|
"break",
|
||||||
|
"next",
|
||||||
|
"return",
|
||||||
|
"if",
|
||||||
|
"else",
|
||||||
|
"for",
|
||||||
|
"in",
|
||||||
|
"repeat",
|
||||||
|
"while",
|
||||||
|
"array",
|
||||||
|
"category",
|
||||||
|
"character",
|
||||||
|
"complex",
|
||||||
|
"double",
|
||||||
|
"function",
|
||||||
|
"integer",
|
||||||
|
"list",
|
||||||
|
"logical",
|
||||||
|
"matrix",
|
||||||
|
"numeric",
|
||||||
|
"vector",
|
||||||
|
"data.frame",
|
||||||
|
"factor",
|
||||||
|
"library",
|
||||||
|
"require",
|
||||||
|
"attach",
|
||||||
|
"detach",
|
||||||
|
"source"
|
||||||
|
],
|
||||||
|
special: ["\\n", "\\r", "\\t", "\\b", "\\a", "\\f", "\\v", "\\'", '\\"', "\\\\"],
|
||||||
|
brackets: [
|
||||||
|
{ open: "{", close: "}", token: "delimiter.curly" },
|
||||||
|
{ open: "[", close: "]", token: "delimiter.bracket" },
|
||||||
|
{ open: "(", close: ")", token: "delimiter.parenthesis" }
|
||||||
|
],
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
{ include: "@numbers" },
|
||||||
|
{ include: "@strings" },
|
||||||
|
[/[{}\[\]()]/, "@brackets"],
|
||||||
|
{ include: "@operators" },
|
||||||
|
[/#'$/, "comment.doc"],
|
||||||
|
[/#'/, "comment.doc", "@roxygen"],
|
||||||
|
[/(^#.*$)/, "comment"],
|
||||||
|
[/\s+/, "white"],
|
||||||
|
[/[,:;]/, "delimiter"],
|
||||||
|
[/@[a-zA-Z]\w*/, "tag"],
|
||||||
|
[
|
||||||
|
/[a-zA-Z]\w*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@keywords": "keyword",
|
||||||
|
"@constants": "constant",
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
// Recognize Roxygen comments
|
||||||
|
roxygen: [
|
||||||
|
[
|
||||||
|
/@\w+/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@roxygen": "tag",
|
||||||
|
"@eos": { token: "comment.doc", next: "@pop" },
|
||||||
|
"@default": "comment.doc"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/\s+/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@eos": { token: "comment.doc", next: "@pop" },
|
||||||
|
"@default": "comment.doc"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/.*/, { token: "comment.doc", next: "@pop" }]
|
||||||
|
],
|
||||||
|
// Recognize positives, negatives, decimals, imaginaries, and scientific notation
|
||||||
|
numbers: [
|
||||||
|
[/0[xX][0-9a-fA-F]+/, "number.hex"],
|
||||||
|
[/-?(\d*\.)?\d+([eE][+\-]?\d+)?/, "number"]
|
||||||
|
],
|
||||||
|
// Recognize operators
|
||||||
|
operators: [
|
||||||
|
[/<{1,2}-/, "operator"],
|
||||||
|
[/->{1,2}/, "operator"],
|
||||||
|
[/%[^%\s]+%/, "operator"],
|
||||||
|
[/\*\*/, "operator"],
|
||||||
|
[/%%/, "operator"],
|
||||||
|
[/&&/, "operator"],
|
||||||
|
[/\|\|/, "operator"],
|
||||||
|
[/<</, "operator"],
|
||||||
|
[/>>/, "operator"],
|
||||||
|
[/[-+=&|!<>^~*/:$]/, "operator"]
|
||||||
|
],
|
||||||
|
// Recognize strings, including those broken across lines
|
||||||
|
strings: [
|
||||||
|
[/'/, "string.escape", "@stringBody"],
|
||||||
|
[/"/, "string.escape", "@dblStringBody"]
|
||||||
|
],
|
||||||
|
stringBody: [
|
||||||
|
[
|
||||||
|
/\\./,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@special": "string",
|
||||||
|
"@default": "error-token"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/'/, "string.escape", "@popall"],
|
||||||
|
[/./, "string"]
|
||||||
|
],
|
||||||
|
dblStringBody: [
|
||||||
|
[
|
||||||
|
/\\./,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@special": "string",
|
||||||
|
"@default": "error-token"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/"/, "string.escape", "@popall"],
|
||||||
|
[/./, "string"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
546
_internal/editor/dev/vs/razor-CcKFJPeA.js
Normal file
546
_internal/editor/dev/vs/razor-CcKFJPeA.js
Normal file
@@ -0,0 +1,546 @@
|
|||||||
|
define("vs/razor-CcKFJPeA", ["exports", "./editor.api-BhD7pWdi"], (function(exports, editor_api) {
|
||||||
|
"use strict";
|
||||||
|
const EMPTY_ELEMENTS = [
|
||||||
|
"area",
|
||||||
|
"base",
|
||||||
|
"br",
|
||||||
|
"col",
|
||||||
|
"embed",
|
||||||
|
"hr",
|
||||||
|
"img",
|
||||||
|
"input",
|
||||||
|
"keygen",
|
||||||
|
"link",
|
||||||
|
"menuitem",
|
||||||
|
"meta",
|
||||||
|
"param",
|
||||||
|
"source",
|
||||||
|
"track",
|
||||||
|
"wbr"
|
||||||
|
];
|
||||||
|
const 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: new RegExp(
|
||||||
|
`<(?!(?:${EMPTY_ELEMENTS.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,
|
||||||
|
"i"
|
||||||
|
),
|
||||||
|
afterText: /^<\/(\w[\w\d]*)\s*>$/i,
|
||||||
|
action: {
|
||||||
|
indentAction: editor_api.languages.IndentAction.IndentOutdent
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
beforeText: new RegExp(
|
||||||
|
`<(?!(?:${EMPTY_ELEMENTS.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,
|
||||||
|
"i"
|
||||||
|
),
|
||||||
|
action: { indentAction: editor_api.languages.IndentAction.Indent }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: "",
|
||||||
|
// ignoreCase: true,
|
||||||
|
// The main tokenizer for our languages
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
[/@@@@/],
|
||||||
|
// text
|
||||||
|
[/@[^@]/, { token: "@rematch", switchTo: "@razorInSimpleState.root" }],
|
||||||
|
[/<!DOCTYPE/, "metatag.html", "@doctype"],
|
||||||
|
[/<!--/, "comment.html", "@comment"],
|
||||||
|
[/(<)([\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"],
|
||||||
|
[/[ \t\r\n]+/],
|
||||||
|
// whitespace
|
||||||
|
[/[^<@]+/]
|
||||||
|
// text
|
||||||
|
],
|
||||||
|
doctype: [
|
||||||
|
[/@[^@]/, { token: "@rematch", switchTo: "@razorInSimpleState.comment" }],
|
||||||
|
[/[^>]+/, "metatag.content.html"],
|
||||||
|
[/>/, "metatag.html", "@pop"]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
[/@[^@]/, { token: "@rematch", switchTo: "@razorInSimpleState.comment" }],
|
||||||
|
[/-->/, "comment.html", "@pop"],
|
||||||
|
[/[^-]+/, "comment.content.html"],
|
||||||
|
[/./, "comment.content.html"]
|
||||||
|
],
|
||||||
|
otherTag: [
|
||||||
|
[/@[^@]/, { token: "@rematch", switchTo: "@razorInSimpleState.otherTag" }],
|
||||||
|
[/\/?>/, "delimiter.html", "@pop"],
|
||||||
|
[/"([^"]*)"/, "attribute.value"],
|
||||||
|
[/'([^']*)'/, "attribute.value"],
|
||||||
|
[/[\w\-]+/, "attribute.name"],
|
||||||
|
[/=/, "delimiter"],
|
||||||
|
[/[ \t\r\n]+/]
|
||||||
|
// whitespace
|
||||||
|
],
|
||||||
|
// -- BEGIN <script> tags handling
|
||||||
|
// After <script
|
||||||
|
script: [
|
||||||
|
[/@[^@]/, { token: "@rematch", switchTo: "@razorInSimpleState.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]+/],
|
||||||
|
// whitespace
|
||||||
|
[
|
||||||
|
/(<\/)(script\s*)(>)/,
|
||||||
|
["delimiter.html", "tag.html", { token: "delimiter.html", next: "@pop" }]
|
||||||
|
]
|
||||||
|
],
|
||||||
|
// After <script ... type
|
||||||
|
scriptAfterType: [
|
||||||
|
[
|
||||||
|
/@[^@]/,
|
||||||
|
{
|
||||||
|
token: "@rematch",
|
||||||
|
switchTo: "@razorInSimpleState.scriptAfterType"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/=/, "delimiter", "@scriptAfterTypeEquals"],
|
||||||
|
[
|
||||||
|
/>/,
|
||||||
|
{
|
||||||
|
token: "delimiter.html",
|
||||||
|
next: "@scriptEmbedded.text/javascript",
|
||||||
|
nextEmbedded: "text/javascript"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// cover invalid e.g. <script type>
|
||||||
|
[/[ \t\r\n]+/],
|
||||||
|
// whitespace
|
||||||
|
[/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
|
||||||
|
],
|
||||||
|
// After <script ... type =
|
||||||
|
scriptAfterTypeEquals: [
|
||||||
|
[
|
||||||
|
/@[^@]/,
|
||||||
|
{
|
||||||
|
token: "@rematch",
|
||||||
|
switchTo: "@razorInSimpleState.scriptAfterTypeEquals"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/"([^"]*)"/,
|
||||||
|
{
|
||||||
|
token: "attribute.value",
|
||||||
|
switchTo: "@scriptWithCustomType.$1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/'([^']*)'/,
|
||||||
|
{
|
||||||
|
token: "attribute.value",
|
||||||
|
switchTo: "@scriptWithCustomType.$1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/>/,
|
||||||
|
{
|
||||||
|
token: "delimiter.html",
|
||||||
|
next: "@scriptEmbedded.text/javascript",
|
||||||
|
nextEmbedded: "text/javascript"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// cover invalid e.g. <script type=>
|
||||||
|
[/[ \t\r\n]+/],
|
||||||
|
// whitespace
|
||||||
|
[/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
|
||||||
|
],
|
||||||
|
// After <script ... type = $S2
|
||||||
|
scriptWithCustomType: [
|
||||||
|
[
|
||||||
|
/@[^@]/,
|
||||||
|
{
|
||||||
|
token: "@rematch",
|
||||||
|
switchTo: "@razorInSimpleState.scriptWithCustomType.$S2"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/>/,
|
||||||
|
{
|
||||||
|
token: "delimiter.html",
|
||||||
|
next: "@scriptEmbedded.$S2",
|
||||||
|
nextEmbedded: "$S2"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/"([^"]*)"/, "attribute.value"],
|
||||||
|
[/'([^']*)'/, "attribute.value"],
|
||||||
|
[/[\w\-]+/, "attribute.name"],
|
||||||
|
[/=/, "delimiter"],
|
||||||
|
[/[ \t\r\n]+/],
|
||||||
|
// whitespace
|
||||||
|
[/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
|
||||||
|
],
|
||||||
|
scriptEmbedded: [
|
||||||
|
[
|
||||||
|
/@[^@]/,
|
||||||
|
{
|
||||||
|
token: "@rematch",
|
||||||
|
switchTo: "@razorInEmbeddedState.scriptEmbedded.$S2",
|
||||||
|
nextEmbedded: "@pop"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/<\/script/, { token: "@rematch", next: "@pop", nextEmbedded: "@pop" }]
|
||||||
|
],
|
||||||
|
// -- END <script> tags handling
|
||||||
|
// -- BEGIN <style> tags handling
|
||||||
|
// After <style
|
||||||
|
style: [
|
||||||
|
[/@[^@]/, { token: "@rematch", switchTo: "@razorInSimpleState.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]+/],
|
||||||
|
// whitespace
|
||||||
|
[
|
||||||
|
/(<\/)(style\s*)(>)/,
|
||||||
|
["delimiter.html", "tag.html", { token: "delimiter.html", next: "@pop" }]
|
||||||
|
]
|
||||||
|
],
|
||||||
|
// After <style ... type
|
||||||
|
styleAfterType: [
|
||||||
|
[
|
||||||
|
/@[^@]/,
|
||||||
|
{
|
||||||
|
token: "@rematch",
|
||||||
|
switchTo: "@razorInSimpleState.styleAfterType"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/=/, "delimiter", "@styleAfterTypeEquals"],
|
||||||
|
[
|
||||||
|
/>/,
|
||||||
|
{
|
||||||
|
token: "delimiter.html",
|
||||||
|
next: "@styleEmbedded.text/css",
|
||||||
|
nextEmbedded: "text/css"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// cover invalid e.g. <style type>
|
||||||
|
[/[ \t\r\n]+/],
|
||||||
|
// whitespace
|
||||||
|
[/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
|
||||||
|
],
|
||||||
|
// After <style ... type =
|
||||||
|
styleAfterTypeEquals: [
|
||||||
|
[
|
||||||
|
/@[^@]/,
|
||||||
|
{
|
||||||
|
token: "@rematch",
|
||||||
|
switchTo: "@razorInSimpleState.styleAfterTypeEquals"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/"([^"]*)"/,
|
||||||
|
{
|
||||||
|
token: "attribute.value",
|
||||||
|
switchTo: "@styleWithCustomType.$1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/'([^']*)'/,
|
||||||
|
{
|
||||||
|
token: "attribute.value",
|
||||||
|
switchTo: "@styleWithCustomType.$1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/>/,
|
||||||
|
{
|
||||||
|
token: "delimiter.html",
|
||||||
|
next: "@styleEmbedded.text/css",
|
||||||
|
nextEmbedded: "text/css"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// cover invalid e.g. <style type=>
|
||||||
|
[/[ \t\r\n]+/],
|
||||||
|
// whitespace
|
||||||
|
[/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
|
||||||
|
],
|
||||||
|
// After <style ... type = $S2
|
||||||
|
styleWithCustomType: [
|
||||||
|
[
|
||||||
|
/@[^@]/,
|
||||||
|
{
|
||||||
|
token: "@rematch",
|
||||||
|
switchTo: "@razorInSimpleState.styleWithCustomType.$S2"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/>/,
|
||||||
|
{
|
||||||
|
token: "delimiter.html",
|
||||||
|
next: "@styleEmbedded.$S2",
|
||||||
|
nextEmbedded: "$S2"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/"([^"]*)"/, "attribute.value"],
|
||||||
|
[/'([^']*)'/, "attribute.value"],
|
||||||
|
[/[\w\-]+/, "attribute.name"],
|
||||||
|
[/=/, "delimiter"],
|
||||||
|
[/[ \t\r\n]+/],
|
||||||
|
// whitespace
|
||||||
|
[/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
|
||||||
|
],
|
||||||
|
styleEmbedded: [
|
||||||
|
[
|
||||||
|
/@[^@]/,
|
||||||
|
{
|
||||||
|
token: "@rematch",
|
||||||
|
switchTo: "@razorInEmbeddedState.styleEmbedded.$S2",
|
||||||
|
nextEmbedded: "@pop"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/<\/style/, { token: "@rematch", next: "@pop", nextEmbedded: "@pop" }]
|
||||||
|
],
|
||||||
|
// -- END <style> tags handling
|
||||||
|
razorInSimpleState: [
|
||||||
|
[/@\*/, "comment.cs", "@razorBlockCommentTopLevel"],
|
||||||
|
[/@[{(]/, "metatag.cs", "@razorRootTopLevel"],
|
||||||
|
[/(@)(\s*[\w]+)/, ["metatag.cs", { token: "identifier.cs", switchTo: "@$S2.$S3" }]],
|
||||||
|
[/[})]/, { token: "metatag.cs", switchTo: "@$S2.$S3" }],
|
||||||
|
[/\*@/, { token: "comment.cs", switchTo: "@$S2.$S3" }]
|
||||||
|
],
|
||||||
|
razorInEmbeddedState: [
|
||||||
|
[/@\*/, "comment.cs", "@razorBlockCommentTopLevel"],
|
||||||
|
[/@[{(]/, "metatag.cs", "@razorRootTopLevel"],
|
||||||
|
[
|
||||||
|
/(@)(\s*[\w]+)/,
|
||||||
|
[
|
||||||
|
"metatag.cs",
|
||||||
|
{
|
||||||
|
token: "identifier.cs",
|
||||||
|
switchTo: "@$S2.$S3",
|
||||||
|
nextEmbedded: "$S3"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/[})]/,
|
||||||
|
{
|
||||||
|
token: "metatag.cs",
|
||||||
|
switchTo: "@$S2.$S3",
|
||||||
|
nextEmbedded: "$S3"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/\*@/,
|
||||||
|
{
|
||||||
|
token: "comment.cs",
|
||||||
|
switchTo: "@$S2.$S3",
|
||||||
|
nextEmbedded: "$S3"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
razorBlockCommentTopLevel: [
|
||||||
|
[/\*@/, "@rematch", "@pop"],
|
||||||
|
[/[^*]+/, "comment.cs"],
|
||||||
|
[/./, "comment.cs"]
|
||||||
|
],
|
||||||
|
razorBlockComment: [
|
||||||
|
[/\*@/, "comment.cs", "@pop"],
|
||||||
|
[/[^*]+/, "comment.cs"],
|
||||||
|
[/./, "comment.cs"]
|
||||||
|
],
|
||||||
|
razorRootTopLevel: [
|
||||||
|
[/\{/, "delimiter.bracket.cs", "@razorRoot"],
|
||||||
|
[/\(/, "delimiter.parenthesis.cs", "@razorRoot"],
|
||||||
|
[/[})]/, "@rematch", "@pop"],
|
||||||
|
{ include: "razorCommon" }
|
||||||
|
],
|
||||||
|
razorRoot: [
|
||||||
|
[/\{/, "delimiter.bracket.cs", "@razorRoot"],
|
||||||
|
[/\(/, "delimiter.parenthesis.cs", "@razorRoot"],
|
||||||
|
[/\}/, "delimiter.bracket.cs", "@pop"],
|
||||||
|
[/\)/, "delimiter.parenthesis.cs", "@pop"],
|
||||||
|
{ include: "razorCommon" }
|
||||||
|
],
|
||||||
|
razorCommon: [
|
||||||
|
[
|
||||||
|
/[a-zA-Z_]\w*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@razorKeywords": { token: "keyword.cs" },
|
||||||
|
"@default": "identifier.cs"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// brackets
|
||||||
|
[/[\[\]]/, "delimiter.array.cs"],
|
||||||
|
// whitespace
|
||||||
|
[/[ \t\r\n]+/],
|
||||||
|
// comments
|
||||||
|
[/\/\/.*$/, "comment.cs"],
|
||||||
|
[/@\*/, "comment.cs", "@razorBlockComment"],
|
||||||
|
// strings
|
||||||
|
[/"([^"]*)"/, "string.cs"],
|
||||||
|
[/'([^']*)'/, "string.cs"],
|
||||||
|
// simple html
|
||||||
|
[/(<)([\w\-]+)(\/>)/, ["delimiter.html", "tag.html", "delimiter.html"]],
|
||||||
|
[/(<)([\w\-]+)(>)/, ["delimiter.html", "tag.html", "delimiter.html"]],
|
||||||
|
[/(<\/)([\w\-]+)(>)/, ["delimiter.html", "tag.html", "delimiter.html"]],
|
||||||
|
// delimiters
|
||||||
|
[/[\+\-\*\%\&\|\^\~\!\=\<\>\/\?\;\:\.\,]/, "delimiter.cs"],
|
||||||
|
// numbers
|
||||||
|
[/\d*\d+[eE]([\-+]?\d+)?/, "number.float.cs"],
|
||||||
|
[/\d*\.\d+([eE][\-+]?\d+)?/, "number.float.cs"],
|
||||||
|
[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/, "number.hex.cs"],
|
||||||
|
[/0[0-7']*[0-7]/, "number.octal.cs"],
|
||||||
|
[/0[bB][0-1']*[0-1]/, "number.binary.cs"],
|
||||||
|
[/\d[\d']*/, "number.cs"],
|
||||||
|
[/\d/, "number.cs"]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
razorKeywords: [
|
||||||
|
"abstract",
|
||||||
|
"as",
|
||||||
|
"async",
|
||||||
|
"await",
|
||||||
|
"base",
|
||||||
|
"bool",
|
||||||
|
"break",
|
||||||
|
"by",
|
||||||
|
"byte",
|
||||||
|
"case",
|
||||||
|
"catch",
|
||||||
|
"char",
|
||||||
|
"checked",
|
||||||
|
"class",
|
||||||
|
"const",
|
||||||
|
"continue",
|
||||||
|
"decimal",
|
||||||
|
"default",
|
||||||
|
"delegate",
|
||||||
|
"do",
|
||||||
|
"double",
|
||||||
|
"descending",
|
||||||
|
"explicit",
|
||||||
|
"event",
|
||||||
|
"extern",
|
||||||
|
"else",
|
||||||
|
"enum",
|
||||||
|
"false",
|
||||||
|
"finally",
|
||||||
|
"fixed",
|
||||||
|
"float",
|
||||||
|
"for",
|
||||||
|
"foreach",
|
||||||
|
"from",
|
||||||
|
"goto",
|
||||||
|
"group",
|
||||||
|
"if",
|
||||||
|
"implicit",
|
||||||
|
"in",
|
||||||
|
"int",
|
||||||
|
"interface",
|
||||||
|
"internal",
|
||||||
|
"into",
|
||||||
|
"is",
|
||||||
|
"lock",
|
||||||
|
"long",
|
||||||
|
"nameof",
|
||||||
|
"new",
|
||||||
|
"null",
|
||||||
|
"namespace",
|
||||||
|
"object",
|
||||||
|
"operator",
|
||||||
|
"out",
|
||||||
|
"override",
|
||||||
|
"orderby",
|
||||||
|
"params",
|
||||||
|
"private",
|
||||||
|
"protected",
|
||||||
|
"public",
|
||||||
|
"readonly",
|
||||||
|
"ref",
|
||||||
|
"return",
|
||||||
|
"switch",
|
||||||
|
"struct",
|
||||||
|
"sbyte",
|
||||||
|
"sealed",
|
||||||
|
"short",
|
||||||
|
"sizeof",
|
||||||
|
"stackalloc",
|
||||||
|
"static",
|
||||||
|
"string",
|
||||||
|
"select",
|
||||||
|
"this",
|
||||||
|
"throw",
|
||||||
|
"true",
|
||||||
|
"try",
|
||||||
|
"typeof",
|
||||||
|
"uint",
|
||||||
|
"ulong",
|
||||||
|
"unchecked",
|
||||||
|
"unsafe",
|
||||||
|
"ushort",
|
||||||
|
"using",
|
||||||
|
"var",
|
||||||
|
"virtual",
|
||||||
|
"volatile",
|
||||||
|
"void",
|
||||||
|
"when",
|
||||||
|
"while",
|
||||||
|
"where",
|
||||||
|
"yield",
|
||||||
|
"model",
|
||||||
|
"inject"
|
||||||
|
// Razor specific
|
||||||
|
],
|
||||||
|
escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
305
_internal/editor/dev/vs/redis-BVpHZsxd.js
Normal file
305
_internal/editor/dev/vs/redis-BVpHZsxd.js
Normal file
@@ -0,0 +1,305 @@
|
|||||||
|
define("vs/redis-BVpHZsxd", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
]
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".redis",
|
||||||
|
ignoreCase: true,
|
||||||
|
brackets: [
|
||||||
|
{ open: "[", close: "]", token: "delimiter.square" },
|
||||||
|
{ open: "(", close: ")", token: "delimiter.parenthesis" }
|
||||||
|
],
|
||||||
|
keywords: [
|
||||||
|
"APPEND",
|
||||||
|
"AUTH",
|
||||||
|
"BGREWRITEAOF",
|
||||||
|
"BGSAVE",
|
||||||
|
"BITCOUNT",
|
||||||
|
"BITFIELD",
|
||||||
|
"BITOP",
|
||||||
|
"BITPOS",
|
||||||
|
"BLPOP",
|
||||||
|
"BRPOP",
|
||||||
|
"BRPOPLPUSH",
|
||||||
|
"CLIENT",
|
||||||
|
"KILL",
|
||||||
|
"LIST",
|
||||||
|
"GETNAME",
|
||||||
|
"PAUSE",
|
||||||
|
"REPLY",
|
||||||
|
"SETNAME",
|
||||||
|
"CLUSTER",
|
||||||
|
"ADDSLOTS",
|
||||||
|
"COUNT-FAILURE-REPORTS",
|
||||||
|
"COUNTKEYSINSLOT",
|
||||||
|
"DELSLOTS",
|
||||||
|
"FAILOVER",
|
||||||
|
"FORGET",
|
||||||
|
"GETKEYSINSLOT",
|
||||||
|
"INFO",
|
||||||
|
"KEYSLOT",
|
||||||
|
"MEET",
|
||||||
|
"NODES",
|
||||||
|
"REPLICATE",
|
||||||
|
"RESET",
|
||||||
|
"SAVECONFIG",
|
||||||
|
"SET-CONFIG-EPOCH",
|
||||||
|
"SETSLOT",
|
||||||
|
"SLAVES",
|
||||||
|
"SLOTS",
|
||||||
|
"COMMAND",
|
||||||
|
"COUNT",
|
||||||
|
"GETKEYS",
|
||||||
|
"CONFIG",
|
||||||
|
"GET",
|
||||||
|
"REWRITE",
|
||||||
|
"SET",
|
||||||
|
"RESETSTAT",
|
||||||
|
"DBSIZE",
|
||||||
|
"DEBUG",
|
||||||
|
"OBJECT",
|
||||||
|
"SEGFAULT",
|
||||||
|
"DECR",
|
||||||
|
"DECRBY",
|
||||||
|
"DEL",
|
||||||
|
"DISCARD",
|
||||||
|
"DUMP",
|
||||||
|
"ECHO",
|
||||||
|
"EVAL",
|
||||||
|
"EVALSHA",
|
||||||
|
"EXEC",
|
||||||
|
"EXISTS",
|
||||||
|
"EXPIRE",
|
||||||
|
"EXPIREAT",
|
||||||
|
"FLUSHALL",
|
||||||
|
"FLUSHDB",
|
||||||
|
"GEOADD",
|
||||||
|
"GEOHASH",
|
||||||
|
"GEOPOS",
|
||||||
|
"GEODIST",
|
||||||
|
"GEORADIUS",
|
||||||
|
"GEORADIUSBYMEMBER",
|
||||||
|
"GETBIT",
|
||||||
|
"GETRANGE",
|
||||||
|
"GETSET",
|
||||||
|
"HDEL",
|
||||||
|
"HEXISTS",
|
||||||
|
"HGET",
|
||||||
|
"HGETALL",
|
||||||
|
"HINCRBY",
|
||||||
|
"HINCRBYFLOAT",
|
||||||
|
"HKEYS",
|
||||||
|
"HLEN",
|
||||||
|
"HMGET",
|
||||||
|
"HMSET",
|
||||||
|
"HSET",
|
||||||
|
"HSETNX",
|
||||||
|
"HSTRLEN",
|
||||||
|
"HVALS",
|
||||||
|
"INCR",
|
||||||
|
"INCRBY",
|
||||||
|
"INCRBYFLOAT",
|
||||||
|
"KEYS",
|
||||||
|
"LASTSAVE",
|
||||||
|
"LINDEX",
|
||||||
|
"LINSERT",
|
||||||
|
"LLEN",
|
||||||
|
"LPOP",
|
||||||
|
"LPUSH",
|
||||||
|
"LPUSHX",
|
||||||
|
"LRANGE",
|
||||||
|
"LREM",
|
||||||
|
"LSET",
|
||||||
|
"LTRIM",
|
||||||
|
"MGET",
|
||||||
|
"MIGRATE",
|
||||||
|
"MONITOR",
|
||||||
|
"MOVE",
|
||||||
|
"MSET",
|
||||||
|
"MSETNX",
|
||||||
|
"MULTI",
|
||||||
|
"PERSIST",
|
||||||
|
"PEXPIRE",
|
||||||
|
"PEXPIREAT",
|
||||||
|
"PFADD",
|
||||||
|
"PFCOUNT",
|
||||||
|
"PFMERGE",
|
||||||
|
"PING",
|
||||||
|
"PSETEX",
|
||||||
|
"PSUBSCRIBE",
|
||||||
|
"PUBSUB",
|
||||||
|
"PTTL",
|
||||||
|
"PUBLISH",
|
||||||
|
"PUNSUBSCRIBE",
|
||||||
|
"QUIT",
|
||||||
|
"RANDOMKEY",
|
||||||
|
"READONLY",
|
||||||
|
"READWRITE",
|
||||||
|
"RENAME",
|
||||||
|
"RENAMENX",
|
||||||
|
"RESTORE",
|
||||||
|
"ROLE",
|
||||||
|
"RPOP",
|
||||||
|
"RPOPLPUSH",
|
||||||
|
"RPUSH",
|
||||||
|
"RPUSHX",
|
||||||
|
"SADD",
|
||||||
|
"SAVE",
|
||||||
|
"SCARD",
|
||||||
|
"SCRIPT",
|
||||||
|
"FLUSH",
|
||||||
|
"LOAD",
|
||||||
|
"SDIFF",
|
||||||
|
"SDIFFSTORE",
|
||||||
|
"SELECT",
|
||||||
|
"SETBIT",
|
||||||
|
"SETEX",
|
||||||
|
"SETNX",
|
||||||
|
"SETRANGE",
|
||||||
|
"SHUTDOWN",
|
||||||
|
"SINTER",
|
||||||
|
"SINTERSTORE",
|
||||||
|
"SISMEMBER",
|
||||||
|
"SLAVEOF",
|
||||||
|
"SLOWLOG",
|
||||||
|
"SMEMBERS",
|
||||||
|
"SMOVE",
|
||||||
|
"SORT",
|
||||||
|
"SPOP",
|
||||||
|
"SRANDMEMBER",
|
||||||
|
"SREM",
|
||||||
|
"STRLEN",
|
||||||
|
"SUBSCRIBE",
|
||||||
|
"SUNION",
|
||||||
|
"SUNIONSTORE",
|
||||||
|
"SWAPDB",
|
||||||
|
"SYNC",
|
||||||
|
"TIME",
|
||||||
|
"TOUCH",
|
||||||
|
"TTL",
|
||||||
|
"TYPE",
|
||||||
|
"UNSUBSCRIBE",
|
||||||
|
"UNLINK",
|
||||||
|
"UNWATCH",
|
||||||
|
"WAIT",
|
||||||
|
"WATCH",
|
||||||
|
"ZADD",
|
||||||
|
"ZCARD",
|
||||||
|
"ZCOUNT",
|
||||||
|
"ZINCRBY",
|
||||||
|
"ZINTERSTORE",
|
||||||
|
"ZLEXCOUNT",
|
||||||
|
"ZRANGE",
|
||||||
|
"ZRANGEBYLEX",
|
||||||
|
"ZREVRANGEBYLEX",
|
||||||
|
"ZRANGEBYSCORE",
|
||||||
|
"ZRANK",
|
||||||
|
"ZREM",
|
||||||
|
"ZREMRANGEBYLEX",
|
||||||
|
"ZREMRANGEBYRANK",
|
||||||
|
"ZREMRANGEBYSCORE",
|
||||||
|
"ZREVRANGE",
|
||||||
|
"ZREVRANGEBYSCORE",
|
||||||
|
"ZREVRANK",
|
||||||
|
"ZSCORE",
|
||||||
|
"ZUNIONSTORE",
|
||||||
|
"SCAN",
|
||||||
|
"SSCAN",
|
||||||
|
"HSCAN",
|
||||||
|
"ZSCAN"
|
||||||
|
],
|
||||||
|
operators: [
|
||||||
|
// NOT SUPPORTED
|
||||||
|
],
|
||||||
|
builtinFunctions: [
|
||||||
|
// NOT SUPPORTED
|
||||||
|
],
|
||||||
|
builtinVariables: [
|
||||||
|
// NOT SUPPORTED
|
||||||
|
],
|
||||||
|
pseudoColumns: [
|
||||||
|
// NOT SUPPORTED
|
||||||
|
],
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
{ include: "@pseudoColumns" },
|
||||||
|
{ include: "@numbers" },
|
||||||
|
{ include: "@strings" },
|
||||||
|
{ include: "@scopes" },
|
||||||
|
[/[;,.]/, "delimiter"],
|
||||||
|
[/[()]/, "@brackets"],
|
||||||
|
[
|
||||||
|
/[\w@#$]+/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@keywords": "keyword",
|
||||||
|
"@operators": "operator",
|
||||||
|
"@builtinVariables": "predefined",
|
||||||
|
"@builtinFunctions": "predefined",
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/[<>=!%&+\-*/|~^]/, "operator"]
|
||||||
|
],
|
||||||
|
whitespace: [[/\s+/, "white"]],
|
||||||
|
pseudoColumns: [
|
||||||
|
[
|
||||||
|
/[$][A-Za-z_][\w@#$]*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@pseudoColumns": "predefined",
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
numbers: [
|
||||||
|
[/0[xX][0-9a-fA-F]*/, "number"],
|
||||||
|
[/[$][+-]*\d*(\.\d*)?/, "number"],
|
||||||
|
[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/, "number"]
|
||||||
|
],
|
||||||
|
strings: [
|
||||||
|
[/'/, { token: "string", next: "@string" }],
|
||||||
|
[/"/, { token: "string.double", next: "@stringDouble" }]
|
||||||
|
],
|
||||||
|
string: [
|
||||||
|
[/[^']+/, "string"],
|
||||||
|
[/''/, "string"],
|
||||||
|
[/'/, { token: "string", next: "@pop" }]
|
||||||
|
],
|
||||||
|
stringDouble: [
|
||||||
|
[/[^"]+/, "string.double"],
|
||||||
|
[/""/, "string.double"],
|
||||||
|
[/"/, { token: "string.double", next: "@pop" }]
|
||||||
|
],
|
||||||
|
scopes: [
|
||||||
|
// NOT SUPPORTED
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
812
_internal/editor/dev/vs/redshift-DMeYiY_v.js
Normal file
812
_internal/editor/dev/vs/redshift-DMeYiY_v.js
Normal file
@@ -0,0 +1,812 @@
|
|||||||
|
define("vs/redshift-DMeYiY_v", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: "--",
|
||||||
|
blockComment: ["/*", "*/"]
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
]
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".sql",
|
||||||
|
ignoreCase: true,
|
||||||
|
brackets: [
|
||||||
|
{ open: "[", close: "]", token: "delimiter.square" },
|
||||||
|
{ open: "(", close: ")", token: "delimiter.parenthesis" }
|
||||||
|
],
|
||||||
|
keywords: [
|
||||||
|
"AES128",
|
||||||
|
"AES256",
|
||||||
|
"ALL",
|
||||||
|
"ALLOWOVERWRITE",
|
||||||
|
"ANALYSE",
|
||||||
|
"ANALYZE",
|
||||||
|
"AND",
|
||||||
|
"ANY",
|
||||||
|
"ARRAY",
|
||||||
|
"AS",
|
||||||
|
"ASC",
|
||||||
|
"AUTHORIZATION",
|
||||||
|
"AZ64",
|
||||||
|
"BACKUP",
|
||||||
|
"BETWEEN",
|
||||||
|
"BINARY",
|
||||||
|
"BLANKSASNULL",
|
||||||
|
"BOTH",
|
||||||
|
"BYTEDICT",
|
||||||
|
"BZIP2",
|
||||||
|
"CASE",
|
||||||
|
"CAST",
|
||||||
|
"CHECK",
|
||||||
|
"COLLATE",
|
||||||
|
"COLUMN",
|
||||||
|
"CONSTRAINT",
|
||||||
|
"CREATE",
|
||||||
|
"CREDENTIALS",
|
||||||
|
"CROSS",
|
||||||
|
"CURRENT_DATE",
|
||||||
|
"CURRENT_TIME",
|
||||||
|
"CURRENT_TIMESTAMP",
|
||||||
|
"CURRENT_USER",
|
||||||
|
"CURRENT_USER_ID",
|
||||||
|
"DEFAULT",
|
||||||
|
"DEFERRABLE",
|
||||||
|
"DEFLATE",
|
||||||
|
"DEFRAG",
|
||||||
|
"DELTA",
|
||||||
|
"DELTA32K",
|
||||||
|
"DESC",
|
||||||
|
"DISABLE",
|
||||||
|
"DISTINCT",
|
||||||
|
"DO",
|
||||||
|
"ELSE",
|
||||||
|
"EMPTYASNULL",
|
||||||
|
"ENABLE",
|
||||||
|
"ENCODE",
|
||||||
|
"ENCRYPT",
|
||||||
|
"ENCRYPTION",
|
||||||
|
"END",
|
||||||
|
"EXCEPT",
|
||||||
|
"EXPLICIT",
|
||||||
|
"FALSE",
|
||||||
|
"FOR",
|
||||||
|
"FOREIGN",
|
||||||
|
"FREEZE",
|
||||||
|
"FROM",
|
||||||
|
"FULL",
|
||||||
|
"GLOBALDICT256",
|
||||||
|
"GLOBALDICT64K",
|
||||||
|
"GRANT",
|
||||||
|
"GROUP",
|
||||||
|
"GZIP",
|
||||||
|
"HAVING",
|
||||||
|
"IDENTITY",
|
||||||
|
"IGNORE",
|
||||||
|
"ILIKE",
|
||||||
|
"IN",
|
||||||
|
"INITIALLY",
|
||||||
|
"INNER",
|
||||||
|
"INTERSECT",
|
||||||
|
"INTO",
|
||||||
|
"IS",
|
||||||
|
"ISNULL",
|
||||||
|
"JOIN",
|
||||||
|
"LANGUAGE",
|
||||||
|
"LEADING",
|
||||||
|
"LEFT",
|
||||||
|
"LIKE",
|
||||||
|
"LIMIT",
|
||||||
|
"LOCALTIME",
|
||||||
|
"LOCALTIMESTAMP",
|
||||||
|
"LUN",
|
||||||
|
"LUNS",
|
||||||
|
"LZO",
|
||||||
|
"LZOP",
|
||||||
|
"MINUS",
|
||||||
|
"MOSTLY16",
|
||||||
|
"MOSTLY32",
|
||||||
|
"MOSTLY8",
|
||||||
|
"NATURAL",
|
||||||
|
"NEW",
|
||||||
|
"NOT",
|
||||||
|
"NOTNULL",
|
||||||
|
"NULL",
|
||||||
|
"NULLS",
|
||||||
|
"OFF",
|
||||||
|
"OFFLINE",
|
||||||
|
"OFFSET",
|
||||||
|
"OID",
|
||||||
|
"OLD",
|
||||||
|
"ON",
|
||||||
|
"ONLY",
|
||||||
|
"OPEN",
|
||||||
|
"OR",
|
||||||
|
"ORDER",
|
||||||
|
"OUTER",
|
||||||
|
"OVERLAPS",
|
||||||
|
"PARALLEL",
|
||||||
|
"PARTITION",
|
||||||
|
"PERCENT",
|
||||||
|
"PERMISSIONS",
|
||||||
|
"PLACING",
|
||||||
|
"PRIMARY",
|
||||||
|
"RAW",
|
||||||
|
"READRATIO",
|
||||||
|
"RECOVER",
|
||||||
|
"REFERENCES",
|
||||||
|
"RESPECT",
|
||||||
|
"REJECTLOG",
|
||||||
|
"RESORT",
|
||||||
|
"RESTORE",
|
||||||
|
"RIGHT",
|
||||||
|
"SELECT",
|
||||||
|
"SESSION_USER",
|
||||||
|
"SIMILAR",
|
||||||
|
"SNAPSHOT",
|
||||||
|
"SOME",
|
||||||
|
"SYSDATE",
|
||||||
|
"SYSTEM",
|
||||||
|
"TABLE",
|
||||||
|
"TAG",
|
||||||
|
"TDES",
|
||||||
|
"TEXT255",
|
||||||
|
"TEXT32K",
|
||||||
|
"THEN",
|
||||||
|
"TIMESTAMP",
|
||||||
|
"TO",
|
||||||
|
"TOP",
|
||||||
|
"TRAILING",
|
||||||
|
"TRUE",
|
||||||
|
"TRUNCATECOLUMNS",
|
||||||
|
"UNION",
|
||||||
|
"UNIQUE",
|
||||||
|
"USER",
|
||||||
|
"USING",
|
||||||
|
"VERBOSE",
|
||||||
|
"WALLET",
|
||||||
|
"WHEN",
|
||||||
|
"WHERE",
|
||||||
|
"WITH",
|
||||||
|
"WITHOUT"
|
||||||
|
],
|
||||||
|
operators: [
|
||||||
|
"AND",
|
||||||
|
"BETWEEN",
|
||||||
|
"IN",
|
||||||
|
"LIKE",
|
||||||
|
"NOT",
|
||||||
|
"OR",
|
||||||
|
"IS",
|
||||||
|
"NULL",
|
||||||
|
"INTERSECT",
|
||||||
|
"UNION",
|
||||||
|
"INNER",
|
||||||
|
"JOIN",
|
||||||
|
"LEFT",
|
||||||
|
"OUTER",
|
||||||
|
"RIGHT"
|
||||||
|
],
|
||||||
|
builtinFunctions: [
|
||||||
|
"current_schema",
|
||||||
|
"current_schemas",
|
||||||
|
"has_database_privilege",
|
||||||
|
"has_schema_privilege",
|
||||||
|
"has_table_privilege",
|
||||||
|
"age",
|
||||||
|
"current_time",
|
||||||
|
"current_timestamp",
|
||||||
|
"localtime",
|
||||||
|
"isfinite",
|
||||||
|
"now",
|
||||||
|
"ascii",
|
||||||
|
"get_bit",
|
||||||
|
"get_byte",
|
||||||
|
"set_bit",
|
||||||
|
"set_byte",
|
||||||
|
"to_ascii",
|
||||||
|
"approximate percentile_disc",
|
||||||
|
"avg",
|
||||||
|
"count",
|
||||||
|
"listagg",
|
||||||
|
"max",
|
||||||
|
"median",
|
||||||
|
"min",
|
||||||
|
"percentile_cont",
|
||||||
|
"stddev_samp",
|
||||||
|
"stddev_pop",
|
||||||
|
"sum",
|
||||||
|
"var_samp",
|
||||||
|
"var_pop",
|
||||||
|
"bit_and",
|
||||||
|
"bit_or",
|
||||||
|
"bool_and",
|
||||||
|
"bool_or",
|
||||||
|
"cume_dist",
|
||||||
|
"first_value",
|
||||||
|
"lag",
|
||||||
|
"last_value",
|
||||||
|
"lead",
|
||||||
|
"nth_value",
|
||||||
|
"ratio_to_report",
|
||||||
|
"dense_rank",
|
||||||
|
"ntile",
|
||||||
|
"percent_rank",
|
||||||
|
"rank",
|
||||||
|
"row_number",
|
||||||
|
"case",
|
||||||
|
"coalesce",
|
||||||
|
"decode",
|
||||||
|
"greatest",
|
||||||
|
"least",
|
||||||
|
"nvl",
|
||||||
|
"nvl2",
|
||||||
|
"nullif",
|
||||||
|
"add_months",
|
||||||
|
"at time zone",
|
||||||
|
"convert_timezone",
|
||||||
|
"current_date",
|
||||||
|
"date_cmp",
|
||||||
|
"date_cmp_timestamp",
|
||||||
|
"date_cmp_timestamptz",
|
||||||
|
"date_part_year",
|
||||||
|
"dateadd",
|
||||||
|
"datediff",
|
||||||
|
"date_part",
|
||||||
|
"date_trunc",
|
||||||
|
"extract",
|
||||||
|
"getdate",
|
||||||
|
"interval_cmp",
|
||||||
|
"last_day",
|
||||||
|
"months_between",
|
||||||
|
"next_day",
|
||||||
|
"sysdate",
|
||||||
|
"timeofday",
|
||||||
|
"timestamp_cmp",
|
||||||
|
"timestamp_cmp_date",
|
||||||
|
"timestamp_cmp_timestamptz",
|
||||||
|
"timestamptz_cmp",
|
||||||
|
"timestamptz_cmp_date",
|
||||||
|
"timestamptz_cmp_timestamp",
|
||||||
|
"timezone",
|
||||||
|
"to_timestamp",
|
||||||
|
"trunc",
|
||||||
|
"abs",
|
||||||
|
"acos",
|
||||||
|
"asin",
|
||||||
|
"atan",
|
||||||
|
"atan2",
|
||||||
|
"cbrt",
|
||||||
|
"ceil",
|
||||||
|
"ceiling",
|
||||||
|
"checksum",
|
||||||
|
"cos",
|
||||||
|
"cot",
|
||||||
|
"degrees",
|
||||||
|
"dexp",
|
||||||
|
"dlog1",
|
||||||
|
"dlog10",
|
||||||
|
"exp",
|
||||||
|
"floor",
|
||||||
|
"ln",
|
||||||
|
"log",
|
||||||
|
"mod",
|
||||||
|
"pi",
|
||||||
|
"power",
|
||||||
|
"radians",
|
||||||
|
"random",
|
||||||
|
"round",
|
||||||
|
"sin",
|
||||||
|
"sign",
|
||||||
|
"sqrt",
|
||||||
|
"tan",
|
||||||
|
"to_hex",
|
||||||
|
"bpcharcmp",
|
||||||
|
"btrim",
|
||||||
|
"bttext_pattern_cmp",
|
||||||
|
"char_length",
|
||||||
|
"character_length",
|
||||||
|
"charindex",
|
||||||
|
"chr",
|
||||||
|
"concat",
|
||||||
|
"crc32",
|
||||||
|
"func_sha1",
|
||||||
|
"initcap",
|
||||||
|
"left and rights",
|
||||||
|
"len",
|
||||||
|
"length",
|
||||||
|
"lower",
|
||||||
|
"lpad and rpads",
|
||||||
|
"ltrim",
|
||||||
|
"md5",
|
||||||
|
"octet_length",
|
||||||
|
"position",
|
||||||
|
"quote_ident",
|
||||||
|
"quote_literal",
|
||||||
|
"regexp_count",
|
||||||
|
"regexp_instr",
|
||||||
|
"regexp_replace",
|
||||||
|
"regexp_substr",
|
||||||
|
"repeat",
|
||||||
|
"replace",
|
||||||
|
"replicate",
|
||||||
|
"reverse",
|
||||||
|
"rtrim",
|
||||||
|
"split_part",
|
||||||
|
"strpos",
|
||||||
|
"strtol",
|
||||||
|
"substring",
|
||||||
|
"textlen",
|
||||||
|
"translate",
|
||||||
|
"trim",
|
||||||
|
"upper",
|
||||||
|
"cast",
|
||||||
|
"convert",
|
||||||
|
"to_char",
|
||||||
|
"to_date",
|
||||||
|
"to_number",
|
||||||
|
"json_array_length",
|
||||||
|
"json_extract_array_element_text",
|
||||||
|
"json_extract_path_text",
|
||||||
|
"current_setting",
|
||||||
|
"pg_cancel_backend",
|
||||||
|
"pg_terminate_backend",
|
||||||
|
"set_config",
|
||||||
|
"current_database",
|
||||||
|
"current_user",
|
||||||
|
"current_user_id",
|
||||||
|
"pg_backend_pid",
|
||||||
|
"pg_last_copy_count",
|
||||||
|
"pg_last_copy_id",
|
||||||
|
"pg_last_query_id",
|
||||||
|
"pg_last_unload_count",
|
||||||
|
"session_user",
|
||||||
|
"slice_num",
|
||||||
|
"user",
|
||||||
|
"version",
|
||||||
|
"abbrev",
|
||||||
|
"acosd",
|
||||||
|
"any",
|
||||||
|
"area",
|
||||||
|
"array_agg",
|
||||||
|
"array_append",
|
||||||
|
"array_cat",
|
||||||
|
"array_dims",
|
||||||
|
"array_fill",
|
||||||
|
"array_length",
|
||||||
|
"array_lower",
|
||||||
|
"array_ndims",
|
||||||
|
"array_position",
|
||||||
|
"array_positions",
|
||||||
|
"array_prepend",
|
||||||
|
"array_remove",
|
||||||
|
"array_replace",
|
||||||
|
"array_to_json",
|
||||||
|
"array_to_string",
|
||||||
|
"array_to_tsvector",
|
||||||
|
"array_upper",
|
||||||
|
"asind",
|
||||||
|
"atan2d",
|
||||||
|
"atand",
|
||||||
|
"bit",
|
||||||
|
"bit_length",
|
||||||
|
"bound_box",
|
||||||
|
"box",
|
||||||
|
"brin_summarize_new_values",
|
||||||
|
"broadcast",
|
||||||
|
"cardinality",
|
||||||
|
"center",
|
||||||
|
"circle",
|
||||||
|
"clock_timestamp",
|
||||||
|
"col_description",
|
||||||
|
"concat_ws",
|
||||||
|
"convert_from",
|
||||||
|
"convert_to",
|
||||||
|
"corr",
|
||||||
|
"cosd",
|
||||||
|
"cotd",
|
||||||
|
"covar_pop",
|
||||||
|
"covar_samp",
|
||||||
|
"current_catalog",
|
||||||
|
"current_query",
|
||||||
|
"current_role",
|
||||||
|
"currval",
|
||||||
|
"cursor_to_xml",
|
||||||
|
"diameter",
|
||||||
|
"div",
|
||||||
|
"encode",
|
||||||
|
"enum_first",
|
||||||
|
"enum_last",
|
||||||
|
"enum_range",
|
||||||
|
"every",
|
||||||
|
"family",
|
||||||
|
"format",
|
||||||
|
"format_type",
|
||||||
|
"generate_series",
|
||||||
|
"generate_subscripts",
|
||||||
|
"get_current_ts_config",
|
||||||
|
"gin_clean_pending_list",
|
||||||
|
"grouping",
|
||||||
|
"has_any_column_privilege",
|
||||||
|
"has_column_privilege",
|
||||||
|
"has_foreign_data_wrapper_privilege",
|
||||||
|
"has_function_privilege",
|
||||||
|
"has_language_privilege",
|
||||||
|
"has_sequence_privilege",
|
||||||
|
"has_server_privilege",
|
||||||
|
"has_tablespace_privilege",
|
||||||
|
"has_type_privilege",
|
||||||
|
"height",
|
||||||
|
"host",
|
||||||
|
"hostmask",
|
||||||
|
"inet_client_addr",
|
||||||
|
"inet_client_port",
|
||||||
|
"inet_merge",
|
||||||
|
"inet_same_family",
|
||||||
|
"inet_server_addr",
|
||||||
|
"inet_server_port",
|
||||||
|
"isclosed",
|
||||||
|
"isempty",
|
||||||
|
"isopen",
|
||||||
|
"json_agg",
|
||||||
|
"json_object",
|
||||||
|
"json_object_agg",
|
||||||
|
"json_populate_record",
|
||||||
|
"json_populate_recordset",
|
||||||
|
"json_to_record",
|
||||||
|
"json_to_recordset",
|
||||||
|
"jsonb_agg",
|
||||||
|
"jsonb_object_agg",
|
||||||
|
"justify_days",
|
||||||
|
"justify_hours",
|
||||||
|
"justify_interval",
|
||||||
|
"lastval",
|
||||||
|
"left",
|
||||||
|
"line",
|
||||||
|
"localtimestamp",
|
||||||
|
"lower_inc",
|
||||||
|
"lower_inf",
|
||||||
|
"lpad",
|
||||||
|
"lseg",
|
||||||
|
"make_date",
|
||||||
|
"make_interval",
|
||||||
|
"make_time",
|
||||||
|
"make_timestamp",
|
||||||
|
"make_timestamptz",
|
||||||
|
"masklen",
|
||||||
|
"mode",
|
||||||
|
"netmask",
|
||||||
|
"network",
|
||||||
|
"nextval",
|
||||||
|
"npoints",
|
||||||
|
"num_nonnulls",
|
||||||
|
"num_nulls",
|
||||||
|
"numnode",
|
||||||
|
"obj_description",
|
||||||
|
"overlay",
|
||||||
|
"parse_ident",
|
||||||
|
"path",
|
||||||
|
"pclose",
|
||||||
|
"percentile_disc",
|
||||||
|
"pg_advisory_lock",
|
||||||
|
"pg_advisory_lock_shared",
|
||||||
|
"pg_advisory_unlock",
|
||||||
|
"pg_advisory_unlock_all",
|
||||||
|
"pg_advisory_unlock_shared",
|
||||||
|
"pg_advisory_xact_lock",
|
||||||
|
"pg_advisory_xact_lock_shared",
|
||||||
|
"pg_backup_start_time",
|
||||||
|
"pg_blocking_pids",
|
||||||
|
"pg_client_encoding",
|
||||||
|
"pg_collation_is_visible",
|
||||||
|
"pg_column_size",
|
||||||
|
"pg_conf_load_time",
|
||||||
|
"pg_control_checkpoint",
|
||||||
|
"pg_control_init",
|
||||||
|
"pg_control_recovery",
|
||||||
|
"pg_control_system",
|
||||||
|
"pg_conversion_is_visible",
|
||||||
|
"pg_create_logical_replication_slot",
|
||||||
|
"pg_create_physical_replication_slot",
|
||||||
|
"pg_create_restore_point",
|
||||||
|
"pg_current_xlog_flush_location",
|
||||||
|
"pg_current_xlog_insert_location",
|
||||||
|
"pg_current_xlog_location",
|
||||||
|
"pg_database_size",
|
||||||
|
"pg_describe_object",
|
||||||
|
"pg_drop_replication_slot",
|
||||||
|
"pg_export_snapshot",
|
||||||
|
"pg_filenode_relation",
|
||||||
|
"pg_function_is_visible",
|
||||||
|
"pg_get_constraintdef",
|
||||||
|
"pg_get_expr",
|
||||||
|
"pg_get_function_arguments",
|
||||||
|
"pg_get_function_identity_arguments",
|
||||||
|
"pg_get_function_result",
|
||||||
|
"pg_get_functiondef",
|
||||||
|
"pg_get_indexdef",
|
||||||
|
"pg_get_keywords",
|
||||||
|
"pg_get_object_address",
|
||||||
|
"pg_get_owned_sequence",
|
||||||
|
"pg_get_ruledef",
|
||||||
|
"pg_get_serial_sequence",
|
||||||
|
"pg_get_triggerdef",
|
||||||
|
"pg_get_userbyid",
|
||||||
|
"pg_get_viewdef",
|
||||||
|
"pg_has_role",
|
||||||
|
"pg_identify_object",
|
||||||
|
"pg_identify_object_as_address",
|
||||||
|
"pg_index_column_has_property",
|
||||||
|
"pg_index_has_property",
|
||||||
|
"pg_indexam_has_property",
|
||||||
|
"pg_indexes_size",
|
||||||
|
"pg_is_in_backup",
|
||||||
|
"pg_is_in_recovery",
|
||||||
|
"pg_is_other_temp_schema",
|
||||||
|
"pg_is_xlog_replay_paused",
|
||||||
|
"pg_last_committed_xact",
|
||||||
|
"pg_last_xact_replay_timestamp",
|
||||||
|
"pg_last_xlog_receive_location",
|
||||||
|
"pg_last_xlog_replay_location",
|
||||||
|
"pg_listening_channels",
|
||||||
|
"pg_logical_emit_message",
|
||||||
|
"pg_logical_slot_get_binary_changes",
|
||||||
|
"pg_logical_slot_get_changes",
|
||||||
|
"pg_logical_slot_peek_binary_changes",
|
||||||
|
"pg_logical_slot_peek_changes",
|
||||||
|
"pg_ls_dir",
|
||||||
|
"pg_my_temp_schema",
|
||||||
|
"pg_notification_queue_usage",
|
||||||
|
"pg_opclass_is_visible",
|
||||||
|
"pg_operator_is_visible",
|
||||||
|
"pg_opfamily_is_visible",
|
||||||
|
"pg_options_to_table",
|
||||||
|
"pg_postmaster_start_time",
|
||||||
|
"pg_read_binary_file",
|
||||||
|
"pg_read_file",
|
||||||
|
"pg_relation_filenode",
|
||||||
|
"pg_relation_filepath",
|
||||||
|
"pg_relation_size",
|
||||||
|
"pg_reload_conf",
|
||||||
|
"pg_replication_origin_create",
|
||||||
|
"pg_replication_origin_drop",
|
||||||
|
"pg_replication_origin_oid",
|
||||||
|
"pg_replication_origin_progress",
|
||||||
|
"pg_replication_origin_session_is_setup",
|
||||||
|
"pg_replication_origin_session_progress",
|
||||||
|
"pg_replication_origin_session_reset",
|
||||||
|
"pg_replication_origin_session_setup",
|
||||||
|
"pg_replication_origin_xact_reset",
|
||||||
|
"pg_replication_origin_xact_setup",
|
||||||
|
"pg_rotate_logfile",
|
||||||
|
"pg_size_bytes",
|
||||||
|
"pg_size_pretty",
|
||||||
|
"pg_sleep",
|
||||||
|
"pg_sleep_for",
|
||||||
|
"pg_sleep_until",
|
||||||
|
"pg_start_backup",
|
||||||
|
"pg_stat_file",
|
||||||
|
"pg_stop_backup",
|
||||||
|
"pg_switch_xlog",
|
||||||
|
"pg_table_is_visible",
|
||||||
|
"pg_table_size",
|
||||||
|
"pg_tablespace_databases",
|
||||||
|
"pg_tablespace_location",
|
||||||
|
"pg_tablespace_size",
|
||||||
|
"pg_total_relation_size",
|
||||||
|
"pg_trigger_depth",
|
||||||
|
"pg_try_advisory_lock",
|
||||||
|
"pg_try_advisory_lock_shared",
|
||||||
|
"pg_try_advisory_xact_lock",
|
||||||
|
"pg_try_advisory_xact_lock_shared",
|
||||||
|
"pg_ts_config_is_visible",
|
||||||
|
"pg_ts_dict_is_visible",
|
||||||
|
"pg_ts_parser_is_visible",
|
||||||
|
"pg_ts_template_is_visible",
|
||||||
|
"pg_type_is_visible",
|
||||||
|
"pg_typeof",
|
||||||
|
"pg_xact_commit_timestamp",
|
||||||
|
"pg_xlog_location_diff",
|
||||||
|
"pg_xlog_replay_pause",
|
||||||
|
"pg_xlog_replay_resume",
|
||||||
|
"pg_xlogfile_name",
|
||||||
|
"pg_xlogfile_name_offset",
|
||||||
|
"phraseto_tsquery",
|
||||||
|
"plainto_tsquery",
|
||||||
|
"point",
|
||||||
|
"polygon",
|
||||||
|
"popen",
|
||||||
|
"pqserverversion",
|
||||||
|
"query_to_xml",
|
||||||
|
"querytree",
|
||||||
|
"quote_nullable",
|
||||||
|
"radius",
|
||||||
|
"range_merge",
|
||||||
|
"regexp_matches",
|
||||||
|
"regexp_split_to_array",
|
||||||
|
"regexp_split_to_table",
|
||||||
|
"regr_avgx",
|
||||||
|
"regr_avgy",
|
||||||
|
"regr_count",
|
||||||
|
"regr_intercept",
|
||||||
|
"regr_r2",
|
||||||
|
"regr_slope",
|
||||||
|
"regr_sxx",
|
||||||
|
"regr_sxy",
|
||||||
|
"regr_syy",
|
||||||
|
"right",
|
||||||
|
"row_security_active",
|
||||||
|
"row_to_json",
|
||||||
|
"rpad",
|
||||||
|
"scale",
|
||||||
|
"set_masklen",
|
||||||
|
"setseed",
|
||||||
|
"setval",
|
||||||
|
"setweight",
|
||||||
|
"shobj_description",
|
||||||
|
"sind",
|
||||||
|
"sprintf",
|
||||||
|
"statement_timestamp",
|
||||||
|
"stddev",
|
||||||
|
"string_agg",
|
||||||
|
"string_to_array",
|
||||||
|
"strip",
|
||||||
|
"substr",
|
||||||
|
"table_to_xml",
|
||||||
|
"table_to_xml_and_xmlschema",
|
||||||
|
"tand",
|
||||||
|
"text",
|
||||||
|
"to_json",
|
||||||
|
"to_regclass",
|
||||||
|
"to_regnamespace",
|
||||||
|
"to_regoper",
|
||||||
|
"to_regoperator",
|
||||||
|
"to_regproc",
|
||||||
|
"to_regprocedure",
|
||||||
|
"to_regrole",
|
||||||
|
"to_regtype",
|
||||||
|
"to_tsquery",
|
||||||
|
"to_tsvector",
|
||||||
|
"transaction_timestamp",
|
||||||
|
"ts_debug",
|
||||||
|
"ts_delete",
|
||||||
|
"ts_filter",
|
||||||
|
"ts_headline",
|
||||||
|
"ts_lexize",
|
||||||
|
"ts_parse",
|
||||||
|
"ts_rank",
|
||||||
|
"ts_rank_cd",
|
||||||
|
"ts_rewrite",
|
||||||
|
"ts_stat",
|
||||||
|
"ts_token_type",
|
||||||
|
"tsquery_phrase",
|
||||||
|
"tsvector_to_array",
|
||||||
|
"tsvector_update_trigger",
|
||||||
|
"tsvector_update_trigger_column",
|
||||||
|
"txid_current",
|
||||||
|
"txid_current_snapshot",
|
||||||
|
"txid_snapshot_xip",
|
||||||
|
"txid_snapshot_xmax",
|
||||||
|
"txid_snapshot_xmin",
|
||||||
|
"txid_visible_in_snapshot",
|
||||||
|
"unnest",
|
||||||
|
"upper_inc",
|
||||||
|
"upper_inf",
|
||||||
|
"variance",
|
||||||
|
"width",
|
||||||
|
"width_bucket",
|
||||||
|
"xml_is_well_formed",
|
||||||
|
"xml_is_well_formed_content",
|
||||||
|
"xml_is_well_formed_document",
|
||||||
|
"xmlagg",
|
||||||
|
"xmlcomment",
|
||||||
|
"xmlconcat",
|
||||||
|
"xmlelement",
|
||||||
|
"xmlexists",
|
||||||
|
"xmlforest",
|
||||||
|
"xmlparse",
|
||||||
|
"xmlpi",
|
||||||
|
"xmlroot",
|
||||||
|
"xmlserialize",
|
||||||
|
"xpath",
|
||||||
|
"xpath_exists"
|
||||||
|
],
|
||||||
|
builtinVariables: [
|
||||||
|
// NOT SUPPORTED
|
||||||
|
],
|
||||||
|
pseudoColumns: [
|
||||||
|
// NOT SUPPORTED
|
||||||
|
],
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
{ include: "@comments" },
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
{ include: "@pseudoColumns" },
|
||||||
|
{ include: "@numbers" },
|
||||||
|
{ include: "@strings" },
|
||||||
|
{ include: "@complexIdentifiers" },
|
||||||
|
{ include: "@scopes" },
|
||||||
|
[/[;,.]/, "delimiter"],
|
||||||
|
[/[()]/, "@brackets"],
|
||||||
|
[
|
||||||
|
/[\w@#$]+/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@keywords": "keyword",
|
||||||
|
"@operators": "operator",
|
||||||
|
"@builtinVariables": "predefined",
|
||||||
|
"@builtinFunctions": "predefined",
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/[<>=!%&+\-*/|~^]/, "operator"]
|
||||||
|
],
|
||||||
|
whitespace: [[/\s+/, "white"]],
|
||||||
|
comments: [
|
||||||
|
[/--+.*/, "comment"],
|
||||||
|
[/\/\*/, { token: "comment.quote", next: "@comment" }]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
[/[^*/]+/, "comment"],
|
||||||
|
// Not supporting nested comments, as nested comments seem to not be standard?
|
||||||
|
// i.e. http://stackoverflow.com/questions/728172/are-there-multiline-comment-delimiters-in-sql-that-are-vendor-agnostic
|
||||||
|
// [/\/\*/, { token: 'comment.quote', next: '@push' }], // nested comment not allowed :-(
|
||||||
|
[/\*\//, { token: "comment.quote", next: "@pop" }],
|
||||||
|
[/./, "comment"]
|
||||||
|
],
|
||||||
|
pseudoColumns: [
|
||||||
|
[
|
||||||
|
/[$][A-Za-z_][\w@#$]*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@pseudoColumns": "predefined",
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
numbers: [
|
||||||
|
[/0[xX][0-9a-fA-F]*/, "number"],
|
||||||
|
[/[$][+-]*\d*(\.\d*)?/, "number"],
|
||||||
|
[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/, "number"]
|
||||||
|
],
|
||||||
|
strings: [[/'/, { token: "string", next: "@string" }]],
|
||||||
|
string: [
|
||||||
|
[/[^']+/, "string"],
|
||||||
|
[/''/, "string"],
|
||||||
|
[/'/, { token: "string", next: "@pop" }]
|
||||||
|
],
|
||||||
|
complexIdentifiers: [[/"/, { token: "identifier.quote", next: "@quotedIdentifier" }]],
|
||||||
|
quotedIdentifier: [
|
||||||
|
[/[^"]+/, "identifier"],
|
||||||
|
[/""/, "identifier"],
|
||||||
|
[/"/, { token: "identifier.quote", next: "@pop" }]
|
||||||
|
],
|
||||||
|
scopes: [
|
||||||
|
// NOT SUPPORTED
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
177
_internal/editor/dev/vs/restructuredtext-CmsqpaZy.js
Normal file
177
_internal/editor/dev/vs/restructuredtext-CmsqpaZy.js
Normal file
@@ -0,0 +1,177 @@
|
|||||||
|
define("vs/restructuredtext-CmsqpaZy", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: "<", close: ">", notIn: ["string"] }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "`", close: "`" }
|
||||||
|
],
|
||||||
|
folding: {
|
||||||
|
markers: {
|
||||||
|
start: new RegExp("^\\s*<!--\\s*#?region\\b.*-->"),
|
||||||
|
end: new RegExp("^\\s*<!--\\s*#?endregion\\b.*-->")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".rst",
|
||||||
|
control: /[\\`*_\[\]{}()#+\-\.!]/,
|
||||||
|
escapes: /\\(?:@control)/,
|
||||||
|
empty: [
|
||||||
|
"area",
|
||||||
|
"base",
|
||||||
|
"basefont",
|
||||||
|
"br",
|
||||||
|
"col",
|
||||||
|
"frame",
|
||||||
|
"hr",
|
||||||
|
"img",
|
||||||
|
"input",
|
||||||
|
"isindex",
|
||||||
|
"link",
|
||||||
|
"meta",
|
||||||
|
"param"
|
||||||
|
],
|
||||||
|
alphanumerics: /[A-Za-z0-9]/,
|
||||||
|
simpleRefNameWithoutBq: /(?:@alphanumerics[-_+:.]*@alphanumerics)+|(?:@alphanumerics+)/,
|
||||||
|
simpleRefName: /(?:`@phrase`|@simpleRefNameWithoutBq)/,
|
||||||
|
phrase: /@simpleRefNameWithoutBq(?:\s@simpleRefNameWithoutBq)*/,
|
||||||
|
citationName: /[A-Za-z][A-Za-z0-9-_.]*/,
|
||||||
|
blockLiteralStart: /(?:[!"#$%&'()*+,-./:;<=>?@\[\]^_`{|}~]|[\s])/,
|
||||||
|
precedingChars: /(?:[ -:/'"<([{])/,
|
||||||
|
followingChars: /(?:[ -.,:;!?/'")\]}>]|$)/,
|
||||||
|
punctuation: /(=|-|~|`|#|"|\^|\+|\*|:|\.|'|_|\+)/,
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
//sections
|
||||||
|
[/^(@punctuation{3,}$){1,1}?/, "keyword"],
|
||||||
|
//line-blocks
|
||||||
|
//No rules on it
|
||||||
|
//bullet-lists
|
||||||
|
[/^\s*([\*\-+‣•]|[a-zA-Z0-9]+\.|\([a-zA-Z0-9]+\)|[a-zA-Z0-9]+\))\s/, "keyword"],
|
||||||
|
//literal-blocks
|
||||||
|
[/([ ]::)\s*$/, "keyword", "@blankLineOfLiteralBlocks"],
|
||||||
|
[/(::)\s*$/, "keyword", "@blankLineOfLiteralBlocks"],
|
||||||
|
{ include: "@tables" },
|
||||||
|
{ include: "@explicitMarkupBlocks" },
|
||||||
|
{ include: "@inlineMarkup" }
|
||||||
|
],
|
||||||
|
explicitMarkupBlocks: [
|
||||||
|
//citations
|
||||||
|
{ include: "@citations" },
|
||||||
|
//footnotes
|
||||||
|
{ include: "@footnotes" },
|
||||||
|
//directives
|
||||||
|
[
|
||||||
|
/^(\.\.\s)(@simpleRefName)(::\s)(.*)$/,
|
||||||
|
[{ token: "", next: "subsequentLines" }, "keyword", "", ""]
|
||||||
|
],
|
||||||
|
//hyperlink-targets
|
||||||
|
[
|
||||||
|
/^(\.\.)(\s+)(_)(@simpleRefName)(:)(\s+)(.*)/,
|
||||||
|
[{ token: "", next: "hyperlinks" }, "", "", "string.link", "", "", "string.link"]
|
||||||
|
],
|
||||||
|
//anonymous-hyperlinks
|
||||||
|
[
|
||||||
|
/^((?:(?:\.\.)(?:\s+))?)(__)(:)(\s+)(.*)/,
|
||||||
|
[{ token: "", next: "subsequentLines" }, "", "", "", "string.link"]
|
||||||
|
],
|
||||||
|
[/^(__\s+)(.+)/, ["", "string.link"]],
|
||||||
|
//substitution-definitions
|
||||||
|
[
|
||||||
|
/^(\.\.)( \|)([^| ]+[^|]*[^| ]*)(\| )(@simpleRefName)(:: .*)/,
|
||||||
|
[{ token: "", next: "subsequentLines" }, "", "string.link", "", "keyword", ""],
|
||||||
|
"@rawBlocks"
|
||||||
|
],
|
||||||
|
[/(\|)([^| ]+[^|]*[^| ]*)(\|_{0,2})/, ["", "string.link", ""]],
|
||||||
|
//comments
|
||||||
|
[/^(\.\.)([ ].*)$/, [{ token: "", next: "@comments" }, "comment"]]
|
||||||
|
],
|
||||||
|
inlineMarkup: [
|
||||||
|
{ include: "@citationsReference" },
|
||||||
|
{ include: "@footnotesReference" },
|
||||||
|
//hyperlink-references
|
||||||
|
[/(@simpleRefName)(_{1,2})/, ["string.link", ""]],
|
||||||
|
//embedded-uris-and-aliases
|
||||||
|
[/(`)([^<`]+\s+)(<)(.*)(>)(`)(_)/, ["", "string.link", "", "string.link", "", "", ""]],
|
||||||
|
//emphasis
|
||||||
|
[/\*\*([^\\*]|\*(?!\*))+\*\*/, "strong"],
|
||||||
|
[/\*[^*]+\*/, "emphasis"],
|
||||||
|
//inline-literals
|
||||||
|
[/(``)((?:[^`]|\`(?!`))+)(``)/, ["", "keyword", ""]],
|
||||||
|
[/(__\s+)(.+)/, ["", "keyword"]],
|
||||||
|
//interpreted-text
|
||||||
|
[/(:)((?:@simpleRefNameWithoutBq)?)(:`)([^`]+)(`)/, ["", "keyword", "", "", ""]],
|
||||||
|
[/(`)([^`]+)(`:)((?:@simpleRefNameWithoutBq)?)(:)/, ["", "", "", "keyword", ""]],
|
||||||
|
[/(`)([^`]+)(`)/, ""],
|
||||||
|
//inline-internal-targets
|
||||||
|
[/(_`)(@phrase)(`)/, ["", "string.link", ""]]
|
||||||
|
],
|
||||||
|
citations: [
|
||||||
|
[
|
||||||
|
/^(\.\.\s+\[)((?:@citationName))(\]\s+)(.*)/,
|
||||||
|
[{ token: "", next: "@subsequentLines" }, "string.link", "", ""]
|
||||||
|
]
|
||||||
|
],
|
||||||
|
citationsReference: [[/(\[)(@citationName)(\]_)/, ["", "string.link", ""]]],
|
||||||
|
footnotes: [
|
||||||
|
[
|
||||||
|
/^(\.\.\s+\[)((?:[0-9]+))(\]\s+.*)/,
|
||||||
|
[{ token: "", next: "@subsequentLines" }, "string.link", ""]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/^(\.\.\s+\[)((?:#@simpleRefName?))(\]\s+)(.*)/,
|
||||||
|
[{ token: "", next: "@subsequentLines" }, "string.link", "", ""]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/^(\.\.\s+\[)((?:\*))(\]\s+)(.*)/,
|
||||||
|
[{ token: "", next: "@subsequentLines" }, "string.link", "", ""]
|
||||||
|
]
|
||||||
|
],
|
||||||
|
footnotesReference: [
|
||||||
|
[/(\[)([0-9]+)(\])(_)/, ["", "string.link", "", ""]],
|
||||||
|
[/(\[)(#@simpleRefName?)(\])(_)/, ["", "string.link", "", ""]],
|
||||||
|
[/(\[)(\*)(\])(_)/, ["", "string.link", "", ""]]
|
||||||
|
],
|
||||||
|
blankLineOfLiteralBlocks: [
|
||||||
|
[/^$/, "", "@subsequentLinesOfLiteralBlocks"],
|
||||||
|
[/^.*$/, "", "@pop"]
|
||||||
|
],
|
||||||
|
subsequentLinesOfLiteralBlocks: [
|
||||||
|
[/(@blockLiteralStart+)(.*)/, ["keyword", ""]],
|
||||||
|
[/^(?!blockLiteralStart)/, "", "@popall"]
|
||||||
|
],
|
||||||
|
subsequentLines: [
|
||||||
|
[/^[\s]+.*/, ""],
|
||||||
|
[/^(?!\s)/, "", "@pop"]
|
||||||
|
],
|
||||||
|
hyperlinks: [
|
||||||
|
[/^[\s]+.*/, "string.link"],
|
||||||
|
[/^(?!\s)/, "", "@pop"]
|
||||||
|
],
|
||||||
|
comments: [
|
||||||
|
[/^[\s]+.*/, "comment"],
|
||||||
|
[/^(?!\s)/, "", "@pop"]
|
||||||
|
],
|
||||||
|
tables: [
|
||||||
|
[/\+-[+-]+/, "keyword"],
|
||||||
|
[/\+=[+=]+/, "keyword"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
514
_internal/editor/dev/vs/ruby-qQzGPz_6.js
Normal file
514
_internal/editor/dev/vs/ruby-qQzGPz_6.js
Normal file
@@ -0,0 +1,514 @@
|
|||||||
|
define("vs/ruby-qQzGPz_6", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: "#",
|
||||||
|
blockComment: ["=begin", "=end"]
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["(", ")"],
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
],
|
||||||
|
indentationRules: {
|
||||||
|
increaseIndentPattern: new RegExp(
|
||||||
|
`^\\s*((begin|class|(private|protected)\\s+def|def|else|elsif|ensure|for|if|module|rescue|unless|until|when|while|case)|([^#]*\\sdo\\b)|([^#]*=\\s*(case|if|unless)))\\b([^#\\{;]|("|'|/).*\\4)*(#.*)?$`
|
||||||
|
),
|
||||||
|
decreaseIndentPattern: new RegExp(
|
||||||
|
"^\\s*([}\\]]([,)]?\\s*(#|$)|\\.[a-zA-Z_]\\w*\\b)|(end|rescue|ensure|else|elsif|when)\\b)"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
tokenPostfix: ".ruby",
|
||||||
|
keywords: [
|
||||||
|
"__LINE__",
|
||||||
|
"__ENCODING__",
|
||||||
|
"__FILE__",
|
||||||
|
"BEGIN",
|
||||||
|
"END",
|
||||||
|
"alias",
|
||||||
|
"and",
|
||||||
|
"begin",
|
||||||
|
"break",
|
||||||
|
"case",
|
||||||
|
"class",
|
||||||
|
"def",
|
||||||
|
"defined?",
|
||||||
|
"do",
|
||||||
|
"else",
|
||||||
|
"elsif",
|
||||||
|
"end",
|
||||||
|
"ensure",
|
||||||
|
"for",
|
||||||
|
"false",
|
||||||
|
"if",
|
||||||
|
"in",
|
||||||
|
"module",
|
||||||
|
"next",
|
||||||
|
"nil",
|
||||||
|
"not",
|
||||||
|
"or",
|
||||||
|
"redo",
|
||||||
|
"rescue",
|
||||||
|
"retry",
|
||||||
|
"return",
|
||||||
|
"self",
|
||||||
|
"super",
|
||||||
|
"then",
|
||||||
|
"true",
|
||||||
|
"undef",
|
||||||
|
"unless",
|
||||||
|
"until",
|
||||||
|
"when",
|
||||||
|
"while",
|
||||||
|
"yield"
|
||||||
|
],
|
||||||
|
keywordops: ["::", "..", "...", "?", ":", "=>"],
|
||||||
|
builtins: [
|
||||||
|
"require",
|
||||||
|
"public",
|
||||||
|
"private",
|
||||||
|
"include",
|
||||||
|
"extend",
|
||||||
|
"attr_reader",
|
||||||
|
"protected",
|
||||||
|
"private_class_method",
|
||||||
|
"protected_class_method",
|
||||||
|
"new"
|
||||||
|
],
|
||||||
|
// these are closed by 'end' (if, while and until are handled separately)
|
||||||
|
declarations: [
|
||||||
|
"module",
|
||||||
|
"class",
|
||||||
|
"def",
|
||||||
|
"case",
|
||||||
|
"do",
|
||||||
|
"begin",
|
||||||
|
"for",
|
||||||
|
"if",
|
||||||
|
"while",
|
||||||
|
"until",
|
||||||
|
"unless"
|
||||||
|
],
|
||||||
|
linedecls: ["def", "case", "do", "begin", "for", "if", "while", "until", "unless"],
|
||||||
|
operators: [
|
||||||
|
"^",
|
||||||
|
"&",
|
||||||
|
"|",
|
||||||
|
"<=>",
|
||||||
|
"==",
|
||||||
|
"===",
|
||||||
|
"!~",
|
||||||
|
"=~",
|
||||||
|
">",
|
||||||
|
">=",
|
||||||
|
"<",
|
||||||
|
"<=",
|
||||||
|
"<<",
|
||||||
|
">>",
|
||||||
|
"+",
|
||||||
|
"-",
|
||||||
|
"*",
|
||||||
|
"/",
|
||||||
|
"%",
|
||||||
|
"**",
|
||||||
|
"~",
|
||||||
|
"+@",
|
||||||
|
"-@",
|
||||||
|
"[]",
|
||||||
|
"[]=",
|
||||||
|
"`",
|
||||||
|
"+=",
|
||||||
|
"-=",
|
||||||
|
"*=",
|
||||||
|
"**=",
|
||||||
|
"/=",
|
||||||
|
"^=",
|
||||||
|
"%=",
|
||||||
|
"<<=",
|
||||||
|
">>=",
|
||||||
|
"&=",
|
||||||
|
"&&=",
|
||||||
|
"||=",
|
||||||
|
"|="
|
||||||
|
],
|
||||||
|
brackets: [
|
||||||
|
{ open: "(", close: ")", token: "delimiter.parenthesis" },
|
||||||
|
{ open: "{", close: "}", token: "delimiter.curly" },
|
||||||
|
{ open: "[", close: "]", token: "delimiter.square" }
|
||||||
|
],
|
||||||
|
// we include these common regular expressions
|
||||||
|
symbols: /[=><!~?:&|+\-*\/\^%\.]+/,
|
||||||
|
// escape sequences
|
||||||
|
escape: /(?:[abefnrstv\\"'\n\r]|[0-7]{1,3}|x[0-9A-Fa-f]{1,2}|u[0-9A-Fa-f]{4})/,
|
||||||
|
escapes: /\\(?:C\-(@escape|.)|c(@escape|.)|@escape)/,
|
||||||
|
decpart: /\d(_?\d)*/,
|
||||||
|
decimal: /0|@decpart/,
|
||||||
|
delim: /[^a-zA-Z0-9\s\n\r]/,
|
||||||
|
heredelim: /(?:\w+|'[^']*'|"[^"]*"|`[^`]*`)/,
|
||||||
|
regexpctl: /[(){}\[\]\$\^|\-*+?\.]/,
|
||||||
|
regexpesc: /\\(?:[AzZbBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})?/,
|
||||||
|
// The main tokenizer for our languages
|
||||||
|
tokenizer: {
|
||||||
|
// Main entry.
|
||||||
|
// root.<decl> where decl is the current opening declaration (like 'class')
|
||||||
|
root: [
|
||||||
|
// identifiers and keywords
|
||||||
|
// most complexity here is due to matching 'end' correctly with declarations.
|
||||||
|
// We distinguish a declaration that comes first on a line, versus declarations further on a line (which are most likey modifiers)
|
||||||
|
[
|
||||||
|
/^(\s*)([a-z_]\w*[!?=]?)/,
|
||||||
|
[
|
||||||
|
"white",
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"for|until|while": {
|
||||||
|
token: "keyword.$2",
|
||||||
|
next: "@dodecl.$2"
|
||||||
|
},
|
||||||
|
"@declarations": {
|
||||||
|
token: "keyword.$2",
|
||||||
|
next: "@root.$2"
|
||||||
|
},
|
||||||
|
end: { token: "keyword.$S2", next: "@pop" },
|
||||||
|
"@keywords": "keyword",
|
||||||
|
"@builtins": "predefined",
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/[a-z_]\w*[!?=]?/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"if|unless|while|until": {
|
||||||
|
token: "keyword.$0x",
|
||||||
|
next: "@modifier.$0x"
|
||||||
|
},
|
||||||
|
for: { token: "keyword.$2", next: "@dodecl.$2" },
|
||||||
|
"@linedecls": { token: "keyword.$0", next: "@root.$0" },
|
||||||
|
end: { token: "keyword.$S2", next: "@pop" },
|
||||||
|
"@keywords": "keyword",
|
||||||
|
"@builtins": "predefined",
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/[A-Z][\w]*[!?=]?/, "constructor.identifier"],
|
||||||
|
// constant
|
||||||
|
[/\$[\w]*/, "global.constant"],
|
||||||
|
// global
|
||||||
|
[/@[\w]*/, "namespace.instance.identifier"],
|
||||||
|
// instance
|
||||||
|
[/@@@[\w]*/, "namespace.class.identifier"],
|
||||||
|
// class
|
||||||
|
// here document
|
||||||
|
[/<<[-~](@heredelim).*/, { token: "string.heredoc.delimiter", next: "@heredoc.$1" }],
|
||||||
|
[/[ \t\r\n]+<<(@heredelim).*/, { token: "string.heredoc.delimiter", next: "@heredoc.$1" }],
|
||||||
|
[/^<<(@heredelim).*/, { token: "string.heredoc.delimiter", next: "@heredoc.$1" }],
|
||||||
|
// whitespace
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
// strings
|
||||||
|
[/"/, { token: "string.d.delim", next: '@dstring.d."' }],
|
||||||
|
[/'/, { token: "string.sq.delim", next: "@sstring.sq" }],
|
||||||
|
// % literals. For efficiency, rematch in the 'pstring' state
|
||||||
|
[/%([rsqxwW]|Q?)/, { token: "@rematch", next: "pstring" }],
|
||||||
|
// commands and symbols
|
||||||
|
[/`/, { token: "string.x.delim", next: "@dstring.x.`" }],
|
||||||
|
[/:(\w|[$@])\w*[!?=]?/, "string.s"],
|
||||||
|
[/:"/, { token: "string.s.delim", next: '@dstring.s."' }],
|
||||||
|
[/:'/, { token: "string.s.delim", next: "@sstring.s" }],
|
||||||
|
// regular expressions. Lookahead for a (not escaped) closing forwardslash on the same line
|
||||||
|
[/\/(?=(\\\/|[^\/\n])+\/)/, { token: "regexp.delim", next: "@regexp" }],
|
||||||
|
// delimiters and operators
|
||||||
|
[/[{}()\[\]]/, "@brackets"],
|
||||||
|
[
|
||||||
|
/@symbols/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@keywordops": "keyword",
|
||||||
|
"@operators": "operator",
|
||||||
|
"@default": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/[;,]/, "delimiter"],
|
||||||
|
// numbers
|
||||||
|
[/0[xX][0-9a-fA-F](_?[0-9a-fA-F])*/, "number.hex"],
|
||||||
|
[/0[_oO][0-7](_?[0-7])*/, "number.octal"],
|
||||||
|
[/0[bB][01](_?[01])*/, "number.binary"],
|
||||||
|
[/0[dD]@decpart/, "number"],
|
||||||
|
[
|
||||||
|
/@decimal((\.@decpart)?([eE][\-+]?@decpart)?)/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
$1: "number.float",
|
||||||
|
"@default": "number"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
// used to not treat a 'do' as a block opener if it occurs on the same
|
||||||
|
// line as a 'do' statement: 'while|until|for'
|
||||||
|
// dodecl.<decl> where decl is the declarations started, like 'while'
|
||||||
|
dodecl: [
|
||||||
|
[/^/, { token: "", switchTo: "@root.$S2" }],
|
||||||
|
// get out of do-skipping mode on a new line
|
||||||
|
[
|
||||||
|
/[a-z_]\w*[!?=]?/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
end: { token: "keyword.$S2", next: "@pop" },
|
||||||
|
// end on same line
|
||||||
|
do: { token: "keyword", switchTo: "@root.$S2" },
|
||||||
|
// do on same line: not an open bracket here
|
||||||
|
"@linedecls": {
|
||||||
|
token: "@rematch",
|
||||||
|
switchTo: "@root.$S2"
|
||||||
|
},
|
||||||
|
// other declaration on same line: rematch
|
||||||
|
"@keywords": "keyword",
|
||||||
|
"@builtins": "predefined",
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
{ include: "@root" }
|
||||||
|
],
|
||||||
|
// used to prevent potential modifiers ('if|until|while|unless') to match
|
||||||
|
// with 'end' keywords.
|
||||||
|
// modifier.<decl>x where decl is the declaration starter, like 'if'
|
||||||
|
modifier: [
|
||||||
|
[/^/, "", "@pop"],
|
||||||
|
// it was a modifier: get out of modifier mode on a new line
|
||||||
|
[
|
||||||
|
/[a-z_]\w*[!?=]?/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
end: { token: "keyword.$S2", next: "@pop" },
|
||||||
|
// end on same line
|
||||||
|
"then|else|elsif|do": {
|
||||||
|
token: "keyword",
|
||||||
|
switchTo: "@root.$S2"
|
||||||
|
},
|
||||||
|
// real declaration and not a modifier
|
||||||
|
"@linedecls": {
|
||||||
|
token: "@rematch",
|
||||||
|
switchTo: "@root.$S2"
|
||||||
|
},
|
||||||
|
// other declaration => not a modifier
|
||||||
|
"@keywords": "keyword",
|
||||||
|
"@builtins": "predefined",
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
{ include: "@root" }
|
||||||
|
],
|
||||||
|
// single quote strings (also used for symbols)
|
||||||
|
// sstring.<kind> where kind is 'sq' (single quote) or 's' (symbol)
|
||||||
|
sstring: [
|
||||||
|
[/[^\\']+/, "string.$S2"],
|
||||||
|
[/\\\\|\\'|\\$/, "string.$S2.escape"],
|
||||||
|
[/\\./, "string.$S2.invalid"],
|
||||||
|
[/'/, { token: "string.$S2.delim", next: "@pop" }]
|
||||||
|
],
|
||||||
|
// double quoted "string".
|
||||||
|
// dstring.<kind>.<delim> where kind is 'd' (double quoted), 'x' (command), or 's' (symbol)
|
||||||
|
// and delim is the ending delimiter (" or `)
|
||||||
|
dstring: [
|
||||||
|
[/[^\\`"#]+/, "string.$S2"],
|
||||||
|
[/#/, "string.$S2.escape", "@interpolated"],
|
||||||
|
[/\\$/, "string.$S2.escape"],
|
||||||
|
[/@escapes/, "string.$S2.escape"],
|
||||||
|
[/\\./, "string.$S2.escape.invalid"],
|
||||||
|
[
|
||||||
|
/[`"]/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$#==$S3": { token: "string.$S2.delim", next: "@pop" },
|
||||||
|
"@default": "string.$S2"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
// literal documents
|
||||||
|
// heredoc.<close> where close is the closing delimiter
|
||||||
|
heredoc: [
|
||||||
|
[
|
||||||
|
/^(\s*)(@heredelim)$/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$2==$S2": ["string.heredoc", { token: "string.heredoc.delimiter", next: "@pop" }],
|
||||||
|
"@default": ["string.heredoc", "string.heredoc"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/.*/, "string.heredoc"]
|
||||||
|
],
|
||||||
|
// interpolated sequence
|
||||||
|
interpolated: [
|
||||||
|
[/\$\w*/, "global.constant", "@pop"],
|
||||||
|
[/@\w*/, "namespace.class.identifier", "@pop"],
|
||||||
|
[/@@@\w*/, "namespace.instance.identifier", "@pop"],
|
||||||
|
[
|
||||||
|
/[{]/,
|
||||||
|
{
|
||||||
|
token: "string.escape.curly",
|
||||||
|
switchTo: "@interpolated_compound"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
["", "", "@pop"]
|
||||||
|
// just a # is interpreted as a #
|
||||||
|
],
|
||||||
|
// any code
|
||||||
|
interpolated_compound: [
|
||||||
|
[/[}]/, { token: "string.escape.curly", next: "@pop" }],
|
||||||
|
{ include: "@root" }
|
||||||
|
],
|
||||||
|
// %r quoted regexp
|
||||||
|
// pregexp.<open>.<close> where open/close are the open/close delimiter
|
||||||
|
pregexp: [
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
// turns out that you can quote using regex control characters, aargh!
|
||||||
|
// for example; %r|kgjgaj| is ok (even though | is used for alternation)
|
||||||
|
// so, we need to match those first
|
||||||
|
[
|
||||||
|
/[^\(\{\[\\]/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$#==$S3": { token: "regexp.delim", next: "@pop" },
|
||||||
|
"$#==$S2": { token: "regexp.delim", next: "@push" },
|
||||||
|
// nested delimiters are allowed..
|
||||||
|
"~[)}\\]]": "@brackets.regexp.escape.control",
|
||||||
|
"~@regexpctl": "regexp.escape.control",
|
||||||
|
"@default": "regexp"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
{ include: "@regexcontrol" }
|
||||||
|
],
|
||||||
|
// We match regular expression quite precisely
|
||||||
|
regexp: [
|
||||||
|
{ include: "@regexcontrol" },
|
||||||
|
[/[^\\\/]/, "regexp"],
|
||||||
|
["/[ixmp]*", { token: "regexp.delim" }, "@pop"]
|
||||||
|
],
|
||||||
|
regexcontrol: [
|
||||||
|
[
|
||||||
|
/(\{)(\d+(?:,\d*)?)(\})/,
|
||||||
|
[
|
||||||
|
"@brackets.regexp.escape.control",
|
||||||
|
"regexp.escape.control",
|
||||||
|
"@brackets.regexp.escape.control"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
/(\[)(\^?)/,
|
||||||
|
["@brackets.regexp.escape.control", { token: "regexp.escape.control", next: "@regexrange" }]
|
||||||
|
],
|
||||||
|
[/(\()(\?[:=!])/, ["@brackets.regexp.escape.control", "regexp.escape.control"]],
|
||||||
|
[/\(\?#/, { token: "regexp.escape.control", next: "@regexpcomment" }],
|
||||||
|
[/[()]/, "@brackets.regexp.escape.control"],
|
||||||
|
[/@regexpctl/, "regexp.escape.control"],
|
||||||
|
[/\\$/, "regexp.escape"],
|
||||||
|
[/@regexpesc/, "regexp.escape"],
|
||||||
|
[/\\\./, "regexp.invalid"],
|
||||||
|
[/#/, "regexp.escape", "@interpolated"]
|
||||||
|
],
|
||||||
|
regexrange: [
|
||||||
|
[/-/, "regexp.escape.control"],
|
||||||
|
[/\^/, "regexp.invalid"],
|
||||||
|
[/\\$/, "regexp.escape"],
|
||||||
|
[/@regexpesc/, "regexp.escape"],
|
||||||
|
[/[^\]]/, "regexp"],
|
||||||
|
[/\]/, "@brackets.regexp.escape.control", "@pop"]
|
||||||
|
],
|
||||||
|
regexpcomment: [
|
||||||
|
[/[^)]+/, "comment"],
|
||||||
|
[/\)/, { token: "regexp.escape.control", next: "@pop" }]
|
||||||
|
],
|
||||||
|
// % quoted strings
|
||||||
|
// A bit repetitive since we need to often special case the kind of ending delimiter
|
||||||
|
pstring: [
|
||||||
|
[/%([qws])\(/, { token: "string.$1.delim", switchTo: "@qstring.$1.(.)" }],
|
||||||
|
[/%([qws])\[/, { token: "string.$1.delim", switchTo: "@qstring.$1.[.]" }],
|
||||||
|
[/%([qws])\{/, { token: "string.$1.delim", switchTo: "@qstring.$1.{.}" }],
|
||||||
|
[/%([qws])</, { token: "string.$1.delim", switchTo: "@qstring.$1.<.>" }],
|
||||||
|
[/%([qws])(@delim)/, { token: "string.$1.delim", switchTo: "@qstring.$1.$2.$2" }],
|
||||||
|
[/%r\(/, { token: "regexp.delim", switchTo: "@pregexp.(.)" }],
|
||||||
|
[/%r\[/, { token: "regexp.delim", switchTo: "@pregexp.[.]" }],
|
||||||
|
[/%r\{/, { token: "regexp.delim", switchTo: "@pregexp.{.}" }],
|
||||||
|
[/%r</, { token: "regexp.delim", switchTo: "@pregexp.<.>" }],
|
||||||
|
[/%r(@delim)/, { token: "regexp.delim", switchTo: "@pregexp.$1.$1" }],
|
||||||
|
[/%(x|W|Q?)\(/, { token: "string.$1.delim", switchTo: "@qqstring.$1.(.)" }],
|
||||||
|
[/%(x|W|Q?)\[/, { token: "string.$1.delim", switchTo: "@qqstring.$1.[.]" }],
|
||||||
|
[/%(x|W|Q?)\{/, { token: "string.$1.delim", switchTo: "@qqstring.$1.{.}" }],
|
||||||
|
[/%(x|W|Q?)</, { token: "string.$1.delim", switchTo: "@qqstring.$1.<.>" }],
|
||||||
|
[/%(x|W|Q?)(@delim)/, { token: "string.$1.delim", switchTo: "@qqstring.$1.$2.$2" }],
|
||||||
|
[/%([rqwsxW]|Q?)./, { token: "invalid", next: "@pop" }],
|
||||||
|
// recover
|
||||||
|
[/./, { token: "invalid", next: "@pop" }]
|
||||||
|
// recover
|
||||||
|
],
|
||||||
|
// non-expanded quoted string.
|
||||||
|
// qstring.<kind>.<open>.<close>
|
||||||
|
// kind = q|w|s (single quote, array, symbol)
|
||||||
|
// open = open delimiter
|
||||||
|
// close = close delimiter
|
||||||
|
qstring: [
|
||||||
|
[/\\$/, "string.$S2.escape"],
|
||||||
|
[/\\./, "string.$S2.escape"],
|
||||||
|
[
|
||||||
|
/./,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$#==$S4": { token: "string.$S2.delim", next: "@pop" },
|
||||||
|
"$#==$S3": { token: "string.$S2.delim", next: "@push" },
|
||||||
|
// nested delimiters are allowed..
|
||||||
|
"@default": "string.$S2"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
// expanded quoted string.
|
||||||
|
// qqstring.<kind>.<open>.<close>
|
||||||
|
// kind = Q|W|x (double quote, array, command)
|
||||||
|
// open = open delimiter
|
||||||
|
// close = close delimiter
|
||||||
|
qqstring: [[/#/, "string.$S2.escape", "@interpolated"], { include: "@qstring" }],
|
||||||
|
// whitespace & comments
|
||||||
|
whitespace: [
|
||||||
|
[/[ \t\r\n]+/, ""],
|
||||||
|
[/^\s*=begin\b/, "comment", "@comment"],
|
||||||
|
[/#.*$/, "comment"]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
[/[^=]+/, "comment"],
|
||||||
|
[/^\s*=begin\b/, "comment.invalid"],
|
||||||
|
// nested comment
|
||||||
|
[/^\s*=end\b.*/, "comment", "@pop"],
|
||||||
|
[/[=]/, "comment"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
346
_internal/editor/dev/vs/rust-DIvkf86i.js
Normal file
346
_internal/editor/dev/vs/rust-DIvkf86i.js
Normal file
@@ -0,0 +1,346 @@
|
|||||||
|
define("vs/rust-DIvkf86i", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: "//",
|
||||||
|
blockComment: ["/*", "*/"]
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"', notIn: ["string"] }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
],
|
||||||
|
folding: {
|
||||||
|
markers: {
|
||||||
|
start: new RegExp("^\\s*#pragma\\s+region\\b"),
|
||||||
|
end: new RegExp("^\\s*#pragma\\s+endregion\\b")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
tokenPostfix: ".rust",
|
||||||
|
defaultToken: "invalid",
|
||||||
|
keywords: [
|
||||||
|
"as",
|
||||||
|
"async",
|
||||||
|
"await",
|
||||||
|
"box",
|
||||||
|
"break",
|
||||||
|
"const",
|
||||||
|
"continue",
|
||||||
|
"crate",
|
||||||
|
"dyn",
|
||||||
|
"else",
|
||||||
|
"enum",
|
||||||
|
"extern",
|
||||||
|
"false",
|
||||||
|
"fn",
|
||||||
|
"for",
|
||||||
|
"if",
|
||||||
|
"impl",
|
||||||
|
"in",
|
||||||
|
"let",
|
||||||
|
"loop",
|
||||||
|
"match",
|
||||||
|
"mod",
|
||||||
|
"move",
|
||||||
|
"mut",
|
||||||
|
"pub",
|
||||||
|
"ref",
|
||||||
|
"return",
|
||||||
|
"self",
|
||||||
|
"static",
|
||||||
|
"struct",
|
||||||
|
"super",
|
||||||
|
"trait",
|
||||||
|
"true",
|
||||||
|
"try",
|
||||||
|
"type",
|
||||||
|
"unsafe",
|
||||||
|
"use",
|
||||||
|
"where",
|
||||||
|
"while",
|
||||||
|
"catch",
|
||||||
|
"default",
|
||||||
|
"union",
|
||||||
|
"static",
|
||||||
|
"abstract",
|
||||||
|
"alignof",
|
||||||
|
"become",
|
||||||
|
"do",
|
||||||
|
"final",
|
||||||
|
"macro",
|
||||||
|
"offsetof",
|
||||||
|
"override",
|
||||||
|
"priv",
|
||||||
|
"proc",
|
||||||
|
"pure",
|
||||||
|
"sizeof",
|
||||||
|
"typeof",
|
||||||
|
"unsized",
|
||||||
|
"virtual",
|
||||||
|
"yield"
|
||||||
|
],
|
||||||
|
typeKeywords: [
|
||||||
|
"Self",
|
||||||
|
"m32",
|
||||||
|
"m64",
|
||||||
|
"m128",
|
||||||
|
"f80",
|
||||||
|
"f16",
|
||||||
|
"f128",
|
||||||
|
"int",
|
||||||
|
"uint",
|
||||||
|
"float",
|
||||||
|
"char",
|
||||||
|
"bool",
|
||||||
|
"u8",
|
||||||
|
"u16",
|
||||||
|
"u32",
|
||||||
|
"u64",
|
||||||
|
"f32",
|
||||||
|
"f64",
|
||||||
|
"i8",
|
||||||
|
"i16",
|
||||||
|
"i32",
|
||||||
|
"i64",
|
||||||
|
"str",
|
||||||
|
"Option",
|
||||||
|
"Either",
|
||||||
|
"c_float",
|
||||||
|
"c_double",
|
||||||
|
"c_void",
|
||||||
|
"FILE",
|
||||||
|
"fpos_t",
|
||||||
|
"DIR",
|
||||||
|
"dirent",
|
||||||
|
"c_char",
|
||||||
|
"c_schar",
|
||||||
|
"c_uchar",
|
||||||
|
"c_short",
|
||||||
|
"c_ushort",
|
||||||
|
"c_int",
|
||||||
|
"c_uint",
|
||||||
|
"c_long",
|
||||||
|
"c_ulong",
|
||||||
|
"size_t",
|
||||||
|
"ptrdiff_t",
|
||||||
|
"clock_t",
|
||||||
|
"time_t",
|
||||||
|
"c_longlong",
|
||||||
|
"c_ulonglong",
|
||||||
|
"intptr_t",
|
||||||
|
"uintptr_t",
|
||||||
|
"off_t",
|
||||||
|
"dev_t",
|
||||||
|
"ino_t",
|
||||||
|
"pid_t",
|
||||||
|
"mode_t",
|
||||||
|
"ssize_t"
|
||||||
|
],
|
||||||
|
constants: ["true", "false", "Some", "None", "Left", "Right", "Ok", "Err"],
|
||||||
|
supportConstants: [
|
||||||
|
"EXIT_FAILURE",
|
||||||
|
"EXIT_SUCCESS",
|
||||||
|
"RAND_MAX",
|
||||||
|
"EOF",
|
||||||
|
"SEEK_SET",
|
||||||
|
"SEEK_CUR",
|
||||||
|
"SEEK_END",
|
||||||
|
"_IOFBF",
|
||||||
|
"_IONBF",
|
||||||
|
"_IOLBF",
|
||||||
|
"BUFSIZ",
|
||||||
|
"FOPEN_MAX",
|
||||||
|
"FILENAME_MAX",
|
||||||
|
"L_tmpnam",
|
||||||
|
"TMP_MAX",
|
||||||
|
"O_RDONLY",
|
||||||
|
"O_WRONLY",
|
||||||
|
"O_RDWR",
|
||||||
|
"O_APPEND",
|
||||||
|
"O_CREAT",
|
||||||
|
"O_EXCL",
|
||||||
|
"O_TRUNC",
|
||||||
|
"S_IFIFO",
|
||||||
|
"S_IFCHR",
|
||||||
|
"S_IFBLK",
|
||||||
|
"S_IFDIR",
|
||||||
|
"S_IFREG",
|
||||||
|
"S_IFMT",
|
||||||
|
"S_IEXEC",
|
||||||
|
"S_IWRITE",
|
||||||
|
"S_IREAD",
|
||||||
|
"S_IRWXU",
|
||||||
|
"S_IXUSR",
|
||||||
|
"S_IWUSR",
|
||||||
|
"S_IRUSR",
|
||||||
|
"F_OK",
|
||||||
|
"R_OK",
|
||||||
|
"W_OK",
|
||||||
|
"X_OK",
|
||||||
|
"STDIN_FILENO",
|
||||||
|
"STDOUT_FILENO",
|
||||||
|
"STDERR_FILENO"
|
||||||
|
],
|
||||||
|
supportMacros: [
|
||||||
|
"format!",
|
||||||
|
"print!",
|
||||||
|
"println!",
|
||||||
|
"panic!",
|
||||||
|
"format_args!",
|
||||||
|
"unreachable!",
|
||||||
|
"write!",
|
||||||
|
"writeln!"
|
||||||
|
],
|
||||||
|
operators: [
|
||||||
|
"!",
|
||||||
|
"!=",
|
||||||
|
"%",
|
||||||
|
"%=",
|
||||||
|
"&",
|
||||||
|
"&=",
|
||||||
|
"&&",
|
||||||
|
"*",
|
||||||
|
"*=",
|
||||||
|
"+",
|
||||||
|
"+=",
|
||||||
|
"-",
|
||||||
|
"-=",
|
||||||
|
"->",
|
||||||
|
".",
|
||||||
|
"..",
|
||||||
|
"...",
|
||||||
|
"/",
|
||||||
|
"/=",
|
||||||
|
":",
|
||||||
|
";",
|
||||||
|
"<<",
|
||||||
|
"<<=",
|
||||||
|
"<",
|
||||||
|
"<=",
|
||||||
|
"=",
|
||||||
|
"==",
|
||||||
|
"=>",
|
||||||
|
">",
|
||||||
|
">=",
|
||||||
|
">>",
|
||||||
|
">>=",
|
||||||
|
"@",
|
||||||
|
"^",
|
||||||
|
"^=",
|
||||||
|
"|",
|
||||||
|
"|=",
|
||||||
|
"||",
|
||||||
|
"_",
|
||||||
|
"?",
|
||||||
|
"#"
|
||||||
|
],
|
||||||
|
escapes: /\\([nrt0\"''\\]|x\h{2}|u\{\h{1,6}\})/,
|
||||||
|
delimiters: /[,]/,
|
||||||
|
symbols: /[\#\!\%\&\*\+\-\.\/\:\;\<\=\>\@\^\|_\?]+/,
|
||||||
|
intSuffixes: /[iu](8|16|32|64|128|size)/,
|
||||||
|
floatSuffixes: /f(32|64)/,
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
// Raw string literals
|
||||||
|
[/r(#*)"/, { token: "string.quote", bracket: "@open", next: "@stringraw.$1" }],
|
||||||
|
[
|
||||||
|
/[a-zA-Z][a-zA-Z0-9_]*!?|_[a-zA-Z0-9_]+/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@typeKeywords": "keyword.type",
|
||||||
|
"@keywords": "keyword",
|
||||||
|
"@supportConstants": "keyword",
|
||||||
|
"@supportMacros": "keyword",
|
||||||
|
"@constants": "keyword",
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// Designator
|
||||||
|
[/\$/, "identifier"],
|
||||||
|
// Lifetime annotations
|
||||||
|
[/'[a-zA-Z_][a-zA-Z0-9_]*(?=[^\'])/, "identifier"],
|
||||||
|
// Byte literal
|
||||||
|
[/'(\S|@escapes)'/, "string.byteliteral"],
|
||||||
|
// Strings
|
||||||
|
[/"/, { token: "string.quote", bracket: "@open", next: "@string" }],
|
||||||
|
{ include: "@numbers" },
|
||||||
|
// Whitespace + comments
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
[
|
||||||
|
/@delimiters/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@keywords": "keyword",
|
||||||
|
"@default": "delimiter"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/[{}()\[\]<>]/, "@brackets"],
|
||||||
|
[/@symbols/, { cases: { "@operators": "operator", "@default": "" } }]
|
||||||
|
],
|
||||||
|
whitespace: [
|
||||||
|
[/[ \t\r\n]+/, "white"],
|
||||||
|
[/\/\*/, "comment", "@comment"],
|
||||||
|
[/\/\/.*$/, "comment"]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
[/[^\/*]+/, "comment"],
|
||||||
|
[/\/\*/, "comment", "@push"],
|
||||||
|
["\\*/", "comment", "@pop"],
|
||||||
|
[/[\/*]/, "comment"]
|
||||||
|
],
|
||||||
|
string: [
|
||||||
|
[/[^\\"]+/, "string"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/\\./, "string.escape.invalid"],
|
||||||
|
[/"/, { token: "string.quote", bracket: "@close", next: "@pop" }]
|
||||||
|
],
|
||||||
|
stringraw: [
|
||||||
|
[/[^"#]+/, { token: "string" }],
|
||||||
|
[
|
||||||
|
/"(#*)/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"$1==$S2": { token: "string.quote", bracket: "@close", next: "@pop" },
|
||||||
|
"@default": { token: "string" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/["#]/, { token: "string" }]
|
||||||
|
],
|
||||||
|
numbers: [
|
||||||
|
//Octal
|
||||||
|
[/(0o[0-7_]+)(@intSuffixes)?/, { token: "number" }],
|
||||||
|
//Binary
|
||||||
|
[/(0b[0-1_]+)(@intSuffixes)?/, { token: "number" }],
|
||||||
|
//Exponent
|
||||||
|
[/[\d][\d_]*(\.[\d][\d_]*)?[eE][+-][\d_]+(@floatSuffixes)?/, { token: "number" }],
|
||||||
|
//Float
|
||||||
|
[/\b(\d\.?[\d_]*)(@floatSuffixes)?\b/, { token: "number" }],
|
||||||
|
//Hexadecimal
|
||||||
|
[/(0x[\da-fA-F]+)_?(@intSuffixes)?/, { token: "number" }],
|
||||||
|
//Integer
|
||||||
|
[/[\d][\d_]*(@intSuffixes?)?/, { token: "number" }]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
118
_internal/editor/dev/vs/sb-DUCWDbCb.js
Normal file
118
_internal/editor/dev/vs/sb-DUCWDbCb.js
Normal file
@@ -0,0 +1,118 @@
|
|||||||
|
define("vs/sb-DUCWDbCb", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: "'"
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["(", ")"],
|
||||||
|
["[", "]"],
|
||||||
|
["If", "EndIf"],
|
||||||
|
["While", "EndWhile"],
|
||||||
|
["For", "EndFor"],
|
||||||
|
["Sub", "EndSub"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: '"', close: '"', notIn: ["string", "comment"] },
|
||||||
|
{ open: "(", close: ")", notIn: ["string", "comment"] },
|
||||||
|
{ open: "[", close: "]", notIn: ["string", "comment"] }
|
||||||
|
]
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".sb",
|
||||||
|
ignoreCase: true,
|
||||||
|
brackets: [
|
||||||
|
{ token: "delimiter.array", open: "[", close: "]" },
|
||||||
|
{ token: "delimiter.parenthesis", open: "(", close: ")" },
|
||||||
|
// Special bracket statement pairs
|
||||||
|
{ token: "keyword.tag-if", open: "If", close: "EndIf" },
|
||||||
|
{ token: "keyword.tag-while", open: "While", close: "EndWhile" },
|
||||||
|
{ token: "keyword.tag-for", open: "For", close: "EndFor" },
|
||||||
|
{ token: "keyword.tag-sub", open: "Sub", close: "EndSub" }
|
||||||
|
],
|
||||||
|
keywords: [
|
||||||
|
"Else",
|
||||||
|
"ElseIf",
|
||||||
|
"EndFor",
|
||||||
|
"EndIf",
|
||||||
|
"EndSub",
|
||||||
|
"EndWhile",
|
||||||
|
"For",
|
||||||
|
"Goto",
|
||||||
|
"If",
|
||||||
|
"Step",
|
||||||
|
"Sub",
|
||||||
|
"Then",
|
||||||
|
"To",
|
||||||
|
"While"
|
||||||
|
],
|
||||||
|
tagwords: ["If", "Sub", "While", "For"],
|
||||||
|
operators: [">", "<", "<>", "<=", ">=", "And", "Or", "+", "-", "*", "/", "="],
|
||||||
|
// we include these common regular expressions
|
||||||
|
identifier: /[a-zA-Z_][\w]*/,
|
||||||
|
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: [
|
||||||
|
// whitespace
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
// classes
|
||||||
|
[/(@identifier)(?=[.])/, "type"],
|
||||||
|
// identifiers, tagwords, and keywords
|
||||||
|
[
|
||||||
|
/@identifier/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@keywords": { token: "keyword.$0" },
|
||||||
|
"@operators": "operator",
|
||||||
|
"@default": "variable.name"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// methods, properties, and events
|
||||||
|
[
|
||||||
|
/([.])(@identifier)/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
$2: ["delimiter", "type.member"],
|
||||||
|
"@default": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// numbers
|
||||||
|
[/\d*\.\d+/, "number.float"],
|
||||||
|
[/\d+/, "number"],
|
||||||
|
// delimiters and operators
|
||||||
|
[/[()\[\]]/, "@brackets"],
|
||||||
|
[
|
||||||
|
/@symbols/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@operators": "operator",
|
||||||
|
"@default": "delimiter"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// strings
|
||||||
|
[/"([^"\\]|\\.)*$/, "string.invalid"],
|
||||||
|
// non-teminated string
|
||||||
|
[/"/, "string", "@string"]
|
||||||
|
],
|
||||||
|
whitespace: [
|
||||||
|
[/[ \t\r\n]+/, ""],
|
||||||
|
[/(\').*$/, "comment"]
|
||||||
|
],
|
||||||
|
string: [
|
||||||
|
[/[^\\"]+/, "string"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/\\./, "string.escape.invalid"],
|
||||||
|
[/"C?/, "string", "@pop"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
373
_internal/editor/dev/vs/scala-Cs4aXuOD.js
Normal file
373
_internal/editor/dev/vs/scala-Cs4aXuOD.js
Normal file
@@ -0,0 +1,373 @@
|
|||||||
|
define("vs/scala-Cs4aXuOD", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
/*
|
||||||
|
* `...` is allowed as an identifier.
|
||||||
|
* $ is allowed in identifiers.
|
||||||
|
* unary_<op> is allowed as an identifier.
|
||||||
|
* <name>_= is allowed as an identifier.
|
||||||
|
*/
|
||||||
|
wordPattern: /(unary_[@~!#%^&*()\-=+\\|:<>\/?]+)|([a-zA-Z_$][\w$]*?_=)|(`[^`]+`)|([a-zA-Z_$][\w$]*)/g,
|
||||||
|
comments: {
|
||||||
|
lineComment: "//",
|
||||||
|
blockComment: ["/*", "*/"]
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
],
|
||||||
|
folding: {
|
||||||
|
markers: {
|
||||||
|
start: new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))"),
|
||||||
|
end: new RegExp("^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
tokenPostfix: ".scala",
|
||||||
|
// We can't easily add everything from Dotty, but we can at least add some of its keywords
|
||||||
|
keywords: [
|
||||||
|
"asInstanceOf",
|
||||||
|
"catch",
|
||||||
|
"class",
|
||||||
|
"classOf",
|
||||||
|
"def",
|
||||||
|
"do",
|
||||||
|
"else",
|
||||||
|
"extends",
|
||||||
|
"finally",
|
||||||
|
"for",
|
||||||
|
"foreach",
|
||||||
|
"forSome",
|
||||||
|
"if",
|
||||||
|
"import",
|
||||||
|
"isInstanceOf",
|
||||||
|
"macro",
|
||||||
|
"match",
|
||||||
|
"new",
|
||||||
|
"object",
|
||||||
|
"package",
|
||||||
|
"return",
|
||||||
|
"throw",
|
||||||
|
"trait",
|
||||||
|
"try",
|
||||||
|
"type",
|
||||||
|
"until",
|
||||||
|
"val",
|
||||||
|
"var",
|
||||||
|
"while",
|
||||||
|
"with",
|
||||||
|
"yield",
|
||||||
|
// Dotty-specific:
|
||||||
|
"given",
|
||||||
|
"enum",
|
||||||
|
"then"
|
||||||
|
],
|
||||||
|
// Dotty-specific:
|
||||||
|
softKeywords: ["as", "export", "extension", "end", "derives", "on"],
|
||||||
|
constants: ["true", "false", "null", "this", "super"],
|
||||||
|
modifiers: [
|
||||||
|
"abstract",
|
||||||
|
"final",
|
||||||
|
"implicit",
|
||||||
|
"lazy",
|
||||||
|
"override",
|
||||||
|
"private",
|
||||||
|
"protected",
|
||||||
|
"sealed"
|
||||||
|
],
|
||||||
|
// Dotty-specific:
|
||||||
|
softModifiers: ["inline", "opaque", "open", "transparent", "using"],
|
||||||
|
name: /(?:[a-z_$][\w$]*|`[^`]+`)/,
|
||||||
|
type: /(?:[A-Z][\w$]*)/,
|
||||||
|
// we include these common regular expressions
|
||||||
|
symbols: /[=><!~?:&|+\-*\/^\\%@#]+/,
|
||||||
|
digits: /\d+(_+\d+)*/,
|
||||||
|
hexdigits: /[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,
|
||||||
|
// C# style strings
|
||||||
|
escapes: /\\(?:[btnfr\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
|
||||||
|
fstring_conv: /[bBhHsScCdoxXeEfgGaAt]|[Tn](?:[HIklMSLNpzZsQ]|[BbhAaCYyjmde]|[RTrDFC])/,
|
||||||
|
// The main tokenizer for our languages
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
// strings
|
||||||
|
[/\braw"""/, { token: "string.quote", bracket: "@open", next: "@rawstringt" }],
|
||||||
|
[/\braw"/, { token: "string.quote", bracket: "@open", next: "@rawstring" }],
|
||||||
|
[/\bs"""/, { token: "string.quote", bracket: "@open", next: "@sstringt" }],
|
||||||
|
[/\bs"/, { token: "string.quote", bracket: "@open", next: "@sstring" }],
|
||||||
|
[/\bf""""/, { token: "string.quote", bracket: "@open", next: "@fstringt" }],
|
||||||
|
[/\bf"/, { token: "string.quote", bracket: "@open", next: "@fstring" }],
|
||||||
|
[/"""/, { token: "string.quote", bracket: "@open", next: "@stringt" }],
|
||||||
|
[/"/, { token: "string.quote", bracket: "@open", next: "@string" }],
|
||||||
|
// numbers
|
||||||
|
[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/, "number.float", "@allowMethod"],
|
||||||
|
[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/, "number.float", "@allowMethod"],
|
||||||
|
[/0[xX](@hexdigits)[Ll]?/, "number.hex", "@allowMethod"],
|
||||||
|
[/(@digits)[fFdD]/, "number.float", "@allowMethod"],
|
||||||
|
[/(@digits)[lL]?/, "number", "@allowMethod"],
|
||||||
|
[/\b_\*/, "key"],
|
||||||
|
[/\b(_)\b/, "keyword", "@allowMethod"],
|
||||||
|
// identifiers and keywords
|
||||||
|
[/\bimport\b/, "keyword", "@import"],
|
||||||
|
[/\b(case)([ \t]+)(class)\b/, ["keyword.modifier", "white", "keyword"]],
|
||||||
|
[/\bcase\b/, "keyword", "@case"],
|
||||||
|
[/\bva[lr]\b/, "keyword", "@vardef"],
|
||||||
|
[
|
||||||
|
/\b(def)([ \t]+)((?:unary_)?@symbols|@name(?:_=)|@name)/,
|
||||||
|
["keyword", "white", "identifier"]
|
||||||
|
],
|
||||||
|
[/@name(?=[ \t]*:(?!:))/, "variable"],
|
||||||
|
[/(\.)(@name|@symbols)/, ["operator", { token: "@rematch", next: "@allowMethod" }]],
|
||||||
|
[/([{(])(\s*)(@name(?=\s*=>))/, ["@brackets", "white", "variable"]],
|
||||||
|
[
|
||||||
|
/@name/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@keywords": "keyword",
|
||||||
|
"@softKeywords": "keyword",
|
||||||
|
"@modifiers": "keyword.modifier",
|
||||||
|
"@softModifiers": "keyword.modifier",
|
||||||
|
"@constants": {
|
||||||
|
token: "constant",
|
||||||
|
next: "@allowMethod"
|
||||||
|
},
|
||||||
|
"@default": {
|
||||||
|
token: "identifier",
|
||||||
|
next: "@allowMethod"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/@type/, "type", "@allowMethod"],
|
||||||
|
// whitespace
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
// @ annotations.
|
||||||
|
[/@[a-zA-Z_$][\w$]*(?:\.[a-zA-Z_$][\w$]*)*/, "annotation"],
|
||||||
|
// delimiters and operators
|
||||||
|
[/[{(]/, "@brackets"],
|
||||||
|
[/[})]/, "@brackets", "@allowMethod"],
|
||||||
|
[/\[/, "operator.square"],
|
||||||
|
[/](?!\s*(?:va[rl]|def|type)\b)/, "operator.square", "@allowMethod"],
|
||||||
|
[/]/, "operator.square"],
|
||||||
|
[/([=-]>|<-|>:|<:|:>|<%)(?=[\s\w()[\]{},\."'`])/, "keyword"],
|
||||||
|
[/@symbols/, "operator"],
|
||||||
|
// delimiter: after number because of .\d floats
|
||||||
|
[/[;,\.]/, "delimiter"],
|
||||||
|
// symbols
|
||||||
|
[/'[a-zA-Z$][\w$]*(?!')/, "attribute.name"],
|
||||||
|
// characters
|
||||||
|
[/'[^\\']'/, "string", "@allowMethod"],
|
||||||
|
[/(')(@escapes)(')/, ["string", "string.escape", { token: "string", next: "@allowMethod" }]],
|
||||||
|
[/'/, "string.invalid"]
|
||||||
|
],
|
||||||
|
import: [
|
||||||
|
[/;/, "delimiter", "@pop"],
|
||||||
|
[/^|$/, "", "@pop"],
|
||||||
|
[/[ \t]+/, "white"],
|
||||||
|
[/[\n\r]+/, "white", "@pop"],
|
||||||
|
[/\/\*/, "comment", "@comment"],
|
||||||
|
[/@name|@type/, "type"],
|
||||||
|
[/[(){}]/, "@brackets"],
|
||||||
|
[/[[\]]/, "operator.square"],
|
||||||
|
[/[\.,]/, "delimiter"]
|
||||||
|
],
|
||||||
|
allowMethod: [
|
||||||
|
[/^|$/, "", "@pop"],
|
||||||
|
[/[ \t]+/, "white"],
|
||||||
|
[/[\n\r]+/, "white", "@pop"],
|
||||||
|
[/\/\*/, "comment", "@comment"],
|
||||||
|
[/(?==>[\s\w([{])/, "keyword", "@pop"],
|
||||||
|
[
|
||||||
|
/(@name|@symbols)(?=[ \t]*[[({"'`]|[ \t]+(?:[+-]?\.?\d|\w))/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@keywords": { token: "keyword", next: "@pop" },
|
||||||
|
"->|<-|>:|<:|<%": { token: "keyword", next: "@pop" },
|
||||||
|
"@default": { token: "@rematch", next: "@pop" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
["", "", "@pop"]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
[/[^\/*]+/, "comment"],
|
||||||
|
[/\/\*/, "comment", "@push"],
|
||||||
|
// nested comment
|
||||||
|
[/\*\//, "comment", "@pop"],
|
||||||
|
[/[\/*]/, "comment"]
|
||||||
|
],
|
||||||
|
case: [
|
||||||
|
[/\b_\*/, "key"],
|
||||||
|
[/\b(_|true|false|null|this|super)\b/, "keyword", "@allowMethod"],
|
||||||
|
[/\bif\b|=>/, "keyword", "@pop"],
|
||||||
|
[/`[^`]+`/, "identifier", "@allowMethod"],
|
||||||
|
[/@name/, "variable", "@allowMethod"],
|
||||||
|
[/:::?|\||@(?![a-z_$])/, "keyword"],
|
||||||
|
{ include: "@root" }
|
||||||
|
],
|
||||||
|
vardef: [
|
||||||
|
[/\b_\*/, "key"],
|
||||||
|
[/\b(_|true|false|null|this|super)\b/, "keyword"],
|
||||||
|
[/@name/, "variable"],
|
||||||
|
[/:::?|\||@(?![a-z_$])/, "keyword"],
|
||||||
|
[/=|:(?!:)/, "operator", "@pop"],
|
||||||
|
[/$/, "white", "@pop"],
|
||||||
|
{ include: "@root" }
|
||||||
|
],
|
||||||
|
string: [
|
||||||
|
[/[^\\"\n\r]+/, "string"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/\\./, "string.escape.invalid"],
|
||||||
|
[
|
||||||
|
/"/,
|
||||||
|
{
|
||||||
|
token: "string.quote",
|
||||||
|
bracket: "@close",
|
||||||
|
switchTo: "@allowMethod"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
stringt: [
|
||||||
|
[/[^\\"\n\r]+/, "string"],
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/\\./, "string.escape.invalid"],
|
||||||
|
[/"(?=""")/, "string"],
|
||||||
|
[
|
||||||
|
/"""/,
|
||||||
|
{
|
||||||
|
token: "string.quote",
|
||||||
|
bracket: "@close",
|
||||||
|
switchTo: "@allowMethod"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/"/, "string"]
|
||||||
|
],
|
||||||
|
fstring: [
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[
|
||||||
|
/"/,
|
||||||
|
{
|
||||||
|
token: "string.quote",
|
||||||
|
bracket: "@close",
|
||||||
|
switchTo: "@allowMethod"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/\$\$/, "string"],
|
||||||
|
[/(\$)([a-z_]\w*)/, ["operator", "identifier"]],
|
||||||
|
[/\$\{/, "operator", "@interp"],
|
||||||
|
[/%%/, "string"],
|
||||||
|
[
|
||||||
|
/(%)([\-#+ 0,(])(\d+|\.\d+|\d+\.\d+)(@fstring_conv)/,
|
||||||
|
["metatag", "keyword.modifier", "number", "metatag"]
|
||||||
|
],
|
||||||
|
[/(%)(\d+|\.\d+|\d+\.\d+)(@fstring_conv)/, ["metatag", "number", "metatag"]],
|
||||||
|
[/(%)([\-#+ 0,(])(@fstring_conv)/, ["metatag", "keyword.modifier", "metatag"]],
|
||||||
|
[/(%)(@fstring_conv)/, ["metatag", "metatag"]],
|
||||||
|
[/./, "string"]
|
||||||
|
],
|
||||||
|
fstringt: [
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/"(?=""")/, "string"],
|
||||||
|
[
|
||||||
|
/"""/,
|
||||||
|
{
|
||||||
|
token: "string.quote",
|
||||||
|
bracket: "@close",
|
||||||
|
switchTo: "@allowMethod"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/\$\$/, "string"],
|
||||||
|
[/(\$)([a-z_]\w*)/, ["operator", "identifier"]],
|
||||||
|
[/\$\{/, "operator", "@interp"],
|
||||||
|
[/%%/, "string"],
|
||||||
|
[
|
||||||
|
/(%)([\-#+ 0,(])(\d+|\.\d+|\d+\.\d+)(@fstring_conv)/,
|
||||||
|
["metatag", "keyword.modifier", "number", "metatag"]
|
||||||
|
],
|
||||||
|
[/(%)(\d+|\.\d+|\d+\.\d+)(@fstring_conv)/, ["metatag", "number", "metatag"]],
|
||||||
|
[/(%)([\-#+ 0,(])(@fstring_conv)/, ["metatag", "keyword.modifier", "metatag"]],
|
||||||
|
[/(%)(@fstring_conv)/, ["metatag", "metatag"]],
|
||||||
|
[/./, "string"]
|
||||||
|
],
|
||||||
|
sstring: [
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[
|
||||||
|
/"/,
|
||||||
|
{
|
||||||
|
token: "string.quote",
|
||||||
|
bracket: "@close",
|
||||||
|
switchTo: "@allowMethod"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/\$\$/, "string"],
|
||||||
|
[/(\$)([a-z_]\w*)/, ["operator", "identifier"]],
|
||||||
|
[/\$\{/, "operator", "@interp"],
|
||||||
|
[/./, "string"]
|
||||||
|
],
|
||||||
|
sstringt: [
|
||||||
|
[/@escapes/, "string.escape"],
|
||||||
|
[/"(?=""")/, "string"],
|
||||||
|
[
|
||||||
|
/"""/,
|
||||||
|
{
|
||||||
|
token: "string.quote",
|
||||||
|
bracket: "@close",
|
||||||
|
switchTo: "@allowMethod"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/\$\$/, "string"],
|
||||||
|
[/(\$)([a-z_]\w*)/, ["operator", "identifier"]],
|
||||||
|
[/\$\{/, "operator", "@interp"],
|
||||||
|
[/./, "string"]
|
||||||
|
],
|
||||||
|
interp: [[/{/, "operator", "@push"], [/}/, "operator", "@pop"], { include: "@root" }],
|
||||||
|
rawstring: [
|
||||||
|
[/[^"]/, "string"],
|
||||||
|
[
|
||||||
|
/"/,
|
||||||
|
{
|
||||||
|
token: "string.quote",
|
||||||
|
bracket: "@close",
|
||||||
|
switchTo: "@allowMethod"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
rawstringt: [
|
||||||
|
[/[^"]/, "string"],
|
||||||
|
[/"(?=""")/, "string"],
|
||||||
|
[
|
||||||
|
/"""/,
|
||||||
|
{
|
||||||
|
token: "string.quote",
|
||||||
|
bracket: "@close",
|
||||||
|
switchTo: "@allowMethod"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[/"/, "string"]
|
||||||
|
],
|
||||||
|
whitespace: [
|
||||||
|
[/[ \t\r\n]+/, "white"],
|
||||||
|
[/\/\*/, "comment", "@comment"],
|
||||||
|
[/\/\/.*$/, "comment"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
111
_internal/editor/dev/vs/scheme-DM9P8uKD.js
Normal file
111
_internal/editor/dev/vs/scheme-DM9P8uKD.js
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
define("vs/scheme-DM9P8uKD", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: ";",
|
||||||
|
blockComment: ["#|", "|#"]
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["(", ")"],
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' }
|
||||||
|
]
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
ignoreCase: true,
|
||||||
|
tokenPostfix: ".scheme",
|
||||||
|
brackets: [
|
||||||
|
{ open: "(", close: ")", token: "delimiter.parenthesis" },
|
||||||
|
{ open: "{", close: "}", token: "delimiter.curly" },
|
||||||
|
{ open: "[", close: "]", token: "delimiter.square" }
|
||||||
|
],
|
||||||
|
keywords: [
|
||||||
|
"case",
|
||||||
|
"do",
|
||||||
|
"let",
|
||||||
|
"loop",
|
||||||
|
"if",
|
||||||
|
"else",
|
||||||
|
"when",
|
||||||
|
"cons",
|
||||||
|
"car",
|
||||||
|
"cdr",
|
||||||
|
"cond",
|
||||||
|
"lambda",
|
||||||
|
"lambda*",
|
||||||
|
"syntax-rules",
|
||||||
|
"format",
|
||||||
|
"set!",
|
||||||
|
"quote",
|
||||||
|
"eval",
|
||||||
|
"append",
|
||||||
|
"list",
|
||||||
|
"list?",
|
||||||
|
"member?",
|
||||||
|
"load"
|
||||||
|
],
|
||||||
|
constants: ["#t", "#f"],
|
||||||
|
operators: ["eq?", "eqv?", "equal?", "and", "or", "not", "null?"],
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
[/#[xXoObB][0-9a-fA-F]+/, "number.hex"],
|
||||||
|
[/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?/, "number.float"],
|
||||||
|
[
|
||||||
|
/(?:\b(?:(define|define-syntax|define-macro))\b)(\s+)((?:\w|\-|\!|\?)*)/,
|
||||||
|
["keyword", "white", "variable"]
|
||||||
|
],
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
{ include: "@strings" },
|
||||||
|
[
|
||||||
|
/[a-zA-Z_#][a-zA-Z0-9_\-\?\!\*]*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@keywords": "keyword",
|
||||||
|
"@constants": "constant",
|
||||||
|
"@operators": "operators",
|
||||||
|
"@default": "identifier"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
[/[^\|#]+/, "comment"],
|
||||||
|
[/#\|/, "comment", "@push"],
|
||||||
|
[/\|#/, "comment", "@pop"],
|
||||||
|
[/[\|#]/, "comment"]
|
||||||
|
],
|
||||||
|
whitespace: [
|
||||||
|
[/[ \t\r\n]+/, "white"],
|
||||||
|
[/#\|/, "comment", "@comment"],
|
||||||
|
[/;.*$/, "comment"]
|
||||||
|
],
|
||||||
|
strings: [
|
||||||
|
[/"$/, "string", "@popall"],
|
||||||
|
[/"(?=.)/, "string", "@multiLineString"]
|
||||||
|
],
|
||||||
|
multiLineString: [
|
||||||
|
[/[^\\"]+$/, "string", "@popall"],
|
||||||
|
[/[^\\"]+/, "string"],
|
||||||
|
[/\\./, "string.escape"],
|
||||||
|
[/"/, "string", "@popall"],
|
||||||
|
[/\\$/, "string"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
263
_internal/editor/dev/vs/scss-DijLV5ju.js
Normal file
263
_internal/editor/dev/vs/scss-DijLV5ju.js
Normal file
@@ -0,0 +1,263 @@
|
|||||||
|
define("vs/scss-DijLV5ju", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
wordPattern: /(#?-?\d*\.\d\w*%?)|([@$#!.:]?[\w-?]+%?)|[@#!.]/g,
|
||||||
|
comments: {
|
||||||
|
blockComment: ["/*", "*/"],
|
||||||
|
lineComment: "//"
|
||||||
|
},
|
||||||
|
brackets: [
|
||||||
|
["{", "}"],
|
||||||
|
["[", "]"],
|
||||||
|
["(", ")"]
|
||||||
|
],
|
||||||
|
autoClosingPairs: [
|
||||||
|
{ open: "{", close: "}", notIn: ["string", "comment"] },
|
||||||
|
{ open: "[", close: "]", notIn: ["string", "comment"] },
|
||||||
|
{ open: "(", close: ")", notIn: ["string", "comment"] },
|
||||||
|
{ open: '"', close: '"', notIn: ["string", "comment"] },
|
||||||
|
{ open: "'", close: "'", notIn: ["string", "comment"] }
|
||||||
|
],
|
||||||
|
surroundingPairs: [
|
||||||
|
{ open: "{", close: "}" },
|
||||||
|
{ open: "[", close: "]" },
|
||||||
|
{ open: "(", close: ")" },
|
||||||
|
{ open: '"', close: '"' },
|
||||||
|
{ open: "'", close: "'" }
|
||||||
|
],
|
||||||
|
folding: {
|
||||||
|
markers: {
|
||||||
|
start: new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),
|
||||||
|
end: new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
tokenPostfix: ".scss",
|
||||||
|
ws: "[ \n\r\f]*",
|
||||||
|
// whitespaces (referenced in several rules)
|
||||||
|
identifier: "-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",
|
||||||
|
brackets: [
|
||||||
|
{ open: "{", close: "}", token: "delimiter.curly" },
|
||||||
|
{ open: "[", close: "]", token: "delimiter.bracket" },
|
||||||
|
{ open: "(", close: ")", token: "delimiter.parenthesis" },
|
||||||
|
{ open: "<", close: ">", token: "delimiter.angle" }
|
||||||
|
],
|
||||||
|
tokenizer: {
|
||||||
|
root: [{ include: "@selector" }],
|
||||||
|
selector: [
|
||||||
|
{ include: "@comments" },
|
||||||
|
{ include: "@import" },
|
||||||
|
{ include: "@variabledeclaration" },
|
||||||
|
{ include: "@warndebug" },
|
||||||
|
// sass: log statements
|
||||||
|
["[@](include)", { token: "keyword", next: "@includedeclaration" }],
|
||||||
|
// sass: include statement
|
||||||
|
[
|
||||||
|
"[@](keyframes|-webkit-keyframes|-moz-keyframes|-o-keyframes)",
|
||||||
|
{ token: "keyword", next: "@keyframedeclaration" }
|
||||||
|
],
|
||||||
|
["[@](page|content|font-face|-moz-document)", { token: "keyword" }],
|
||||||
|
// sass: placeholder for includes
|
||||||
|
["[@](charset|namespace)", { token: "keyword", next: "@declarationbody" }],
|
||||||
|
["[@](function)", { token: "keyword", next: "@functiondeclaration" }],
|
||||||
|
["[@](mixin)", { token: "keyword", next: "@mixindeclaration" }],
|
||||||
|
["url(\\-prefix)?\\(", { token: "meta", next: "@urldeclaration" }],
|
||||||
|
{ include: "@controlstatement" },
|
||||||
|
// sass control statements
|
||||||
|
{ include: "@selectorname" },
|
||||||
|
["[&\\*]", "tag"],
|
||||||
|
// selector symbols
|
||||||
|
["[>\\+,]", "delimiter"],
|
||||||
|
// selector operators
|
||||||
|
["\\[", { token: "delimiter.bracket", next: "@selectorattribute" }],
|
||||||
|
["{", { token: "delimiter.curly", next: "@selectorbody" }]
|
||||||
|
],
|
||||||
|
selectorbody: [
|
||||||
|
["[*_]?@identifier@ws:(?=(\\s|\\d|[^{;}]*[;}]))", "attribute.name", "@rulevalue"],
|
||||||
|
// rule definition: to distinguish from a nested selector check for whitespace, number or a semicolon
|
||||||
|
{ include: "@selector" },
|
||||||
|
// sass: nested selectors
|
||||||
|
["[@](extend)", { token: "keyword", next: "@extendbody" }],
|
||||||
|
// sass: extend other selectors
|
||||||
|
["[@](return)", { token: "keyword", next: "@declarationbody" }],
|
||||||
|
["}", { token: "delimiter.curly", next: "@pop" }]
|
||||||
|
],
|
||||||
|
selectorname: [
|
||||||
|
["#{", { token: "meta", next: "@variableinterpolation" }],
|
||||||
|
// sass: interpolation
|
||||||
|
["(\\.|#(?=[^{])|%|(@identifier)|:)+", "tag"]
|
||||||
|
// selector (.foo, div, ...)
|
||||||
|
],
|
||||||
|
selectorattribute: [{ include: "@term" }, ["]", { token: "delimiter.bracket", next: "@pop" }]],
|
||||||
|
term: [
|
||||||
|
{ include: "@comments" },
|
||||||
|
["url(\\-prefix)?\\(", { token: "meta", next: "@urldeclaration" }],
|
||||||
|
{ include: "@functioninvocation" },
|
||||||
|
{ include: "@numbers" },
|
||||||
|
{ include: "@strings" },
|
||||||
|
{ include: "@variablereference" },
|
||||||
|
["(and\\b|or\\b|not\\b)", "operator"],
|
||||||
|
{ include: "@name" },
|
||||||
|
["([<>=\\+\\-\\*\\/\\^\\|\\~,])", "operator"],
|
||||||
|
[",", "delimiter"],
|
||||||
|
["!default", "literal"],
|
||||||
|
["\\(", { token: "delimiter.parenthesis", next: "@parenthizedterm" }]
|
||||||
|
],
|
||||||
|
rulevalue: [
|
||||||
|
{ include: "@term" },
|
||||||
|
["!important", "literal"],
|
||||||
|
[";", "delimiter", "@pop"],
|
||||||
|
["{", { token: "delimiter.curly", switchTo: "@nestedproperty" }],
|
||||||
|
// sass: nested properties
|
||||||
|
["(?=})", { token: "", next: "@pop" }]
|
||||||
|
// missing semicolon
|
||||||
|
],
|
||||||
|
nestedproperty: [
|
||||||
|
["[*_]?@identifier@ws:", "attribute.name", "@rulevalue"],
|
||||||
|
{ include: "@comments" },
|
||||||
|
["}", { token: "delimiter.curly", next: "@pop" }]
|
||||||
|
],
|
||||||
|
warndebug: [["[@](warn|debug)", { token: "keyword", next: "@declarationbody" }]],
|
||||||
|
import: [["[@](import)", { token: "keyword", next: "@declarationbody" }]],
|
||||||
|
variabledeclaration: [
|
||||||
|
// sass variables
|
||||||
|
["\\$@identifier@ws:", "variable.decl", "@declarationbody"]
|
||||||
|
],
|
||||||
|
urldeclaration: [
|
||||||
|
{ include: "@strings" },
|
||||||
|
["[^)\r\n]+", "string"],
|
||||||
|
["\\)", { token: "meta", next: "@pop" }]
|
||||||
|
],
|
||||||
|
parenthizedterm: [
|
||||||
|
{ include: "@term" },
|
||||||
|
["\\)", { token: "delimiter.parenthesis", next: "@pop" }]
|
||||||
|
],
|
||||||
|
declarationbody: [
|
||||||
|
{ include: "@term" },
|
||||||
|
[";", "delimiter", "@pop"],
|
||||||
|
["(?=})", { token: "", next: "@pop" }]
|
||||||
|
// missing semicolon
|
||||||
|
],
|
||||||
|
extendbody: [
|
||||||
|
{ include: "@selectorname" },
|
||||||
|
["!optional", "literal"],
|
||||||
|
[";", "delimiter", "@pop"],
|
||||||
|
["(?=})", { token: "", next: "@pop" }]
|
||||||
|
// missing semicolon
|
||||||
|
],
|
||||||
|
variablereference: [
|
||||||
|
// sass variable reference
|
||||||
|
["\\$@identifier", "variable.ref"],
|
||||||
|
["\\.\\.\\.", "operator"],
|
||||||
|
// var args in reference
|
||||||
|
["#{", { token: "meta", next: "@variableinterpolation" }]
|
||||||
|
// sass var resolve
|
||||||
|
],
|
||||||
|
variableinterpolation: [
|
||||||
|
{ include: "@variablereference" },
|
||||||
|
["}", { token: "meta", next: "@pop" }]
|
||||||
|
],
|
||||||
|
comments: [
|
||||||
|
["\\/\\*", "comment", "@comment"],
|
||||||
|
["\\/\\/+.*", "comment"]
|
||||||
|
],
|
||||||
|
comment: [
|
||||||
|
["\\*\\/", "comment", "@pop"],
|
||||||
|
[".", "comment"]
|
||||||
|
],
|
||||||
|
name: [["@identifier", "attribute.value"]],
|
||||||
|
numbers: [
|
||||||
|
["(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?", { token: "number", next: "@units" }],
|
||||||
|
["#[0-9a-fA-F_]+(?!\\w)", "number.hex"]
|
||||||
|
],
|
||||||
|
units: [
|
||||||
|
[
|
||||||
|
"(em|ex|ch|rem|fr|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?",
|
||||||
|
"number",
|
||||||
|
"@pop"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
functiondeclaration: [
|
||||||
|
["@identifier@ws\\(", { token: "meta", next: "@parameterdeclaration" }],
|
||||||
|
["{", { token: "delimiter.curly", switchTo: "@functionbody" }]
|
||||||
|
],
|
||||||
|
mixindeclaration: [
|
||||||
|
// mixin with parameters
|
||||||
|
["@identifier@ws\\(", { token: "meta", next: "@parameterdeclaration" }],
|
||||||
|
// mixin without parameters
|
||||||
|
["@identifier", "meta"],
|
||||||
|
["{", { token: "delimiter.curly", switchTo: "@selectorbody" }]
|
||||||
|
],
|
||||||
|
parameterdeclaration: [
|
||||||
|
["\\$@identifier@ws:", "variable.decl"],
|
||||||
|
["\\.\\.\\.", "operator"],
|
||||||
|
// var args in declaration
|
||||||
|
[",", "delimiter"],
|
||||||
|
{ include: "@term" },
|
||||||
|
["\\)", { token: "meta", next: "@pop" }]
|
||||||
|
],
|
||||||
|
includedeclaration: [
|
||||||
|
{ include: "@functioninvocation" },
|
||||||
|
["@identifier", "meta"],
|
||||||
|
[";", "delimiter", "@pop"],
|
||||||
|
["(?=})", { token: "", next: "@pop" }],
|
||||||
|
// missing semicolon
|
||||||
|
["{", { token: "delimiter.curly", switchTo: "@selectorbody" }]
|
||||||
|
],
|
||||||
|
keyframedeclaration: [
|
||||||
|
["@identifier", "meta"],
|
||||||
|
["{", { token: "delimiter.curly", switchTo: "@keyframebody" }]
|
||||||
|
],
|
||||||
|
keyframebody: [
|
||||||
|
{ include: "@term" },
|
||||||
|
["{", { token: "delimiter.curly", next: "@selectorbody" }],
|
||||||
|
["}", { token: "delimiter.curly", next: "@pop" }]
|
||||||
|
],
|
||||||
|
controlstatement: [
|
||||||
|
[
|
||||||
|
"[@](if|else|for|while|each|media)",
|
||||||
|
{ token: "keyword.flow", next: "@controlstatementdeclaration" }
|
||||||
|
]
|
||||||
|
],
|
||||||
|
controlstatementdeclaration: [
|
||||||
|
["(in|from|through|if|to)\\b", { token: "keyword.flow" }],
|
||||||
|
{ include: "@term" },
|
||||||
|
["{", { token: "delimiter.curly", switchTo: "@selectorbody" }]
|
||||||
|
],
|
||||||
|
functionbody: [
|
||||||
|
["[@](return)", { token: "keyword" }],
|
||||||
|
{ include: "@variabledeclaration" },
|
||||||
|
{ include: "@term" },
|
||||||
|
{ include: "@controlstatement" },
|
||||||
|
[";", "delimiter"],
|
||||||
|
["}", { token: "delimiter.curly", next: "@pop" }]
|
||||||
|
],
|
||||||
|
functioninvocation: [["@identifier\\(", { token: "meta", next: "@functionarguments" }]],
|
||||||
|
functionarguments: [
|
||||||
|
["\\$@identifier@ws:", "attribute.name"],
|
||||||
|
["[,]", "delimiter"],
|
||||||
|
{ include: "@term" },
|
||||||
|
["\\)", { token: "meta", next: "@pop" }]
|
||||||
|
],
|
||||||
|
strings: [
|
||||||
|
['~?"', { token: "string.delimiter", next: "@stringenddoublequote" }],
|
||||||
|
["~?'", { token: "string.delimiter", next: "@stringendquote" }]
|
||||||
|
],
|
||||||
|
stringenddoublequote: [
|
||||||
|
["\\\\.", "string"],
|
||||||
|
['"', { token: "string.delimiter", next: "@pop" }],
|
||||||
|
[".", "string"]
|
||||||
|
],
|
||||||
|
stringendquote: [
|
||||||
|
["\\\\.", "string"],
|
||||||
|
["'", { token: "string.delimiter", next: "@pop" }],
|
||||||
|
[".", "string"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
224
_internal/editor/dev/vs/shell-BmIjpZz5.js
Normal file
224
_internal/editor/dev/vs/shell-BmIjpZz5.js
Normal file
@@ -0,0 +1,224 @@
|
|||||||
|
define("vs/shell-BmIjpZz5", ["exports"], (function(exports) {
|
||||||
|
"use strict";
|
||||||
|
const conf = {
|
||||||
|
comments: {
|
||||||
|
lineComment: "#"
|
||||||
|
},
|
||||||
|
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: "`" }
|
||||||
|
]
|
||||||
|
};
|
||||||
|
const language = {
|
||||||
|
defaultToken: "",
|
||||||
|
ignoreCase: true,
|
||||||
|
tokenPostfix: ".shell",
|
||||||
|
brackets: [
|
||||||
|
{ token: "delimiter.bracket", open: "{", close: "}" },
|
||||||
|
{ token: "delimiter.parenthesis", open: "(", close: ")" },
|
||||||
|
{ token: "delimiter.square", open: "[", close: "]" }
|
||||||
|
],
|
||||||
|
keywords: [
|
||||||
|
"if",
|
||||||
|
"then",
|
||||||
|
"do",
|
||||||
|
"else",
|
||||||
|
"elif",
|
||||||
|
"while",
|
||||||
|
"until",
|
||||||
|
"for",
|
||||||
|
"in",
|
||||||
|
"esac",
|
||||||
|
"fi",
|
||||||
|
"fin",
|
||||||
|
"fil",
|
||||||
|
"done",
|
||||||
|
"exit",
|
||||||
|
"set",
|
||||||
|
"unset",
|
||||||
|
"export",
|
||||||
|
"function"
|
||||||
|
],
|
||||||
|
builtins: [
|
||||||
|
"ab",
|
||||||
|
"awk",
|
||||||
|
"bash",
|
||||||
|
"beep",
|
||||||
|
"cat",
|
||||||
|
"cc",
|
||||||
|
"cd",
|
||||||
|
"chown",
|
||||||
|
"chmod",
|
||||||
|
"chroot",
|
||||||
|
"clear",
|
||||||
|
"cp",
|
||||||
|
"curl",
|
||||||
|
"cut",
|
||||||
|
"diff",
|
||||||
|
"echo",
|
||||||
|
"find",
|
||||||
|
"gawk",
|
||||||
|
"gcc",
|
||||||
|
"get",
|
||||||
|
"git",
|
||||||
|
"grep",
|
||||||
|
"hg",
|
||||||
|
"kill",
|
||||||
|
"killall",
|
||||||
|
"ln",
|
||||||
|
"ls",
|
||||||
|
"make",
|
||||||
|
"mkdir",
|
||||||
|
"openssl",
|
||||||
|
"mv",
|
||||||
|
"nc",
|
||||||
|
"node",
|
||||||
|
"npm",
|
||||||
|
"ping",
|
||||||
|
"ps",
|
||||||
|
"restart",
|
||||||
|
"rm",
|
||||||
|
"rmdir",
|
||||||
|
"sed",
|
||||||
|
"service",
|
||||||
|
"sh",
|
||||||
|
"shopt",
|
||||||
|
"shred",
|
||||||
|
"source",
|
||||||
|
"sort",
|
||||||
|
"sleep",
|
||||||
|
"ssh",
|
||||||
|
"start",
|
||||||
|
"stop",
|
||||||
|
"su",
|
||||||
|
"sudo",
|
||||||
|
"svn",
|
||||||
|
"tee",
|
||||||
|
"telnet",
|
||||||
|
"top",
|
||||||
|
"touch",
|
||||||
|
"vi",
|
||||||
|
"vim",
|
||||||
|
"wall",
|
||||||
|
"wc",
|
||||||
|
"wget",
|
||||||
|
"who",
|
||||||
|
"write",
|
||||||
|
"yes",
|
||||||
|
"zsh"
|
||||||
|
],
|
||||||
|
startingWithDash: /\-+\w+/,
|
||||||
|
identifiersWithDashes: /[a-zA-Z]\w+(?:@startingWithDash)+/,
|
||||||
|
// we include these common regular expressions
|
||||||
|
symbols: /[=><!~?&|+\-*\/\^;\.,]+/,
|
||||||
|
// The main tokenizer for our languages
|
||||||
|
tokenizer: {
|
||||||
|
root: [
|
||||||
|
[/@identifiersWithDashes/, ""],
|
||||||
|
[/(\s)((?:@startingWithDash)+)/, ["white", "attribute.name"]],
|
||||||
|
[
|
||||||
|
/[a-zA-Z]\w*/,
|
||||||
|
{
|
||||||
|
cases: {
|
||||||
|
"@keywords": "keyword",
|
||||||
|
"@builtins": "type.identifier",
|
||||||
|
"@default": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
{ include: "@whitespace" },
|
||||||
|
{ include: "@strings" },
|
||||||
|
{ include: "@parameters" },
|
||||||
|
{ include: "@heredoc" },
|
||||||
|
[/[{}\[\]()]/, "@brackets"],
|
||||||
|
[/@symbols/, "delimiter"],
|
||||||
|
{ include: "@numbers" },
|
||||||
|
[/[,;]/, "delimiter"]
|
||||||
|
],
|
||||||
|
whitespace: [
|
||||||
|
[/\s+/, "white"],
|
||||||
|
[/(^#!.*$)/, "metatag"],
|
||||||
|
[/(^#.*$)/, "comment"]
|
||||||
|
],
|
||||||
|
numbers: [
|
||||||
|
[/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
|
||||||
|
[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/, "number.hex"],
|
||||||
|
[/\d+/, "number"]
|
||||||
|
],
|
||||||
|
// Recognize strings, including those broken across lines
|
||||||
|
strings: [
|
||||||
|
[/'/, "string", "@stringBody"],
|
||||||
|
[/"/, "string", "@dblStringBody"]
|
||||||
|
],
|
||||||
|
stringBody: [
|
||||||
|
[/'/, "string", "@popall"],
|
||||||
|
[/./, "string"]
|
||||||
|
],
|
||||||
|
dblStringBody: [
|
||||||
|
[/"/, "string", "@popall"],
|
||||||
|
[/./, "string"]
|
||||||
|
],
|
||||||
|
heredoc: [
|
||||||
|
[
|
||||||
|
/(<<[-<]?)(\s*)(['"`]?)([\w\-]+)(['"`]?)/,
|
||||||
|
[
|
||||||
|
"constants",
|
||||||
|
"white",
|
||||||
|
"string.heredoc.delimiter",
|
||||||
|
"string.heredoc",
|
||||||
|
"string.heredoc.delimiter"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
],
|
||||||
|
parameters: [
|
||||||
|
[/\$\d+/, "variable.predefined"],
|
||||||
|
[/\$\w+/, "variable"],
|
||||||
|
[/\$[*@#?\-$!0_]/, "variable"],
|
||||||
|
[/\$'/, "variable", "@parameterBodyQuote"],
|
||||||
|
[/\$"/, "variable", "@parameterBodyDoubleQuote"],
|
||||||
|
[/\$\(/, "variable", "@parameterBodyParen"],
|
||||||
|
[/\$\{/, "variable", "@parameterBodyCurlyBrace"]
|
||||||
|
],
|
||||||
|
parameterBodyQuote: [
|
||||||
|
[/[^#:%*@\-!_']+/, "variable"],
|
||||||
|
[/[#:%*@\-!_]/, "delimiter"],
|
||||||
|
[/[']/, "variable", "@pop"]
|
||||||
|
],
|
||||||
|
parameterBodyDoubleQuote: [
|
||||||
|
[/[^#:%*@\-!_"]+/, "variable"],
|
||||||
|
[/[#:%*@\-!_]/, "delimiter"],
|
||||||
|
[/["]/, "variable", "@pop"]
|
||||||
|
],
|
||||||
|
parameterBodyParen: [
|
||||||
|
[/[^#:%*@\-!_)]+/, "variable"],
|
||||||
|
[/[#:%*@\-!_]/, "delimiter"],
|
||||||
|
[/[)]/, "variable", "@pop"]
|
||||||
|
],
|
||||||
|
parameterBodyCurlyBrace: [
|
||||||
|
[/[^#:%*@\-!_}]+/, "variable"],
|
||||||
|
[/[#:%*@\-!_]/, "delimiter"],
|
||||||
|
[/[}]/, "variable", "@pop"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.conf = conf;
|
||||||
|
exports.language = language;
|
||||||
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||||
|
}));
|
||||||
1370
_internal/editor/dev/vs/solidity-ClNCm0U5.js
Normal file
1370
_internal/editor/dev/vs/solidity-ClNCm0U5.js
Normal file
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user