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