awa
This commit is contained in:
1
_internal/editor/esm/vs/basic-languages/lexon/lexon.contribution.d.ts
vendored
Normal file
1
_internal/editor/esm/vs/basic-languages/lexon/lexon.contribution.d.ts
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export {}
|
||||
@@ -0,0 +1,24 @@
|
||||
/*!-----------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Version: 0.54.0(7c2310116c57517348bbd868a21139f32454be22)
|
||||
* Released under the MIT license
|
||||
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
|
||||
*-----------------------------------------------------------------------------*/
|
||||
|
||||
|
||||
// src/basic-languages/lexon/lexon.contribution.ts
|
||||
import { registerLanguage } from "../_.contribution.js";
|
||||
registerLanguage({
|
||||
id: "lexon",
|
||||
extensions: [".lex"],
|
||||
aliases: ["Lexon"],
|
||||
loader: () => {
|
||||
if (false) {
|
||||
return new Promise((resolve, reject) => {
|
||||
__require(["vs/basic-languages/lexon/lexon"], resolve, reject);
|
||||
});
|
||||
} else {
|
||||
return import("./lexon.js");
|
||||
}
|
||||
}
|
||||
});
|
||||
167
_internal/editor/esm/vs/basic-languages/lexon/lexon.js
Normal file
167
_internal/editor/esm/vs/basic-languages/lexon/lexon.js
Normal file
@@ -0,0 +1,167 @@
|
||||
/*!-----------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Version: 0.54.0(7c2310116c57517348bbd868a21139f32454be22)
|
||||
* Released under the MIT license
|
||||
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
|
||||
*-----------------------------------------------------------------------------*/
|
||||
|
||||
|
||||
// src/basic-languages/lexon/lexon.ts
|
||||
var 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")
|
||||
}
|
||||
}
|
||||
};
|
||||
var 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"]]
|
||||
}
|
||||
};
|
||||
export {
|
||||
conf,
|
||||
language
|
||||
};
|
||||
Reference in New Issue
Block a user