@kong-ui-public/monaco-editor 0.3.0 → 0.3.1-pr.2622.ca1f578c8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/package.json +1 -1
  2. package/dist/abap-CrvW7_qN.js +0 -1398
  3. package/dist/apex-BAOI8p1v.js +0 -327
  4. package/dist/assets/css.worker-Cb0JI69t.js +0 -93
  5. package/dist/assets/editor.worker-DzMH9hFo.js +0 -26
  6. package/dist/assets/html.worker-BNFZMwEc.js +0 -470
  7. package/dist/assets/json.worker-BCybXpia.js +0 -58
  8. package/dist/assets/ts.worker-DAVh1bw1.js +0 -67731
  9. package/dist/azcli-BlCk_UqW.js +0 -68
  10. package/dist/bat-DPoEelVx.js +0 -100
  11. package/dist/bicep-Cp1F394l.js +0 -102
  12. package/dist/cameligo-CWqtSlQs.js +0 -174
  13. package/dist/clojure-CKBp32Gf.js +0 -761
  14. package/dist/coffee-CDo6vc-J.js +0 -232
  15. package/dist/cpp-DokufPgf.js +0 -389
  16. package/dist/csharp-BQi3szM0.js +0 -326
  17. package/dist/csp-BSGtCCZ-.js +0 -53
  18. package/dist/css-DEPFDJfb.js +0 -187
  19. package/dist/cssMode-BoaW_8EY.js +0 -141
  20. package/dist/cypher-DAb1vOxS.js +0 -263
  21. package/dist/dart-C8p4jewR.js +0 -281
  22. package/dist/dockerfile-DP0iLFPN.js +0 -130
  23. package/dist/ecl-BDQHA6fi.js +0 -456
  24. package/dist/elixir-D4II6kDM.js +0 -569
  25. package/dist/flow9-StcnL-VB.js +0 -142
  26. package/dist/freemarker2-DLxAEbra.js +0 -982
  27. package/dist/fsharp-DdUVp3EN.js +0 -217
  28. package/dist/go-D1-I258M.js +0 -218
  29. package/dist/graphql-DWkL3f8U.js +0 -151
  30. package/dist/handlebars-H1fAc7pY.js +0 -412
  31. package/dist/hcl-D_0MNifv.js +0 -183
  32. package/dist/html-Bjh5RSoV.js +0 -301
  33. package/dist/htmlMode-XE4-FvOp.js +0 -152
  34. package/dist/index-BtAApC8Z.js +0 -129109
  35. package/dist/ini-C4I2-MT7.js +0 -71
  36. package/dist/java-OBvaP_SS.js +0 -232
  37. package/dist/javascript-BL-y8a3N.js +0 -70
  38. package/dist/jsonMode-BO164Oml.js +0 -569
  39. package/dist/julia-BmDH8Kkf.js +0 -511
  40. package/dist/kotlin-Dhu5AGOD.js +0 -252
  41. package/dist/less-CzmjXREq.js +0 -162
  42. package/dist/lexon-CV2c4pN9.js +0 -157
  43. package/dist/liquid-B4OW2xCW.js +0 -233
  44. package/dist/lspLanguageFeatures-CLOLvtro.js +0 -1458
  45. package/dist/lua-CFY5U8qF.js +0 -162
  46. package/dist/m3-BL_AnZVh.js +0 -210
  47. package/dist/markdown-CWKQPXCv.js +0 -229
  48. package/dist/mdx-BscoYQtT.js +0 -158
  49. package/dist/mips-ButYmJ5E.js +0 -198
  50. package/dist/monaco-editor.es.js +0 -5
  51. package/dist/monaco-editor.umd.js +0 -1234
  52. package/dist/msdax-C3cnXqDh.js +0 -375
  53. package/dist/mysql-YlSHaf6G.js +0 -878
  54. package/dist/objective-c-Dwnlproe.js +0 -183
  55. package/dist/pascal-UzGbSWEN.js +0 -251
  56. package/dist/pascaligo-CslTgu68.js +0 -164
  57. package/dist/perl-oj6r_mgw.js +0 -626
  58. package/dist/pgsql-DSBO0Mev.js +0 -851
  59. package/dist/php-YzCD--7j.js +0 -500
  60. package/dist/pla-CmylB8vQ.js +0 -137
  61. package/dist/postiats-CLFW5gNY.js +0 -907
  62. package/dist/powerquery-CmOWUvlh.js +0 -890
  63. package/dist/powershell-fHQcmBLK.js +0 -239
  64. package/dist/protobuf-p5BArb-9.js +0 -420
  65. package/dist/pug-gVdUDvqf.js +0 -402
  66. package/dist/python-CdwN88xa.js +0 -294
  67. package/dist/qsharp-DnrWSUlt.js +0 -301
  68. package/dist/r-Cv309K2z.js +0 -243
  69. package/dist/razor-BzIEQn-i.js +0 -543
  70. package/dist/redis-DTcS4wMj.js +0 -302
  71. package/dist/redshift-hLxZVESM.js +0 -809
  72. package/dist/restructuredtext-C898lK4f.js +0 -174
  73. package/dist/ruby-CgKtnJIQ.js +0 -511
  74. package/dist/rust-bj8oxVnh.js +0 -343
  75. package/dist/sb-DWynz26l.js +0 -115
  76. package/dist/scala-BL5z1UEd.js +0 -370
  77. package/dist/scheme-DUJsH6VU.js +0 -108
  78. package/dist/scss-CxjmhvaL.js +0 -262
  79. package/dist/shell-D14Zs1dF.js +0 -221
  80. package/dist/solidity-WyRm-BGK.js +0 -1367
  81. package/dist/sophia-CKk-_Oa5.js +0 -199
  82. package/dist/sparql-DHtmINMZ.js +0 -201
  83. package/dist/sql-Dqaj5JHC.js +0 -853
  84. package/dist/st-Bj2IIaop.js +0 -416
  85. package/dist/style.css +0 -1
  86. package/dist/swift-DwxP72iM.js +0 -312
  87. package/dist/systemverilog-D7wJfuql.js +0 -576
  88. package/dist/tcl-0ApMt-eC.js +0 -232
  89. package/dist/tsMode-Bm7Ao8a0.js +0 -946
  90. package/dist/twig-DxwbdmvQ.js +0 -392
  91. package/dist/types/components/MonacoEditor.vue.d.ts +0 -52
  92. package/dist/types/components/MonacoEditor.vue.d.ts.map +0 -1
  93. package/dist/types/components/MonacoEditorStatusOverlay.vue.d.ts +0 -19
  94. package/dist/types/components/MonacoEditorStatusOverlay.vue.d.ts.map +0 -1
  95. package/dist/types/composables/useI18n.d.ts +0 -9
  96. package/dist/types/composables/useI18n.d.ts.map +0 -1
  97. package/dist/types/composables/useMonacoEditor.d.ts +0 -25
  98. package/dist/types/composables/useMonacoEditor.d.ts.map +0 -1
  99. package/dist/types/constants/index.d.ts +0 -3
  100. package/dist/types/constants/index.d.ts.map +0 -1
  101. package/dist/types/index.d.ts +0 -5
  102. package/dist/types/index.d.ts.map +0 -1
  103. package/dist/types/tests/mocks/monaco-editor-api.d.ts +0 -2
  104. package/dist/types/tests/mocks/monaco-editor-api.d.ts.map +0 -1
  105. package/dist/types/types/index.d.ts +0 -69
  106. package/dist/types/types/index.d.ts.map +0 -1
  107. package/dist/typescript-xVL7xVgf.js +0 -336
  108. package/dist/typespec-Fd-JwSuS.js +0 -117
  109. package/dist/vb-CxuyYE1I.js +0 -372
  110. package/dist/wgsl-DoEGc31J.js +0 -439
  111. package/dist/xml-5AZvXygb.js +0 -88
  112. package/dist/yaml-BpKYQQZ4.js +0 -199
