lexon-AGZTN2IK.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. import "./chunk-2LSFTFF7.js";
  2. // node_modules/.pnpm/monaco-editor@0.38.0/node_modules/monaco-editor/esm/vs/basic-languages/lexon/lexon.js
  3. var conf = {
  4. comments: {
  5. lineComment: "COMMENT"
  6. },
  7. brackets: [["(", ")"]],
  8. autoClosingPairs: [
  9. { open: "{", close: "}" },
  10. { open: "[", close: "]" },
  11. { open: "(", close: ")" },
  12. { open: '"', close: '"' },
  13. { open: ":", close: "." }
  14. ],
  15. surroundingPairs: [
  16. { open: "{", close: "}" },
  17. { open: "[", close: "]" },
  18. { open: "(", close: ")" },
  19. { open: "`", close: "`" },
  20. { open: '"', close: '"' },
  21. { open: "'", close: "'" },
  22. { open: ":", close: "." }
  23. ],
  24. folding: {
  25. markers: {
  26. start: new RegExp("^\\s*(::\\s*|COMMENT\\s+)#region"),
  27. end: new RegExp("^\\s*(::\\s*|COMMENT\\s+)#endregion")
  28. }
  29. }
  30. };
  31. var language = {
  32. tokenPostfix: ".lexon",
  33. ignoreCase: true,
  34. keywords: [
  35. "lexon",
  36. "lex",
  37. "clause",
  38. "terms",
  39. "contracts",
  40. "may",
  41. "pay",
  42. "pays",
  43. "appoints",
  44. "into",
  45. "to"
  46. ],
  47. typeKeywords: ["amount", "person", "key", "time", "date", "asset", "text"],
  48. operators: [
  49. "less",
  50. "greater",
  51. "equal",
  52. "le",
  53. "gt",
  54. "or",
  55. "and",
  56. "add",
  57. "added",
  58. "subtract",
  59. "subtracted",
  60. "multiply",
  61. "multiplied",
  62. "times",
  63. "divide",
  64. "divided",
  65. "is",
  66. "be",
  67. "certified"
  68. ],
  69. symbols: /[=><!~?:&|+\-*\/\^%]+/,
  70. tokenizer: {
  71. root: [
  72. [/^(\s*)(comment:?(?:\s.*|))$/, ["", "comment"]],
  73. [
  74. /"/,
  75. {
  76. token: "identifier.quote",
  77. bracket: "@open",
  78. next: "@quoted_identifier"
  79. }
  80. ],
  81. [
  82. "LEX$",
  83. {
  84. token: "keyword",
  85. bracket: "@open",
  86. next: "@identifier_until_period"
  87. }
  88. ],
  89. ["LEXON", { token: "keyword", bracket: "@open", next: "@semver" }],
  90. [
  91. ":",
  92. {
  93. token: "delimiter",
  94. bracket: "@open",
  95. next: "@identifier_until_period"
  96. }
  97. ],
  98. [
  99. /[a-z_$][\w$]*/,
  100. {
  101. cases: {
  102. "@operators": "operator",
  103. "@typeKeywords": "keyword.type",
  104. "@keywords": "keyword",
  105. "@default": "identifier"
  106. }
  107. }
  108. ],
  109. { include: "@whitespace" },
  110. [/[{}()\[\]]/, "@brackets"],
  111. [/[<>](?!@symbols)/, "@brackets"],
  112. [/@symbols/, "delimiter"],
  113. [/\d*\.\d*\.\d*/, "number.semver"],
  114. [/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
  115. [/0[xX][0-9a-fA-F]+/, "number.hex"],
  116. [/\d+/, "number"],
  117. [/[;,.]/, "delimiter"]
  118. ],
  119. quoted_identifier: [
  120. [/[^\\"]+/, "identifier"],
  121. [/"/, { token: "identifier.quote", bracket: "@close", next: "@pop" }]
  122. ],
  123. space_identifier_until_period: [
  124. [":", "delimiter"],
  125. [" ", { token: "white", next: "@identifier_rest" }]
  126. ],
  127. identifier_until_period: [
  128. { include: "@whitespace" },
  129. [":", { token: "delimiter", next: "@identifier_rest" }],
  130. [/[^\\.]+/, "identifier"],
  131. [/\./, { token: "delimiter", bracket: "@close", next: "@pop" }]
  132. ],
  133. identifier_rest: [
  134. [/[^\\.]+/, "identifier"],
  135. [/\./, { token: "delimiter", bracket: "@close", next: "@pop" }]
  136. ],
  137. semver: [
  138. { include: "@whitespace" },
  139. [":", "delimiter"],
  140. [/\d*\.\d*\.\d*/, { token: "number.semver", bracket: "@close", next: "@pop" }]
  141. ],
  142. whitespace: [[/[ \t\r\n]+/, "white"]]
  143. }
  144. };
  145. export {
  146. conf,
  147. language
  148. };
  149. /*! Bundled license information:
  150. monaco-editor/esm/vs/basic-languages/lexon/lexon.js:
  151. (*!-----------------------------------------------------------------------------
  152. * Copyright (c) Microsoft Corporation. All rights reserved.
  153. * Version: 0.38.0(0e330ae453813de4e6cf272460fb79c7117073d0)
  154. * Released under the MIT license
  155. * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
  156. *-----------------------------------------------------------------------------*)
  157. */
  158. //# sourceMappingURL=lexon-AGZTN2IK.js.map