123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- /*!-----------------------------------------------------------------------------
- * 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/sb/sb.ts
- var 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"] }
- ]
- };
- var language = {
- defaultToken: "",
- tokenPostfix: ".sb",
- ignoreCase: true,
- brackets: [
- { token: "delimiter.array", open: "[", close: "]" },
- { token: "delimiter.parenthesis", open: "(", close: ")" },
- { 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", "+", "-", "*", "/", "="],
- 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})/,
- tokenizer: {
- root: [
- { include: "@whitespace" },
- [/(@identifier)(?=[.])/, "type"],
- [
- /@identifier/,
- {
- cases: {
- "@keywords": { token: "keyword.$0" },
- "@operators": "operator",
- "@default": "variable.name"
- }
- }
- ],
- [
- /([.])(@identifier)/,
- {
- cases: {
- $2: ["delimiter", "type.member"],
- "@default": ""
- }
- }
- ],
- [/\d*\.\d+/, "number.float"],
- [/\d+/, "number"],
- [/[()\[\]]/, "@brackets"],
- [
- /@symbols/,
- {
- cases: {
- "@operators": "operator",
- "@default": "delimiter"
- }
- }
- ],
- [/"([^"\\]|\\.)*$/, "string.invalid"],
- [/"/, "string", "@string"]
- ],
- whitespace: [
- [/[ \t\r\n]+/, ""],
- [/(\').*$/, "comment"]
- ],
- string: [
- [/[^\\"]+/, "string"],
- [/@escapes/, "string.escape"],
- [/\\./, "string.escape.invalid"],
- [/"C?/, "string", "@pop"]
- ]
- }
- };
- export {
- conf,
- language
- };
|