@lvce-editor/shared-process 0.18.8 → 0.18.9

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 (187) hide show
  1. package/package.json +4 -4
  2. package/src/parts/ExportStatic/ExportStatic.js +5 -5
  3. package/src/parts/Platform/Platform.js +3 -3
  4. package/extensions/builtin.language-basics-bat/README.md +0 -14
  5. package/extensions/builtin.language-basics-bat/extension.json +0 -12
  6. package/extensions/builtin.language-basics-bat/src/tokenizeBat.js +0 -33
  7. package/extensions/builtin.language-basics-c/README.md +0 -14
  8. package/extensions/builtin.language-basics-c/extension.json +0 -12
  9. package/extensions/builtin.language-basics-c/src/tokenizeC.js +0 -211
  10. package/extensions/builtin.language-basics-coffeescript/README.md +0 -14
  11. package/extensions/builtin.language-basics-coffeescript/extension.json +0 -12
  12. package/extensions/builtin.language-basics-coffeescript/src/tokenizeCoffeeScript.js +0 -257
  13. package/extensions/builtin.language-basics-cpp/README.md +0 -14
  14. package/extensions/builtin.language-basics-cpp/extension.json +0 -32
  15. package/extensions/builtin.language-basics-cpp/languageConfiguration.json +0 -5
  16. package/extensions/builtin.language-basics-cpp/src/tokenizeCpp.js +0 -317
  17. package/extensions/builtin.language-basics-cson/README.md +0 -16
  18. package/extensions/builtin.language-basics-cson/extension.json +0 -13
  19. package/extensions/builtin.language-basics-cson/languageConfiguration.json +0 -21
  20. package/extensions/builtin.language-basics-cson/src/tokenizeCson.js +0 -207
  21. package/extensions/builtin.language-basics-css/README.md +0 -16
  22. package/extensions/builtin.language-basics-css/extension.json +0 -13
  23. package/extensions/builtin.language-basics-css/languageConfiguration.json +0 -21
  24. package/extensions/builtin.language-basics-css/src/tokenizeCss.js +0 -659
  25. package/extensions/builtin.language-basics-dart/README.md +0 -14
  26. package/extensions/builtin.language-basics-dart/extension.json +0 -12
  27. package/extensions/builtin.language-basics-dart/src/tokenizeDart.js +0 -133
  28. package/extensions/builtin.language-basics-desktop/README.md +0 -14
  29. package/extensions/builtin.language-basics-desktop/extension.json +0 -12
  30. package/extensions/builtin.language-basics-desktop/src/tokenizeDesktop.js +0 -166
  31. package/extensions/builtin.language-basics-docker/README.md +0 -14
  32. package/extensions/builtin.language-basics-docker/extension.json +0 -24
  33. package/extensions/builtin.language-basics-docker/src/tokenizeDockerfile.js +0 -131
  34. package/extensions/builtin.language-basics-dotenv/README.md +0 -14
  35. package/extensions/builtin.language-basics-dotenv/extension.json +0 -26
  36. package/extensions/builtin.language-basics-dotenv/src/tokenizeDotenv.js +0 -301
  37. package/extensions/builtin.language-basics-editorconfig/README.md +0 -14
  38. package/extensions/builtin.language-basics-editorconfig/extension.json +0 -12
  39. package/extensions/builtin.language-basics-editorconfig/src/tokenizeEditorConfig.js +0 -173
  40. package/extensions/builtin.language-basics-elixir/README.md +0 -14
  41. package/extensions/builtin.language-basics-elixir/extension.json +0 -12
  42. package/extensions/builtin.language-basics-elixir/src/tokenizeElixir.js +0 -150
  43. package/extensions/builtin.language-basics-elm/README.md +0 -14
  44. package/extensions/builtin.language-basics-elm/extension.json +0 -12
  45. package/extensions/builtin.language-basics-elm/src/tokenizeElm.js +0 -298
  46. package/extensions/builtin.language-basics-gitattributes/README.md +0 -14
  47. package/extensions/builtin.language-basics-gitattributes/extension.json +0 -12
  48. package/extensions/builtin.language-basics-gitattributes/src/tokenizeGitAttributes.js +0 -159
  49. package/extensions/builtin.language-basics-gn/README.md +0 -14
  50. package/extensions/builtin.language-basics-gn/extension.json +0 -12
  51. package/extensions/builtin.language-basics-gn/src/tokenizeGn.js +0 -178
  52. package/extensions/builtin.language-basics-go/README.md +0 -14
  53. package/extensions/builtin.language-basics-go/extension.json +0 -13
  54. package/extensions/builtin.language-basics-go/src/tokenizeGo.js +0 -295
  55. package/extensions/builtin.language-basics-graphql/README.md +0 -14
  56. package/extensions/builtin.language-basics-graphql/extension.json +0 -12
  57. package/extensions/builtin.language-basics-graphql/src/tokenizeGraphql.js +0 -432
  58. package/extensions/builtin.language-basics-html/README.md +0 -14
  59. package/extensions/builtin.language-basics-html/extension.json +0 -13
  60. package/extensions/builtin.language-basics-html/languageConfiguration.json +0 -66
  61. package/extensions/builtin.language-basics-html/src/tokenizeHtml.js +0 -551
  62. package/extensions/builtin.language-basics-java/README.md +0 -14
  63. package/extensions/builtin.language-basics-java/extension.json +0 -13
  64. package/extensions/builtin.language-basics-java/languageConfiguration.json +0 -31
  65. package/extensions/builtin.language-basics-java/src/tokenizeJava.js +0 -253
  66. package/extensions/builtin.language-basics-javascript/README.md +0 -14
  67. package/extensions/builtin.language-basics-javascript/extension.json +0 -14
  68. package/extensions/builtin.language-basics-javascript/languageConfiguration.json +0 -40
  69. package/extensions/builtin.language-basics-javascript/src/tokenizeJavaScript.js +0 -614
  70. package/extensions/builtin.language-basics-json/README.md +0 -14
  71. package/extensions/builtin.language-basics-json/extension.json +0 -60
  72. package/extensions/builtin.language-basics-json/src/tokenizeJson.js +0 -356
  73. package/extensions/builtin.language-basics-jsx/README.md +0 -14
  74. package/extensions/builtin.language-basics-jsx/extension.json +0 -13
  75. package/extensions/builtin.language-basics-jsx/src/tokenizeJsx.js +0 -661
  76. package/extensions/builtin.language-basics-julia/README.md +0 -18
  77. package/extensions/builtin.language-basics-julia/extension.json +0 -12
  78. package/extensions/builtin.language-basics-julia/src/tokenizeJulia.js +0 -181
  79. package/extensions/builtin.language-basics-kotlin/README.md +0 -14
  80. package/extensions/builtin.language-basics-kotlin/extension.json +0 -12
  81. package/extensions/builtin.language-basics-kotlin/src/tokenizeKotlin.js +0 -274
  82. package/extensions/builtin.language-basics-less/LICENSE +0 -21
  83. package/extensions/builtin.language-basics-less/README.md +0 -14
  84. package/extensions/builtin.language-basics-less/extension.json +0 -12
  85. package/extensions/builtin.language-basics-less/languageConfiguration.json +0 -17
  86. package/extensions/builtin.language-basics-less/src/tokenizeLess.js +0 -609
  87. package/extensions/builtin.language-basics-markdown/README.md +0 -14
  88. package/extensions/builtin.language-basics-markdown/extension.json +0 -12
  89. package/extensions/builtin.language-basics-markdown/src/tokenizeMarkdown.js +0 -441
  90. package/extensions/builtin.language-basics-mdx/README.md +0 -14
  91. package/extensions/builtin.language-basics-mdx/extension.json +0 -12
  92. package/extensions/builtin.language-basics-mdx/src/tokenizeMdx.js +0 -395
  93. package/extensions/builtin.language-basics-nvmrc/README.md +0 -14
  94. package/extensions/builtin.language-basics-nvmrc/extension.json +0 -12
  95. package/extensions/builtin.language-basics-nvmrc/src/tokenizeNvmrc.js +0 -30
  96. package/extensions/builtin.language-basics-perl/README.md +0 -14
  97. package/extensions/builtin.language-basics-perl/extension.json +0 -13
  98. package/extensions/builtin.language-basics-perl/src/tokenizePerl.js +0 -200
  99. package/extensions/builtin.language-basics-plaintext/README.md +0 -14
  100. package/extensions/builtin.language-basics-plaintext/extension.json +0 -12
  101. package/extensions/builtin.language-basics-plaintext/src/tokenizePlaintext.js +0 -28
  102. package/extensions/builtin.language-basics-powershell/README.md +0 -14
  103. package/extensions/builtin.language-basics-powershell/extension.json +0 -12
  104. package/extensions/builtin.language-basics-powershell/src/tokenizePowershell.js +0 -141
  105. package/extensions/builtin.language-basics-python/README.md +0 -14
  106. package/extensions/builtin.language-basics-python/extension.json +0 -15
  107. package/extensions/builtin.language-basics-python/languageConfiguration.json +0 -5
  108. package/extensions/builtin.language-basics-python/src/tokenizePython.js +0 -304
  109. package/extensions/builtin.language-basics-r/README.md +0 -14
  110. package/extensions/builtin.language-basics-r/extension.json +0 -12
  111. package/extensions/builtin.language-basics-r/src/tokenizeR.js +0 -71
  112. package/extensions/builtin.language-basics-ruby/README.md +0 -14
  113. package/extensions/builtin.language-basics-ruby/extension.json +0 -48
  114. package/extensions/builtin.language-basics-ruby/src/tokenizeRuby.js +0 -248
  115. package/extensions/builtin.language-basics-rust/LICENSE +0 -21
  116. package/extensions/builtin.language-basics-rust/README.md +0 -14
  117. package/extensions/builtin.language-basics-rust/extension.json +0 -12
  118. package/extensions/builtin.language-basics-rust/languageConfiguration.json +0 -17
  119. package/extensions/builtin.language-basics-rust/src/tokenizeRust.js +0 -158
  120. package/extensions/builtin.language-basics-scss/README.md +0 -14
  121. package/extensions/builtin.language-basics-scss/extension.json +0 -12
  122. package/extensions/builtin.language-basics-scss/src/tokenizeScss.js +0 -28
  123. package/extensions/builtin.language-basics-shellscript/README.md +0 -14
  124. package/extensions/builtin.language-basics-shellscript/extension.json +0 -56
  125. package/extensions/builtin.language-basics-shellscript/src/tokenizeShellScript.js +0 -569
  126. package/extensions/builtin.language-basics-svelte/README.md +0 -14
  127. package/extensions/builtin.language-basics-svelte/extension.json +0 -13
  128. package/extensions/builtin.language-basics-svelte/src/tokenizeSvelte.js +0 -428
  129. package/extensions/builtin.language-basics-toml/README.md +0 -14
  130. package/extensions/builtin.language-basics-toml/extension.json +0 -14
  131. package/extensions/builtin.language-basics-toml/src/tokenizeToml.js +0 -299
  132. package/extensions/builtin.language-basics-typescript/README.md +0 -14
  133. package/extensions/builtin.language-basics-typescript/extension.json +0 -17
  134. package/extensions/builtin.language-basics-typescript/src/tokenizeTypeScript.js +0 -1602
  135. package/extensions/builtin.language-basics-vue/README.md +0 -14
  136. package/extensions/builtin.language-basics-vue/extension.json +0 -13
  137. package/extensions/builtin.language-basics-vue/src/tokenizeVue.js +0 -327
  138. package/extensions/builtin.language-basics-wgsl/README.md +0 -16
  139. package/extensions/builtin.language-basics-wgsl/extension.json +0 -13
  140. package/extensions/builtin.language-basics-wgsl/languageConfiguration.json +0 -21
  141. package/extensions/builtin.language-basics-wgsl/src/tokenizeWgsl.js +0 -226
  142. package/extensions/builtin.language-basics-xml/README.md +0 -14
  143. package/extensions/builtin.language-basics-xml/extension.json +0 -85
  144. package/extensions/builtin.language-basics-xml/src/tokenizeXml.js +0 -328
  145. package/extensions/builtin.language-basics-yaml/README.md +0 -14
  146. package/extensions/builtin.language-basics-yaml/extension.json +0 -13
  147. package/extensions/builtin.language-basics-yaml/src/tokenizeYaml.js +0 -405
  148. package/extensions/builtin.theme-atom-one-dark/README.md +0 -11
  149. package/extensions/builtin.theme-atom-one-dark/color-theme.json +0 -216
  150. package/extensions/builtin.theme-atom-one-dark/extension.json +0 -12
  151. package/extensions/builtin.theme-atom-one-dark/images/demo.png +0 -0
  152. package/extensions/builtin.theme-ayu/README.md +0 -11
  153. package/extensions/builtin.theme-ayu/color-theme.json +0 -217
  154. package/extensions/builtin.theme-ayu/extension.json +0 -12
  155. package/extensions/builtin.theme-cobalt2/README.md +0 -20
  156. package/extensions/builtin.theme-cobalt2/color-theme.json +0 -202
  157. package/extensions/builtin.theme-cobalt2/extension.json +0 -13
  158. package/extensions/builtin.theme-cobalt2/images/demo.png +0 -0
  159. package/extensions/builtin.theme-cobalt2/images/logo.png +0 -0
  160. package/extensions/builtin.theme-gruvbox/README.md +0 -20
  161. package/extensions/builtin.theme-gruvbox/color-theme.json +0 -217
  162. package/extensions/builtin.theme-gruvbox/extension.json +0 -12
  163. package/extensions/builtin.theme-high-contrast/README.md +0 -9
  164. package/extensions/builtin.theme-high-contrast/color-theme.json +0 -86
  165. package/extensions/builtin.theme-high-contrast/extension.json +0 -11
  166. package/extensions/builtin.theme-material/README.md +0 -9
  167. package/extensions/builtin.theme-material/color-theme.json +0 -183
  168. package/extensions/builtin.theme-material/extension.json +0 -12
  169. package/extensions/builtin.theme-monokai/README.md +0 -10
  170. package/extensions/builtin.theme-monokai/color-theme.json +0 -151
  171. package/extensions/builtin.theme-monokai/extension.json +0 -11
  172. package/extensions/builtin.theme-noctis-uva/README.md +0 -11
  173. package/extensions/builtin.theme-noctis-uva/color-theme.json +0 -204
  174. package/extensions/builtin.theme-noctis-uva/extension.json +0 -12
  175. package/extensions/builtin.theme-noctis-uva/images/demo.png +0 -0
  176. package/extensions/builtin.theme-palenight/README.md +0 -11
  177. package/extensions/builtin.theme-palenight/color-theme.json +0 -209
  178. package/extensions/builtin.theme-palenight/extension.json +0 -12
  179. package/extensions/builtin.theme-palenight/images/demo.png +0 -0
  180. package/extensions/builtin.theme-slime/README.md +0 -5
  181. package/extensions/builtin.theme-slime/color-theme.json +0 -290
  182. package/extensions/builtin.theme-slime/extension.json +0 -13
  183. package/extensions/builtin.theme-slime/icon.png +0 -0
  184. package/extensions/builtin.vscode-icons/README.md +0 -20
  185. package/extensions/builtin.vscode-icons/extension.json +0 -13
  186. package/extensions/builtin.vscode-icons/icon-theme.json +0 -3815
  187. package/extensions/builtin.vscode-icons/icon.png +0 -0