@@ -1,174 +0,0 @@
1
- const e = {
2
- brackets: [
3
- ["{", "}"],
4
- ["[", "]"],
5
- ["(", ")"]
6
- ],
7
- autoClosingPairs: [
8
- { open: "{", close: "}" },
9
- { open: "[", close: "]" },
10
- { open: "(", close: ")" },
11
- { open: "<", close: ">", notIn: ["string"] }
12
- ],
13
- surroundingPairs: [
14
- { open: "(", close: ")" },
15
- { open: "[", close: "]" },
16
- { open: "`", close: "`" }
17
- ],
18
- folding: {
19
- markers: {
20
- start: new RegExp("^\\s*<!--\\s*#?region\\b.*-->"),
21
- end: new RegExp("^\\s*<!--\\s*#?endregion\\b.*-->")
22
- }
23
- }
24
- }, n = {
25
- defaultToken: "",
26
- tokenPostfix: ".rst",
27
- control: /[\\`*_\[\]{}()#+\-\.!]/,
28
- escapes: /\\(?:@control)/,
29
- empty: [
30
- "area",
31
- "base",
32
- "basefont",
33
- "br",
34
- "col",
35
- "frame",
36
- "hr",
37
- "img",
38
- "input",
39
- "isindex",
40
- "link",
41
- "meta",
42
- "param"
43
- ],
44
- alphanumerics: /[A-Za-z0-9]/,
45
- simpleRefNameWithoutBq: /(?:@alphanumerics[-_+:.]*@alphanumerics)+|(?:@alphanumerics+)/,
46
- simpleRefName: /(?:`@phrase`|@simpleRefNameWithoutBq)/,
47
- phrase: /@simpleRefNameWithoutBq(?:\s@simpleRefNameWithoutBq)*/,
48
- citationName: /[A-Za-z][A-Za-z0-9-_.]*/,
49
- blockLiteralStart: /(?:[!"#$%&'()*+,-./:;<=>?@\[\]^_`{|}~]|[\s])/,
50
- precedingChars: /(?:[ -:/'"<([{])/,
51
- followingChars: /(?:[ -.,:;!?/'")\]}>]|$)/,
52
- punctuation: /(=|-|~|`|#|"|\^|\+|\*|:|\.|'|_|\+)/,
53
- tokenizer: {
54
- root: [
55
- //sections
56
- [/^(@punctuation{3,}$){1,1}?/, "keyword"],
57
- //line-blocks
58
- //No rules on it
59
- //bullet-lists
60
- [/^\s*([\*\-+‣•]|[a-zA-Z0-9]+\.|\([a-zA-Z0-9]+\)|[a-zA-Z0-9]+\))\s/, "keyword"],
61
- //literal-blocks
62
- [/([ ]::)\s*$/, "keyword", "@blankLineOfLiteralBlocks"],
63
- [/(::)\s*$/, "keyword", "@blankLineOfLiteralBlocks"],
64
- { include: "@tables" },
65
- { include: "@explicitMarkupBlocks" },
66
- { include: "@inlineMarkup" }
67
- ],
68
- explicitMarkupBlocks: [
69
- //citations
70
- { include: "@citations" },
71
- //footnotes
72
- { include: "@footnotes" },
73
- //directives
74
- [
75
- /^(\.\.\s)(@simpleRefName)(::\s)(.*)$/,
76
- [{ token: "", next: "subsequentLines" }, "keyword", "", ""]
77
- ],
78
- //hyperlink-targets
79
- [
80
- /^(\.\.)(\s+)(_)(@simpleRefName)(:)(\s+)(.*)/,
81
- [{ token: "", next: "hyperlinks" }, "", "", "string.link", "", "", "string.link"]
82
- ],
83
- //anonymous-hyperlinks
84
- [
85
- /^((?:(?:\.\.)(?:\s+))?)(__)(:)(\s+)(.*)/,
86
- [{ token: "", next: "subsequentLines" }, "", "", "", "string.link"]
87
- ],
88
- [/^(__\s+)(.+)/, ["", "string.link"]],
89
- //substitution-definitions
90
- [
91
- /^(\.\.)( \|)([^| ]+[^|]*[^| ]*)(\| )(@simpleRefName)(:: .*)/,
92
- [{ token: "", next: "subsequentLines" }, "", "string.link", "", "keyword", ""],
93
- "@rawBlocks"
94
- ],
95
- [/(\|)([^| ]+[^|]*[^| ]*)(\|_{0,2})/, ["", "string.link", ""]],
96
- //comments
97
- [/^(\.\.)([ ].*)$/, [{ token: "", next: "@comments" }, "comment"]]
98
- ],
99
- inlineMarkup: [
100
- { include: "@citationsReference" },
101
- { include: "@footnotesReference" },
102
- //hyperlink-references
103
- [/(@simpleRefName)(_{1,2})/, ["string.link", ""]],
104
- //embedded-uris-and-aliases
105
- [/(`)([^<`]+\s+)(<)(.*)(>)(`)(_)/, ["", "string.link", "", "string.link", "", "", ""]],
106
- //emphasis
107
- [/\*\*([^\\*]|\*(?!\*))+\*\*/, "strong"],
108
- [/\*[^*]+\*/, "emphasis"],
109
- //inline-literals
110
- [/(``)((?:[^`]|\`(?!`))+)(``)/, ["", "keyword", ""]],
111
- [/(__\s+)(.+)/, ["", "keyword"]],
112
- //interpreted-text
113
- [/(:)((?:@simpleRefNameWithoutBq)?)(:`)([^`]+)(`)/, ["", "keyword", "", "", ""]],
114
- [/(`)([^`]+)(`:)((?:@simpleRefNameWithoutBq)?)(:)/, ["", "", "", "keyword", ""]],
115
- [/(`)([^`]+)(`)/, ""],
116
- //inline-internal-targets
117
- [/(_`)(@phrase)(`)/, ["", "string.link", ""]]
118
- ],
119
- citations: [
120
- [
121
- /^(\.\.\s+\[)((?:@citationName))(\]\s+)(.*)/,
122
- [{ token: "", next: "@subsequentLines" }, "string.link", "", ""]
123
- ]
124
- ],
125
- citationsReference: [[/(\[)(@citationName)(\]_)/, ["", "string.link", ""]]],
126
- footnotes: [
127
- [
128
- /^(\.\.\s+\[)((?:[0-9]+))(\]\s+.*)/,
129
- [{ token: "", next: "@subsequentLines" }, "string.link", ""]
130
- ],
131
- [
132
- /^(\.\.\s+\[)((?:#@simpleRefName?))(\]\s+)(.*)/,
133
- [{ token: "", next: "@subsequentLines" }, "string.link", "", ""]
134
- ],
135
- [
136
- /^(\.\.\s+\[)((?:\*))(\]\s+)(.*)/,
137
- [{ token: "", next: "@subsequentLines" }, "string.link", "", ""]
138
- ]
139
- ],
140
- footnotesReference: [
141
- [/(\[)([0-9]+)(\])(_)/, ["", "string.link", "", ""]],
142
- [/(\[)(#@simpleRefName?)(\])(_)/, ["", "string.link", "", ""]],
143
- [/(\[)(\*)(\])(_)/, ["", "string.link", "", ""]]
144
- ],
145
- blankLineOfLiteralBlocks: [
146
- [/^$/, "", "@subsequentLinesOfLiteralBlocks"],
147
- [/^.*$/, "", "@pop"]
148
- ],
149
- subsequentLinesOfLiteralBlocks: [
150
- [/(@blockLiteralStart+)(.*)/, ["keyword", ""]],
151
- [/^(?!blockLiteralStart)/, "", "@popall"]
152
- ],
153
- subsequentLines: [
154
- [/^[\s]+.*/, ""],
155
- [/^(?!\s)/, "", "@pop"]
156
- ],
157
- hyperlinks: [
158
- [/^[\s]+.*/, "string.link"],
159
- [/^(?!\s)/, "", "@pop"]
160
- ],
161
- comments: [
162
- [/^[\s]+.*/, "comment"],
163
- [/^(?!\s)/, "", "@pop"]
164
- ],
165
- tables: [
166
- [/\+-[+-]+/, "keyword"],
167
- [/\+=[+=]+/, "keyword"]
168
- ]
169
- }
170
- };
171
- export {
172
- e as conf,
173
- n as language
174
- };
@@ -1,511 +0,0 @@
1
- const e = {
2
- comments: {
3
- lineComment: "#",
4
- blockComment: ["=begin", "=end"]
5
- },
6
- brackets: [
7
- ["(", ")"],
8
- ["{", "}"],
9
- ["[", "]"]
10
- ],
11
- autoClosingPairs: [
12
- { open: "{", close: "}" },
13
- { open: "[", close: "]" },
14
- { open: "(", close: ")" },
15
- { open: '"', close: '"' },
16
- { open: "'", close: "'" }
17
- ],
18
- surroundingPairs: [
19
- { open: "{", close: "}" },
20
- { open: "[", close: "]" },
21
- { open: "(", close: ")" },
22
- { open: '"', close: '"' },
23
- { open: "'", close: "'" }
24
- ],
25
- indentationRules: {
26
- increaseIndentPattern: new RegExp(
27
- `^\\s*((begin|class|(private|protected)\\s+def|def|else|elsif|ensure|for|if|module|rescue|unless|until|when|while|case)|([^#]*\\sdo\\b)|([^#]*=\\s*(case|if|unless)))\\b([^#\\{;]|("|'|/).*\\4)*(#.*)?$`
28
- ),
29
- decreaseIndentPattern: new RegExp(
30
- "^\\s*([}\\]]([,)]?\\s*(#|$)|\\.[a-zA-Z_]\\w*\\b)|(end|rescue|ensure|else|elsif|when)\\b)"
31
- )
32
- }
33
- }, t = {
34
- tokenPostfix: ".ruby",
35
- keywords: [
36
- "__LINE__",
37
- "__ENCODING__",
38
- "__FILE__",
39
- "BEGIN",
40
- "END",
41
- "alias",
42
- "and",
43
- "begin",
44
- "break",
45
- "case",
46
- "class",
47
- "def",
48
- "defined?",
49
- "do",
50
- "else",
51
- "elsif",
52
- "end",
53
- "ensure",
54
- "for",
55
- "false",
56
- "if",
57
- "in",
58
- "module",
59
- "next",
60
- "nil",
61
- "not",
62
- "or",
63
- "redo",
64
- "rescue",
65
- "retry",
66
- "return",
67
- "self",
68
- "super",
69
- "then",
70
- "true",
71
- "undef",
72
- "unless",
73
- "until",
74
- "when",
75
- "while",
76
- "yield"
77
- ],
78
- keywordops: ["::", "..", "...", "?", ":", "=>"],
79
- builtins: [
80
- "require",
81
- "public",
82
- "private",
83
- "include",
84
- "extend",
85
- "attr_reader",
86
- "protected",
87
- "private_class_method",
88
- "protected_class_method",
89
- "new"
90
- ],
91
- // these are closed by 'end' (if, while and until are handled separately)
92
- declarations: [
93
- "module",
94
- "class",
95
- "def",
96
- "case",
97
- "do",
98
- "begin",
99
- "for",
100
- "if",
101
- "while",
102
- "until",
103
- "unless"
104
- ],
105
- linedecls: ["def", "case", "do", "begin", "for", "if", "while", "until", "unless"],
106
- operators: [
107
- "^",
108
- "&",
109
- "|",
110
- "<=>",
111
- "==",
112
- "===",
113
- "!~",
114
- "=~",
115
- ">",
116
- ">=",
117
- "<",
118
- "<=",
119
- "<<",
120
- ">>",
121
- "+",
122
- "-",
123
- "*",
124
- "/",
125
- "%",
126
- "**",
127
- "~",
128
- "+@",
129
- "-@",
130
- "[]",
131
- "[]=",
132
- "`",
133
- "+=",
134
- "-=",
135
- "*=",
136
- "**=",
137
- "/=",
138
- "^=",
139
- "%=",
140
- "<<=",
141
- ">>=",
142
- "&=",
143
- "&&=",
144
- "||=",
145
- "|="
146
- ],
147
- brackets: [
148
- { open: "(", close: ")", token: "delimiter.parenthesis" },
149
- { open: "{", close: "}", token: "delimiter.curly" },
150
- { open: "[", close: "]", token: "delimiter.square" }
151
- ],
152
- // we include these common regular expressions
153
- symbols: /[=><!~?:&|+\-*\/\^%\.]+/,
154
- // escape sequences
155
- escape: /(?:[abefnrstv\\"'\n\r]|[0-7]{1,3}|x[0-9A-Fa-f]{1,2}|u[0-9A-Fa-f]{4})/,
156
- escapes: /\\(?:C\-(@escape|.)|c(@escape|.)|@escape)/,
157
- decpart: /\d(_?\d)*/,
158
- decimal: /0|@decpart/,
159
- delim: /[^a-zA-Z0-9\s\n\r]/,
160
- heredelim: /(?:\w+|'[^']*'|"[^"]*"|`[^`]*`)/,
161
- regexpctl: /[(){}\[\]\$\^|\-*+?\.]/,
162
- regexpesc: /\\(?:[AzZbBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})?/,
163
- // The main tokenizer for our languages
164
- tokenizer: {
165
- // Main entry.
166
- // root.<decl> where decl is the current opening declaration (like 'class')
167
- root: [
168
- // identifiers and keywords
169
- // most complexity here is due to matching 'end' correctly with declarations.
170
- // We distinguish a declaration that comes first on a line, versus declarations further on a line (which are most likey modifiers)
171
- [
172
- /^(\s*)([a-z_]\w*[!?=]?)/,
173
- [
174
- "white",
175
- {
176
- cases: {
177
- "for|until|while": {
178
- token: "keyword.$2",
179
- next: "@dodecl.$2"
180
- },
181
- "@declarations": {
182
- token: "keyword.$2",
183
- next: "@root.$2"
184
- },
185
- end: { token: "keyword.$S2", next: "@pop" },
186
- "@keywords": "keyword",
187
- "@builtins": "predefined",
188
- "@default": "identifier"
189
- }
190
- }
191
- ]
192
- ],
193
- [
194
- /[a-z_]\w*[!?=]?/,
195
- {
196
- cases: {
197
- "if|unless|while|until": {
198
- token: "keyword.$0x",
199
- next: "@modifier.$0x"
200
- },
201
- for: { token: "keyword.$2", next: "@dodecl.$2" },
202
- "@linedecls": { token: "keyword.$0", next: "@root.$0" },
203
- end: { token: "keyword.$S2", next: "@pop" },
204
- "@keywords": "keyword",
205
- "@builtins": "predefined",
206
- "@default": "identifier"
207
- }
208
- }
209
- ],
210
- [/[A-Z][\w]*[!?=]?/, "constructor.identifier"],
211
- // constant
212
- [/\$[\w]*/, "global.constant"],
213
- // global
214
- [/@[\w]*/, "namespace.instance.identifier"],
215
- // instance
216
- [/@@@[\w]*/, "namespace.class.identifier"],
217
- // class
218
- // here document
219
- [/<<[-~](@heredelim).*/, { token: "string.heredoc.delimiter", next: "@heredoc.$1" }],
220
- [/[ \t\r\n]+<<(@heredelim).*/, { token: "string.heredoc.delimiter", next: "@heredoc.$1" }],
221
- [/^<<(@heredelim).*/, { token: "string.heredoc.delimiter", next: "@heredoc.$1" }],
222
- // whitespace
223
- { include: "@whitespace" },
224
- // strings
225
- [/"/, { token: "string.d.delim", next: '@dstring.d."' }],
226
- [/'/, { token: "string.sq.delim", next: "@sstring.sq" }],
227
- // % literals. For efficiency, rematch in the 'pstring' state
228
- [/%([rsqxwW]|Q?)/, { token: "@rematch", next: "pstring" }],
229
- // commands and symbols
230
- [/`/, { token: "string.x.delim", next: "@dstring.x.`" }],
231
- [/:(\w|[$@])\w*[!?=]?/, "string.s"],
232
- [/:"/, { token: "string.s.delim", next: '@dstring.s."' }],
233
- [/:'/, { token: "string.s.delim", next: "@sstring.s" }],
234
- // regular expressions. Lookahead for a (not escaped) closing forwardslash on the same line
235
- [/\/(?=(\\\/|[^\/\n])+\/)/, { token: "regexp.delim", next: "@regexp" }],
236
- // delimiters and operators
237
- [/[{}()\[\]]/, "@brackets"],
238
- [
239
- /@symbols/,
240
- {
241
- cases: {
242
- "@keywordops": "keyword",
243
- "@operators": "operator",
244
- "@default": ""
245
- }
246
- }
247
- ],
248
- [/[;,]/, "delimiter"],
249
- // numbers
250
- [/0[xX][0-9a-fA-F](_?[0-9a-fA-F])*/, "number.hex"],
251
- [/0[_oO][0-7](_?[0-7])*/, "number.octal"],
252
- [/0[bB][01](_?[01])*/, "number.binary"],
253
- [/0[dD]@decpart/, "number"],
254
- [
255
- /@decimal((\.@decpart)?([eE][\-+]?@decpart)?)/,
256
- {
257
- cases: {
258
- $1: "number.float",
259
- "@default": "number"
260
- }
261
- }
262
- ]
263
- ],
264
- // used to not treat a 'do' as a block opener if it occurs on the same
265
- // line as a 'do' statement: 'while|until|for'
266
- // dodecl.<decl> where decl is the declarations started, like 'while'
267
- dodecl: [
268
- [/^/, { token: "", switchTo: "@root.$S2" }],
269
- // get out of do-skipping mode on a new line
270
- [
271
- /[a-z_]\w*[!?=]?/,
272
- {
273
- cases: {
274
- end: { token: "keyword.$S2", next: "@pop" },
275
- // end on same line
276
- do: { token: "keyword", switchTo: "@root.$S2" },
277
- // do on same line: not an open bracket here
278
- "@linedecls": {
279
- token: "@rematch",
280
- switchTo: "@root.$S2"
281
- },
282
- // other declaration on same line: rematch
283
- "@keywords": "keyword",
284
- "@builtins": "predefined",
285
- "@default": "identifier"
286
- }
287
- }
288
- ],
289
- { include: "@root" }
290
- ],
291
- // used to prevent potential modifiers ('if|until|while|unless') to match
292
- // with 'end' keywords.
293
- // modifier.<decl>x where decl is the declaration starter, like 'if'
294
- modifier: [
295
- [/^/, "", "@pop"],
296
- // it was a modifier: get out of modifier mode on a new line
297
- [
298
- /[a-z_]\w*[!?=]?/,
299
- {
300
- cases: {
301
- end: { token: "keyword.$S2", next: "@pop" },
302
- // end on same line
303
- "then|else|elsif|do": {
304
- token: "keyword",
305
- switchTo: "@root.$S2"
306
- },
307
- // real declaration and not a modifier
308
- "@linedecls": {
309
- token: "@rematch",
310
- switchTo: "@root.$S2"
311
- },
312
- // other declaration => not a modifier
313
- "@keywords": "keyword",
314
- "@builtins": "predefined",
315
- "@default": "identifier"
316
- }
317
- }
318
- ],
319
- { include: "@root" }
320
- ],
321
- // single quote strings (also used for symbols)
322
- // sstring.<kind> where kind is 'sq' (single quote) or 's' (symbol)
323
- sstring: [
324
- [/[^\\']+/, "string.$S2"],
325
- [/\\\\|\\'|\\$/, "string.$S2.escape"],
326
- [/\\./, "string.$S2.invalid"],
327
- [/'/, { token: "string.$S2.delim", next: "@pop" }]
328
- ],
329
- // double quoted "string".
330
- // dstring.<kind>.<delim> where kind is 'd' (double quoted), 'x' (command), or 's' (symbol)
331
- // and delim is the ending delimiter (" or `)
332
- dstring: [
333
- [/[^\\`"#]+/, "string.$S2"],
334
- [/#/, "string.$S2.escape", "@interpolated"],
335
- [/\\$/, "string.$S2.escape"],
336
- [/@escapes/, "string.$S2.escape"],
337
- [/\\./, "string.$S2.escape.invalid"],
338
- [
339
- /[`"]/,
340
- {
341
- cases: {
342
- "$#==$S3": { token: "string.$S2.delim", next: "@pop" },
343
- "@default": "string.$S2"
344
- }
345
- }
346
- ]
347
- ],
348
- // literal documents
349
- // heredoc.<close> where close is the closing delimiter
350
- heredoc: [
351
- [
352
- /^(\s*)(@heredelim)$/,
353
- {
354
- cases: {
355
- "$2==$S2": ["string.heredoc", { token: "string.heredoc.delimiter", next: "@pop" }],
356
- "@default": ["string.heredoc", "string.heredoc"]
357
- }
358
- }
359
- ],
360
- [/.*/, "string.heredoc"]
361
- ],
362
- // interpolated sequence
363
- interpolated: [
364
- [/\$\w*/, "global.constant", "@pop"],
365
- [/@\w*/, "namespace.class.identifier", "@pop"],
366
- [/@@@\w*/, "namespace.instance.identifier", "@pop"],
367
- [
368
- /[{]/,
369
- {
370
- token: "string.escape.curly",
371
- switchTo: "@interpolated_compound"
372
- }
373
- ],
374
- ["", "", "@pop"]
375
- // just a # is interpreted as a #
376
- ],
377
- // any code
378
- interpolated_compound: [
379
- [/[}]/, { token: "string.escape.curly", next: "@pop" }],
380
- { include: "@root" }
381
- ],
382
- // %r quoted regexp
383
- // pregexp.<open>.<close> where open/close are the open/close delimiter
384
- pregexp: [
385
- { include: "@whitespace" },
386
- // turns out that you can quote using regex control characters, aargh!
387
- // for example; %r|kgjgaj| is ok (even though | is used for alternation)
388
- // so, we need to match those first
389
- [
390
- /[^\(\{\[\\]/,
391
- {
392
- cases: {
393
- "$#==$S3": { token: "regexp.delim", next: "@pop" },
394
- "$#==$S2": { token: "regexp.delim", next: "@push" },
395
- // nested delimiters are allowed..
396
- "~[)}\\]]": "@brackets.regexp.escape.control",
397
- "~@regexpctl": "regexp.escape.control",
398
- "@default": "regexp"
399
- }
400
- }
401
- ],
402
- { include: "@regexcontrol" }
403
- ],
404
- // We match regular expression quite precisely
405
- regexp: [
406
- { include: "@regexcontrol" },
407
- [/[^\\\/]/, "regexp"],
408
- ["/[ixmp]*", { token: "regexp.delim" }, "@pop"]
409
- ],
410
- regexcontrol: [
411
- [
412
- /(\{)(\d+(?:,\d*)?)(\})/,
413
- [
414
- "@brackets.regexp.escape.control",
415
- "regexp.escape.control",
416
- "@brackets.regexp.escape.control"
417
- ]
418
- ],
419
- [
420
- /(\[)(\^?)/,
421
- ["@brackets.regexp.escape.control", { token: "regexp.escape.control", next: "@regexrange" }]
422
- ],
423
- [/(\()(\?[:=!])/, ["@brackets.regexp.escape.control", "regexp.escape.control"]],
424
- [/\(\?#/, { token: "regexp.escape.control", next: "@regexpcomment" }],
425
- [/[()]/, "@brackets.regexp.escape.control"],
426
- [/@regexpctl/, "regexp.escape.control"],
427
- [/\\$/, "regexp.escape"],
428
- [/@regexpesc/, "regexp.escape"],
429
- [/\\\./, "regexp.invalid"],
430
- [/#/, "regexp.escape", "@interpolated"]
431
- ],
432
- regexrange: [
433
- [/-/, "regexp.escape.control"],
434
- [/\^/, "regexp.invalid"],
435
- [/\\$/, "regexp.escape"],
436
- [/@regexpesc/, "regexp.escape"],
437
- [/[^\]]/, "regexp"],
438
- [/\]/, "@brackets.regexp.escape.control", "@pop"]
439
- ],
440
- regexpcomment: [
441
- [/[^)]+/, "comment"],
442
- [/\)/, { token: "regexp.escape.control", next: "@pop" }]
443
- ],
444
- // % quoted strings
445
- // A bit repetitive since we need to often special case the kind of ending delimiter
446
- pstring: [
447
- [/%([qws])\(/, { token: "string.$1.delim", switchTo: "@qstring.$1.(.)" }],
448
- [/%([qws])\[/, { token: "string.$1.delim", switchTo: "@qstring.$1.[.]" }],
449
- [/%([qws])\{/, { token: "string.$1.delim", switchTo: "@qstring.$1.{.}" }],
450
- [/%([qws])</, { token: "string.$1.delim", switchTo: "@qstring.$1.<.>" }],
451
- [/%([qws])(@delim)/, { token: "string.$1.delim", switchTo: "@qstring.$1.$2.$2" }],
452
- [/%r\(/, { token: "regexp.delim", switchTo: "@pregexp.(.)" }],
453
- [/%r\[/, { token: "regexp.delim", switchTo: "@pregexp.[.]" }],
454
- [/%r\{/, { token: "regexp.delim", switchTo: "@pregexp.{.}" }],
455
- [/%r</, { token: "regexp.delim", switchTo: "@pregexp.<.>" }],
456
- [/%r(@delim)/, { token: "regexp.delim", switchTo: "@pregexp.$1.$1" }],
457
- [/%(x|W|Q?)\(/, { token: "string.$1.delim", switchTo: "@qqstring.$1.(.)" }],
458
- [/%(x|W|Q?)\[/, { token: "string.$1.delim", switchTo: "@qqstring.$1.[.]" }],
459
- [/%(x|W|Q?)\{/, { token: "string.$1.delim", switchTo: "@qqstring.$1.{.}" }],
460
- [/%(x|W|Q?)</, { token: "string.$1.delim", switchTo: "@qqstring.$1.<.>" }],
461
- [/%(x|W|Q?)(@delim)/, { token: "string.$1.delim", switchTo: "@qqstring.$1.$2.$2" }],
462
- [/%([rqwsxW]|Q?)./, { token: "invalid", next: "@pop" }],
463
- // recover
464
- [/./, { token: "invalid", next: "@pop" }]
465
- // recover
466
- ],
467
- // non-expanded quoted string.
468
- // qstring.<kind>.<open>.<close>
469
- // kind = q|w|s (single quote, array, symbol)
470
- // open = open delimiter
471
- // close = close delimiter
472
- qstring: [
473
- [/\\$/, "string.$S2.escape"],
474
- [/\\./, "string.$S2.escape"],
475
- [
476
- /./,
477
- {
478
- cases: {
479
- "$#==$S4": { token: "string.$S2.delim", next: "@pop" },
480
- "$#==$S3": { token: "string.$S2.delim", next: "@push" },
481
- // nested delimiters are allowed..
482
- "@default": "string.$S2"
483
- }
484
- }
485
- ]
486
- ],
487
- // expanded quoted string.
488
- // qqstring.<kind>.<open>.<close>
489
- // kind = Q|W|x (double quote, array, command)
490
- // open = open delimiter
491
- // close = close delimiter
492
- qqstring: [[/#/, "string.$S2.escape", "@interpolated"], { include: "@qstring" }],
493
- // whitespace & comments
494
- whitespace: [
495
- [/[ \t\r\n]+/, ""],
496
- [/^\s*=begin\b/, "comment", "@comment"],
497
- [/#.*$/, "comment"]
498
- ],
499
- comment: [
500
- [/[^=]+/, "comment"],
501
- [/^\s*=begin\b/, "comment.invalid"],
502
- // nested comment
503
- [/^\s*=end\b.*/, "comment", "@pop"],
504
- [/[=]/, "comment"]
505
- ]
506
- }
507
- };
508
- export {
509
- e as conf,
510
- t as language
511
- };