/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.36.1(6c56744c3419458f0dd48864520b759d1a3a1ca8) * 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" }, 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 = { 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" ], symbols: /[=>](?!@symbols)/, "@brackets"], [/@symbols/, "delimiter"], [/\d*\.\d*\.\d*/, "number.semver"], [/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"], [/0[xX][0-9a-fA-F]+/, "number.hex"], [/\d+/, "number"], [/[;,.]/, "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 };