123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- /*!-----------------------------------------------------------------------------
- * Copyright (c) Microsoft Corporation. All rights reserved.
- * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
- * Released under the MIT license
- * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
- *-----------------------------------------------------------------------------*/
- // src/basic-languages/pascaligo/pascaligo.ts
- var 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: "'" }
- ]
- };
- var 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",
- "+",
- "-",
- "*",
- "/",
- "@",
- "&",
- "^",
- "%"
- ],
- symbols: /[=><:@\^&|+\-*\/\^%]+/,
- tokenizer: {
- root: [
- [
- /[a-zA-Z_][\w]*/,
- {
- cases: {
- "@keywords": { token: "keyword.$0" },
- "@default": "identifier"
- }
- }
- ],
- { include: "@whitespace" },
- [/[{}()\[\]]/, "@brackets"],
- [/[<>](?!@symbols)/, "@brackets"],
- [
- /@symbols/,
- {
- cases: {
- "@operators": "delimiter",
- "@default": ""
- }
- }
- ],
- [/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
- [/\$[0-9a-fA-F]{1,16}/, "number.hex"],
- [/\d+/, "number"],
- [/[;,.]/, "delimiter"],
- [/'([^'\\]|\\.)*$/, "string.invalid"],
- [/'/, "string", "@string"],
- [/'[^\\']'/, "string"],
- [/'/, "string.invalid"],
- [/\#\d+/, "string"]
- ],
- comment: [
- [/[^\(\*]+/, "comment"],
- [/\*\)/, "comment", "@pop"],
- [/\(\*/, "comment"]
- ],
- string: [
- [/[^\\']+/, "string"],
- [/\\./, "string.escape.invalid"],
- [/'/, { token: "string.quote", bracket: "@close", next: "@pop" }]
- ],
- whitespace: [
- [/[ \t\r\n]+/, "white"],
- [/\(\*/, "comment", "@comment"],
- [/\/\/.*$/, "comment"]
- ]
- }
- };
- export {
- conf,
- language
- };
|