@@ -1,356 +0,0 @@
1
- /**
2
- * @enum number
3
- */
4
- export const State = {
5
- TopLevelContent: 1,
6
- AfterCurlyOpen: 2,
7
- InsideString: 3,
8
- AfterPropertyName: 4,
9
- AfterPropertyNameAfterColon: 5,
10
- AfterPropertyValue: 6,
11
- JsonPropertyKey: 7,
12
- InsideLineComment: 8,
13
- InsidePropertyNameString: 9,
14
- InsideBlockComment: 10,
15
- }
16
-
17
- export const StateMap = {
18
- [State.TopLevelContent]: 'TopLevelContent',
19
- [State.AfterCurlyOpen]: 'AfterCurlyOpen',
20
- [State.InsideString]: 'InsideString',
21
- [State.AfterPropertyName]: 'AfterPropertyName',
22
- [State.AfterPropertyNameAfterColon]: 'AfterPropertyNameAfterColon',
23
- [State.AfterPropertyValue]: 'AfterPropertyValue',
24
- [State.JsonPropertyKey]: 'JsonPropertyKey',
25
- }
26
-
27
- /**
28
- * @enum number
29
- */
30
- export const TokenType = {
31
- CssSelector: 1,
32
- Whitespace: 2,
33
- Punctuation: 3,
34
- PropertyName: 4,
35
- PropertyValue: 5,
36
- CurlyOpen: 6,
37
- CurlyClose: 7,
38
- PropertyColon: 8,
39
- PropertySemicolon: 9,
40
- String: 10,
41
- LanguageConstant: 11,
42
- NewLine: 12,
43
- JsonPropertyName: 13,
44
- PropertyValueString: 14,
45
- Numeric: 15,
46
- LanguageConstantBoolean: 16,
47
- Comment: 17,
48
- Error: 18,
49
- Unknown: 19,
50
- Text: 20,
51
- JsonPropertyValueString: 21,
52
- }
53
-
54
- export const TokenMap = {
55
- [TokenType.CssSelector]: 'CssSelector',
56
- [TokenType.Whitespace]: 'Whitespace',
57
- [TokenType.Punctuation]: 'Punctuation',
58
- [TokenType.PropertyName]: 'PropertyName',
59
- [TokenType.PropertyValue]: 'PropertyValue',
60
- [TokenType.CurlyOpen]: 'CurlyOpen',
61
- [TokenType.CurlyClose]: 'CurlyClose',
62
- [TokenType.PropertyColon]: 'PropertyColon',
63
- [TokenType.PropertySemicolon]: 'PropertySemicolon',
64
- [TokenType.String]: 'String',
65
- [TokenType.LanguageConstant]: 'LanguageConstant',
66
- [TokenType.LanguageConstantBoolean]: 'LanguageConstantBoolean',
67
- [TokenType.JsonPropertyName]: 'JsonPropertyName',
68
- [TokenType.PropertyValueString]: 'PropertyValueString',
69
- [TokenType.Comment]: 'Comment',
70
- [TokenType.Error]: 'Error',
71
- [TokenType.Unknown]: 'Unknown',
72
- [TokenType.NewLine]: 'NewLine',
73
- [TokenType.Text]: 'Text',
74
- [TokenType.Numeric]: 'Numeric',
75
- [TokenType.JsonPropertyValueString]: 'JsonPropertyValueString',
76
- }
77
-
78
- const RE_SELECTOR = /^[\.a-zA-Z\d\-\:>]+/
79
- const RE_WHITESPACE = /^\s+/
80
- const RE_CURLY_OPEN = /^\{/
81
- const RE_CURLY_CLOSE = /^\}/
82
- const RE_PROPERTY_NAME = /^[a-zA-Z\-]+/
83
- const RE_COLON = /^:/
84
- const RE_PROPERTY_VALUE = /^[^\n;]+/
85
- const RE_SEMICOLON = /^;/
86
- const RE_COMMA = /^,/
87
- const RE_DOUBLE_QUOTE = /^"/
88
- const RE_STRING_DOUBLE_QUOTE_CONTENT = /^[^"\\]+/
89
- const RE_LANGUAGE_CONSTANT = /^(?:true|false|null)/
90
- const RE_SQUARE_OPEN = /^\[/
91
- const RE_SQUARE_CLOSE = /^\]/
92
- const RE_LINE_COMMENT = /^\/\/.*/
93
- const RE_ANYTHING = /^.+/s
94
- const RE_NUMERIC =
95
- /^((0(x|X)[0-9a-fA-F]*)|(\-?([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)\b/
96
- const RE_TEXT = /^[^\s\{\}\[\]]+/
97
- // const RE_ESCAPED_QUOTE = /^\\"/
98
- // const RE_BACK_SLASH = /^\\/
99
- const RE_STRING_ESCAPE = /^\\.?/
100
- const RE_WORD = /^\w+/
101
- const RE_BLOCK_COMMENT_START = /^\/\*/
102
- const RE_BLOCK_COMMENT_CONTENT = /^.+?(?=\*\/)/
103
- const RE_BLOCK_COMMENT_END = /^\*\//
104
- const RE_ANYTHING_UNTIL_END = /^.+/s
105
-
106
- export const initialLineState = {
107
- state: State.TopLevelContent,
108
- stack: [],
109
- }
110
-
111
- export const hasArrayReturn = true
112
-
113
- /**
114
- * @param {string} line
115
- * @param {any} lineState
116
- */
117
- export const tokenizeLine = (line, lineState) => {
118
- let next
119
- let index = 0
120
- let token
121
- let state = lineState.state
122
- let __r = 0
123
- const tokens = []
124
- const stack = lineState.stack
125
- state
126
- while (index < line.length) {
127
- if (__r++ > 100_000_000_000) {
128
- throw new Error('endless loop')
129
- }
130
- const part = line.slice(index)
131
- switch (state) {
132
- case State.TopLevelContent:
133
- if ((next = part.match(RE_CURLY_OPEN))) {
134
- token = TokenType.Punctuation
135
- state = State.AfterCurlyOpen
136
- stack.push(State.TopLevelContent)
137
- } else if ((next = part.match(RE_SQUARE_OPEN))) {
138
- token = TokenType.Punctuation
139
- state = State.TopLevelContent
140
- stack.push(State.TopLevelContent)
141
- } else if ((next = part.match(RE_WHITESPACE))) {
142
- token = TokenType.Whitespace
143
- state = State.TopLevelContent
144
- } else if ((next = part.match(RE_SQUARE_CLOSE))) {
145
- token = TokenType.Punctuation
146
- state = stack.pop()
147
- } else if ((next = part.match(RE_COMMA))) {
148
- token = TokenType.Punctuation
149
- state = State.TopLevelContent
150
- } else if ((next = part.match(RE_NUMERIC))) {
151
- token = TokenType.Numeric
152
- state = State.TopLevelContent
153
- } else if ((next = part.match(RE_LANGUAGE_CONSTANT))) {
154
- token = TokenType.LanguageConstant
155
- state = State.TopLevelContent
156
- } else if ((next = part.match(RE_DOUBLE_QUOTE))) {
157
- token = TokenType.Punctuation
158
- state = State.InsideString
159
- stack.push(State.TopLevelContent)
160
- } else if ((next = part.match(RE_LINE_COMMENT))) {
161
- token = TokenType.Comment
162
- state = State.InsideLineComment
163
- } else if ((next = part.match(RE_CURLY_CLOSE))) {
164
- token = TokenType.CurlyClose
165
- state = stack.pop()
166
- } else if ((next = part.match(RE_BLOCK_COMMENT_START))) {
167
- token = TokenType.Comment
168
- state = State.InsideBlockComment
169
- stack.push(State.TopLevelContent)
170
- } else if ((next = part.match(RE_ANYTHING))) {
171
- token = TokenType.Text
172
- state = State.TopLevelContent
173
- } else {
174
- part //?
175
- throw new Error('no')
176
- }
177
- break
178
- case State.AfterCurlyOpen:
179
- if ((next = part.match(RE_WHITESPACE))) {
180
- token = TokenType.Whitespace
181
- state = State.AfterCurlyOpen
182
- } else if ((next = part.match(RE_DOUBLE_QUOTE))) {
183
- token = TokenType.Punctuation
184
- state = State.InsidePropertyNameString
185
- stack.push(State.AfterPropertyName)
186
- } else if ((next = part.match(RE_CURLY_CLOSE))) {
187
- token = TokenType.Punctuation
188
- state = stack.pop()
189
- if (!state) {
190
- throw new Error('imbalanced json')
191
- }
192
- } else if ((next = part.match(RE_LINE_COMMENT))) {
193
- token = TokenType.Comment
194
- state = State.AfterCurlyOpen
195
- } else if ((next = part.match(RE_WORD))) {
196
- token = TokenType.Text
197
- state = State.AfterPropertyName
198
- } else if ((next = part.match(RE_BLOCK_COMMENT_START))) {
199
- token = TokenType.Comment
200
- state = State.InsideBlockComment
201
- stack.push(State.AfterCurlyOpen)
202
- } else if ((next = part.match(RE_ANYTHING))) {
203
- token = TokenType.Text
204
- state = State.AfterCurlyOpen
205
- } else {
206
- part //?
207
- throw new Error('no')
208
- }
209
- break
210
- case State.InsidePropertyNameString:
211
- if ((next = part.match(RE_STRING_DOUBLE_QUOTE_CONTENT))) {
212
- token = TokenType.JsonPropertyName
213
- state = State.InsidePropertyNameString
214
- } else if ((next = part.match(RE_DOUBLE_QUOTE))) {
215
- token = TokenType.Punctuation
216
- state = stack.pop()
217
- state
218
- } else if ((next = part.match(RE_STRING_ESCAPE))) {
219
- token = TokenType.JsonPropertyName
220
- state = State.InsidePropertyNameString
221
- } else {
222
- throw new Error('no')
223
- }
224
- break
225
- case State.InsideString:
226
- if ((next = part.match(RE_STRING_DOUBLE_QUOTE_CONTENT))) {
227
- token = TokenType.JsonPropertyValueString
228
- state = State.InsideString
229
- } else if ((next = part.match(RE_DOUBLE_QUOTE))) {
230
- token = TokenType.Punctuation
231
- state = stack.pop()
232
- } else if ((next = part.match(RE_STRING_ESCAPE))) {
233
- token = TokenType.String
234
- state = State.InsideString
235
- } else {
236
- line.slice(0, index) //?
237
- part //?
238
- throw new Error('no')
239
- }
240
- break
241
- case State.AfterPropertyName:
242
- if ((next = part.match(RE_COLON))) {
243
- token = TokenType.Punctuation
244
- state = State.AfterPropertyNameAfterColon
245
- } else if ((next = part.match(RE_WHITESPACE))) {
246
- token = TokenType.Whitespace
247
- state = State.AfterPropertyName
248
- } else if ((next = part.match(RE_ANYTHING))) {
249
- token = TokenType.Text
250
- state = State.AfterCurlyOpen
251
- } else {
252
- throw new Error('no')
253
- }
254
- break
255
- case State.AfterPropertyNameAfterColon:
256
- if ((next = part.match(RE_WHITESPACE))) {
257
- token = TokenType.Whitespace
258
- state = State.AfterPropertyNameAfterColon
259
- } else if ((next = part.match(RE_DOUBLE_QUOTE))) {
260
- token = TokenType.Punctuation
261
- state = State.InsideString
262
- stack.push(State.AfterPropertyValue)
263
- } else if ((next = part.match(RE_LANGUAGE_CONSTANT))) {
264
- token = TokenType.LanguageConstant
265
- state = State.AfterPropertyValue
266
- } else if ((next = part.match(RE_NUMERIC))) {
267
- token = TokenType.Numeric
268
- state = State.AfterPropertyValue
269
- } else if ((next = part.match(RE_TEXT))) {
270
- token = TokenType.Text
271
- state = State.AfterCurlyOpen
272
- } else if ((next = part.match(RE_CURLY_OPEN))) {
273
- token = TokenType.Punctuation
274
- state = State.AfterCurlyOpen
275
- stack.push(State.AfterPropertyValue)
276
- } else if ((next = part.match(RE_SQUARE_OPEN))) {
277
- token = TokenType.Punctuation
278
- state = State.TopLevelContent
279
- stack.push(State.AfterPropertyValue)
280
- } else {
281
- line.slice(0, index) //?
282
- throw new Error('no')
283
- }
284
- break
285
- case State.AfterPropertyValue:
286
- if ((next = part.match(RE_CURLY_CLOSE))) {
287
- token = TokenType.Punctuation
288
- state = stack.pop()
289
- if (!state) {
290
- throw new Error('inbalanced json')
291
- }
292
- } else if ((next = part.match(RE_WHITESPACE))) {
293
- token = TokenType.Whitespace
294
- state = State.AfterPropertyValue
295
- } else if ((next = part.match(RE_COMMA))) {
296
- token = TokenType.Punctuation
297
- state = State.AfterCurlyOpen
298
- } else if ((next = part.match(RE_LINE_COMMENT))) {
299
- token = TokenType.Comment
300
- state = State.AfterPropertyValue
301
- } else if ((next = part.match(RE_BLOCK_COMMENT_START))) {
302
- token = TokenType.Comment
303
- state = State.InsideBlockComment
304
- stack.push(State.AfterPropertyValue)
305
- } else if ((next = part.match(RE_ANYTHING))) {
306
- token = TokenType.Text
307
- state = State.AfterCurlyOpen
308
- } else {
309
- part //?
310
- throw new Error('no')
311
- }
312
- break
313
- case State.InsideLineComment:
314
- if ((next = part.match(RE_ANYTHING))) {
315
- token = TokenType.Comment
316
- state = State.TopLevelContent
317
- } else {
318
- throw new Error('no')
319
- }
320
- break
321
- case State.InsideBlockComment:
322
- if ((next = part.match(RE_BLOCK_COMMENT_END))) {
323
- token = TokenType.Comment
324
- state = stack.pop() || State.TopLevelContent
325
- } else if ((next = part.match(RE_BLOCK_COMMENT_CONTENT))) {
326
- token = TokenType.Comment
327
- state = State.InsideBlockComment
328
- } else if ((next = part.match(RE_ANYTHING_UNTIL_END))) {
329
- token = TokenType.Comment
330
- state = State.InsideBlockComment
331
- } else {
332
- throw new Error('no')
333
- }
334
- break
335
- default:
336
- state
337
- throw new Error('no')
338
- }
339
-
340
- const currentTokenText = next[0]
341
- const currentTokenLength = currentTokenText.length
342
- index += currentTokenLength
343
- tokens.push(token, currentTokenLength)
344
- }
345
- if (state === State.InsideLineComment) {
346
- state = State.TopLevelContent
347
- }
348
- if (state === State.AfterPropertyValue) {
349
- state = State.AfterCurlyOpen
350
- }
351
- return {
352
- state,
353
- stack,
354
- tokens,
355
- }
356
- }
@@ -1,14 +0,0 @@
1
- # Language Basics Jsx
2
-
3
- ## Contributing
4
-
5
- ```sh
6
- git clone git@github.com:lvce-editor/language-basics-jsx.git &&
7
- cd language-basics-jsx &&
8
- npm ci &&
9
- npm test
10
- ```
11
-
12
- ## Gitpod
13
-
14
- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/lvce-editor/language-basics-jsx)
@@ -1,13 +0,0 @@
1
- {
2
- "id": "builtin.language-basics-jsx",
3
- "name": "Language Basics Jsx",
4
- "description": "Provides syntax highlighting and bracket matching in Jsx files.",
5
- "languages": [
6
- {
7
- "id": "jsx",
8
- "extensions": [".jsx"],
9
- "tokenize": "src/tokenizeJsx.js",
10
- "configuration": "./languageConfiguration.json"
11
- }
12
- ]
13
- }