@lvce-editor/shared-process 0.18.8 → 0.18.10

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,551 +0,0 @@
1
- /**
2
- * @enum number
3
- */
4
- const State = {
5
- TopLevelContent: 1,
6
- AfterOpeningAngleBracket: 2,
7
- InsideOpeningTag: 3,
8
- InsideOpeningTagAndHasSeenWhitespace: 4,
9
- AfterClosingTagAngleBrackets: 5,
10
- AfterClosingTagName: 6,
11
- AfterAttributeName: 7,
12
- AfterAttributeEqualSign: 8,
13
- InsideAttributeDoubleQuote: 9,
14
- InsideBlockComment: 10,
15
- None: 11,
16
- InsideDoubleQuoteString: 12,
17
- InsideSingleQuoteString: 13,
18
- InsideScriptContent: 14,
19
- InsideStyleContent: 15,
20
- InsideStartTagBeforeAngleBracket: 16,
21
- }
22
-
23
- export const StateMap = {}
24
-
25
- /**
26
- * @enum number
27
- */
28
- export const TokenType = {
29
- None: 99999999,
30
- Numeric: 30,
31
- String: 50,
32
- Whitespace: 0,
33
- Comment: 60,
34
- Text: 117,
35
- PunctuationTag: 228,
36
- TagName: 118,
37
- AttributeName: 119,
38
- Punctuation: 10,
39
- Error: 141,
40
- PunctuationString: 11,
41
- NewLine: 891,
42
- Embedded: 999,
43
- }
44
-
45
- export const TokenMap = {
46
- [TokenType.None]: 'None',
47
- [TokenType.Numeric]: 'Numeric',
48
- [TokenType.String]: 'String',
49
- [TokenType.Whitespace]: 'Whitespace',
50
- [TokenType.Comment]: 'Comment',
51
- [TokenType.Text]: 'Text',
52
- [TokenType.PunctuationTag]: 'PunctuationTag',
53
- [TokenType.TagName]: 'TagName',
54
- [TokenType.AttributeName]: 'AttributeName',
55
- [TokenType.Punctuation]: 'Punctuation',
56
- [TokenType.Error]: 'Error',
57
- [TokenType.PunctuationString]: 'PunctuationString',
58
- [TokenType.Embedded]: 'Embedded',
59
- }
60
-
61
- const RE_ANGLE_BRACKET_CLOSE = /^>/
62
- const RE_ANGLE_BRACKET_OPEN = /^</
63
- const RE_ANGLE_BRACKET_OPEN_TAG = /^<(?![\s!\%])/
64
- const RE_ANY_TEXT = /^[^\n]+/
65
- const RE_ATTRIBUTE_NAME = /^[a-zA-Z\d\-\:\_]+/
66
- const RE_BLOCK_COMMENT_CONTENT_1 = /^.+?(?=-->)/s
67
- const RE_BLOCK_COMMENT_CONTENT_2 = /^.+$/s
68
- const RE_BLOCK_COMMENT_END = /^-->/
69
- const RE_BLOCK_COMMENT_START = /^<!--/
70
- const RE_DOCTYPE = /^<!(?=\w)/
71
- const RE_DASH_DASH = /^\-\-/
72
- const RE_DOUBLE_QUOTE = /^"/
73
- const RE_EQUAL_SIGN = /^=/
74
- const RE_WHITESPACE_THEN_EQUAL_SIGN = /^\s+(?==)/
75
- const RE_EXCLAMATION_MARK = /^!/
76
- const RE_PUNCTUATION_SELF_CLOSING = /^\/>/
77
- const RE_SELF_CLOSING = /^\/>/
78
- const RE_SINGLE_QUOTE = /^'/
79
- const RE_SLASH = /^\//
80
- const RE_STRING_DOUBLE_QUOTE_CONTENT = /^[^"]+/
81
- const RE_STRING_SINGLE_QUOTE_CONTENT = /^[^']+/
82
- const RE_TAG_TEXT = /^[^\s>]+/
83
- const RE_TAGNAME = /^[!\w\:][!\w\:\d\-]*/
84
- const RE_TEXT = /^[^<>\n]+/
85
- const RE_WHITESPACE = /^\s+/
86
- const RE_ATTRIBUTE_VALUE_UNQUOTED = /^[^<>\s]+/
87
- const RE_SCRIPT_CONTENT = /^..*?(?=(?:<\/script)|$)/s
88
- const RE_SCRIPT_CONTENT_END = /^<\/script/
89
- const RE_STYLE_CONTENT = /^..*?(?=(?:<\/(?:style|head))|$)/s
90
- const RE_STYLE_CONTENT_END = /^<\/style/
91
- const RE_STYLE_CONTENT_END_2 = /^<\/head/
92
- const RE_TYPE = /^[^\s\>]+/
93
-
94
- export const initialLineState = {
95
- state: State.TopLevelContent,
96
- tag: '',
97
- stack: [],
98
- embeddedLanguage: '',
99
- embeddedLanguageStart: 0,
100
- embeddedLanguageEnd: 0,
101
- embeddedState: undefined,
102
- specialTag: false,
103
- type: '',
104
- }
105
-
106
- /**
107
- *
108
- * @param {any} lineStateA
109
- * @param {any} lineStateB
110
- * @returns
111
- */
112
- export const isLineStateEqual = (lineStateA, lineStateB) => {
113
- return lineStateA.state === lineStateB.state
114
- }
115
-
116
- export const hasArrayReturn = true
117
-
118
- const getEmbeddedScriptLanguageId = () => {
119
- return 'javascript'
120
- }
121
-
122
- const getEmbeddedStyleLanguageId = () => {
123
- return 'css'
124
- }
125
-
126
- /**
127
- * @param {string} tag
128
- */
129
- const getEmbeddedLangageId = (tag) => {
130
- switch (tag) {
131
- case 'script':
132
- return getEmbeddedScriptLanguageId()
133
- case 'style':
134
- return getEmbeddedStyleLanguageId()
135
- default:
136
- return ''
137
- }
138
- }
139
-
140
- /**
141
- *
142
- * @param {string} tag
143
- * @returns
144
- */
145
- const getEmbeddedContentState = (tag) => {
146
- switch (tag) {
147
- case 'script':
148
- return State.InsideScriptContent
149
- case 'style':
150
- return State.InsideStyleContent
151
- default:
152
- return State.TopLevelContent
153
- }
154
- }
155
-
156
- /**
157
- * @param {string} value
158
- */
159
- const unquote = (value) => {
160
- for (const quote of ["'", '"']) {
161
- if (value.startsWith(quote) && value.endsWith(quote)) {
162
- return value.slice(1, -1)
163
- }
164
- }
165
- return value
166
- }
167
-
168
- /**
169
- *
170
- * @param {string} value
171
- */
172
- const getType = (value) => {
173
- const unquotedValue = unquote(value)
174
- switch (unquotedValue) {
175
- case 'text/javascript':
176
- case 'text/x-javascript':
177
- case 'text/jscript':
178
- case 'text/livescript':
179
- case 'text/babel':
180
- case 'text/ecmascript':
181
- case 'text/x-ecmascript':
182
- case 'application/x-javascript':
183
- case 'application/javascript':
184
- case 'application/x-ecmascript':
185
- case 'application/ecmascript':
186
- case 'module':
187
- return 'javascript'
188
- case 'text/x-handlebars':
189
- case 'text/x-handlebars-template':
190
- case 'text/handlebars-template':
191
- case 'text/template':
192
- case 'text/x-template':
193
- case 'text/ng-template':
194
- case 'text/x-ng-template':
195
- return 'html'
196
- case 'application/json':
197
- case 'application/ld+json':
198
- return 'json'
199
- default:
200
- return ''
201
- }
202
- }
203
-
204
- /**
205
- *
206
- * @param {string} line
207
- * @param {any} lineState
208
- * @returns
209
- */
210
- export const tokenizeLine = (line, lineState) => {
211
- let next = null
212
- let index = 0
213
- let tokens = []
214
- let token = TokenType.None
215
- let state = lineState.state
216
- let tag = lineState.tag
217
- let embeddedLanguage = lineState.embeddedLanguage
218
- let embeddedLanguageStart = lineState.embeddedLanguageStart
219
- let embeddedLanguageEnd = lineState.embeddedLanguageEnd
220
- let specialTag = lineState.specialTag
221
- let attributeName = ''
222
- let type = ''
223
- while (index < line.length) {
224
- const part = line.slice(index)
225
- switch (state) {
226
- case State.TopLevelContent:
227
- if ((next = part.match(RE_ANGLE_BRACKET_OPEN_TAG))) {
228
- token = TokenType.PunctuationTag
229
- state = State.AfterOpeningAngleBracket
230
- } else if ((next = part.match(RE_TEXT))) {
231
- token = TokenType.Text
232
- state = State.TopLevelContent
233
- } else if ((next = part.match(RE_BLOCK_COMMENT_START))) {
234
- token = TokenType.Comment
235
- state = State.InsideBlockComment
236
- } else if ((next = part.match(RE_ANGLE_BRACKET_CLOSE))) {
237
- token = TokenType.Text
238
- state = State.TopLevelContent
239
- } else if ((next = part.match(RE_DOCTYPE))) {
240
- token = TokenType.PunctuationTag
241
- state = State.AfterOpeningAngleBracket
242
- } else if ((next = part.match(RE_ANGLE_BRACKET_OPEN))) {
243
- token = TokenType.Text
244
- state = State.TopLevelContent
245
- } else {
246
- part //?
247
- throw new Error('no')
248
- }
249
- break
250
- case State.AfterOpeningAngleBracket:
251
- if ((next = part.match(RE_TAGNAME))) {
252
- token = TokenType.TagName
253
- state = State.InsideOpeningTag
254
- tag = next[0]
255
- specialTag = tag === 'script' || tag === 'style'
256
- } else if ((next = part.match(RE_SLASH))) {
257
- token = TokenType.PunctuationTag
258
- state = State.AfterClosingTagAngleBrackets
259
- } else if ((next = part.match(RE_ANGLE_BRACKET_CLOSE))) {
260
- token = TokenType.PunctuationTag
261
- state = State.TopLevelContent
262
- } else if ((next = part.match(RE_ANGLE_BRACKET_OPEN))) {
263
- token = TokenType.PunctuationTag
264
- state = State.AfterOpeningAngleBracket
265
- } else if ((next = part.match(RE_ANY_TEXT))) {
266
- token = TokenType.Text
267
- state = State.TopLevelContent
268
- } else {
269
- part //?
270
- throw new Error('no')
271
- }
272
- break
273
- case State.InsideOpeningTag:
274
- if ((next = part.match(RE_ANGLE_BRACKET_CLOSE))) {
275
- token = TokenType.PunctuationTag
276
- state = State.TopLevelContent
277
- const embeddedLanguageId = type || getEmbeddedLangageId(tag)
278
- if (embeddedLanguageId) {
279
- state = getEmbeddedContentState(tag)
280
- embeddedLanguage = embeddedLanguageId
281
- embeddedLanguageStart = index + next[0].length
282
- }
283
- specialTag = false
284
- type = ''
285
- attributeName = ''
286
- } else if ((next = part.match(RE_EXCLAMATION_MARK))) {
287
- token = TokenType.PunctuationTag
288
- state = State.InsideOpeningTag
289
- } else if ((next = part.match(RE_WHITESPACE))) {
290
- token = TokenType.Whitespace
291
- state = State.InsideOpeningTagAndHasSeenWhitespace
292
- } else if ((next = part.match(RE_DASH_DASH))) {
293
- token = TokenType.Comment
294
- state = State.InsideBlockComment
295
- } else if ((next = part.match(RE_PUNCTUATION_SELF_CLOSING))) {
296
- token = TokenType.PunctuationTag
297
- state = State.TopLevelContent
298
- } else if ((next = part.match(RE_TAG_TEXT))) {
299
- token = TokenType.Text
300
- state = State.InsideOpeningTag
301
- } else {
302
- part //?
303
- throw new Error('no')
304
- }
305
- break
306
- case State.AfterClosingTagAngleBrackets:
307
- if ((next = part.match(RE_TAGNAME))) {
308
- token = TokenType.TagName
309
- state = State.AfterClosingTagName
310
- } else if ((next = part.match(RE_WHITESPACE))) {
311
- token = TokenType.Whitespace
312
- state = State.TopLevelContent
313
- } else if ((next = part.match(RE_ANY_TEXT))) {
314
- token = TokenType.Text
315
- state = State.TopLevelContent
316
- } else {
317
- part //?
318
- throw new Error('no')
319
- }
320
- break
321
- case State.AfterClosingTagName:
322
- if ((next = part.match(RE_ANGLE_BRACKET_CLOSE))) {
323
- token = TokenType.PunctuationTag
324
- state = State.TopLevelContent
325
- } else if ((next = part.match(RE_TEXT))) {
326
- token = TokenType.Text
327
- state = State.TopLevelContent
328
- } else if ((next = part.match(RE_WHITESPACE))) {
329
- token = TokenType.Whitespace
330
- state = State.AfterClosingTagName
331
- } else if ((next = part.match(RE_ANGLE_BRACKET_OPEN_TAG))) {
332
- token = TokenType.PunctuationTag
333
- state = State.AfterOpeningAngleBracket
334
- } else {
335
- throw new Error('no')
336
- }
337
- break
338
- case State.InsideOpeningTagAndHasSeenWhitespace:
339
- if ((next = part.match(RE_ATTRIBUTE_NAME))) {
340
- token = TokenType.AttributeName
341
- state = State.AfterAttributeName
342
- attributeName = next[0]
343
- } else if ((next = part.match(RE_SELF_CLOSING))) {
344
- token = TokenType.PunctuationTag
345
- state = State.TopLevelContent
346
- } else if ((next = part.match(RE_ANGLE_BRACKET_CLOSE))) {
347
- token = TokenType.PunctuationTag
348
- state = State.TopLevelContent
349
- const embeddedLanguageId = type || getEmbeddedLangageId(tag)
350
- if (embeddedLanguageId) {
351
- state = getEmbeddedContentState(tag)
352
- embeddedLanguage = embeddedLanguageId
353
- embeddedLanguageStart = index + next[0].length
354
- }
355
- specialTag = false
356
- type = ''
357
- attributeName = ''
358
- } else if ((next = part.match(RE_DOUBLE_QUOTE))) {
359
- token = TokenType.Punctuation
360
- state = State.InsideDoubleQuoteString
361
- } else if ((next = part.match(RE_ANGLE_BRACKET_OPEN_TAG))) {
362
- token = TokenType.PunctuationTag
363
- state = State.AfterOpeningAngleBracket
364
- } else if ((next = part.match(RE_TAG_TEXT))) {
365
- token = TokenType.Text
366
- state = State.TopLevelContent
367
- } else if ((next = part.match(RE_WHITESPACE))) {
368
- token = TokenType.Whitespace
369
- state = State.InsideOpeningTagAndHasSeenWhitespace
370
- } else {
371
- part //?
372
- throw new Error('no')
373
- }
374
- break
375
- case State.AfterAttributeName:
376
- if ((next = part.match(RE_ANGLE_BRACKET_CLOSE))) {
377
- token = TokenType.PunctuationTag
378
- state = State.TopLevelContent
379
- const embeddedLanguageId = type || getEmbeddedLangageId(tag)
380
- if (embeddedLanguageId) {
381
- state = getEmbeddedContentState(tag)
382
- embeddedLanguage = embeddedLanguageId
383
- embeddedLanguageStart = index + next[0].length
384
- }
385
- specialTag = false
386
- type = ''
387
- attributeName = ''
388
- } else if ((next = part.match(RE_EQUAL_SIGN))) {
389
- token = TokenType.Punctuation
390
- state = State.AfterAttributeEqualSign
391
- } else if ((next = part.match(RE_DOUBLE_QUOTE))) {
392
- token = TokenType.PunctuationString
393
- state = State.InsideDoubleQuoteString
394
- } else if ((next = part.match(RE_SINGLE_QUOTE))) {
395
- token = TokenType.PunctuationString
396
- state = State.InsideSingleQuoteString
397
- } else if ((next = part.match(RE_TAG_TEXT))) {
398
- token = TokenType.Text
399
- state = State.InsideOpeningTag
400
- } else if ((next = part.match(RE_WHITESPACE_THEN_EQUAL_SIGN))) {
401
- token = TokenType.Whitespace
402
- state = State.AfterAttributeName
403
- } else if ((next = part.match(RE_WHITESPACE))) {
404
- token = TokenType.Whitespace
405
- state = State.InsideOpeningTagAndHasSeenWhitespace
406
- } else {
407
- // TODO check quotation mark
408
- part //?
409
- throw new Error('no')
410
- }
411
- break
412
- case State.AfterAttributeEqualSign:
413
- if (specialTag && attributeName === 'type') {
414
- const valueMatch = part.match(RE_TYPE)
415
- if (valueMatch) {
416
- const value = valueMatch[0]
417
- type = getType(value)
418
- }
419
- }
420
- if ((next = part.match(RE_DOUBLE_QUOTE))) {
421
- token = TokenType.PunctuationString
422
- state = State.InsideDoubleQuoteString
423
- } else if ((next = part.match(RE_SINGLE_QUOTE))) {
424
- token = TokenType.PunctuationString
425
- state = State.InsideSingleQuoteString
426
- } else if ((next = part.match(RE_ANGLE_BRACKET_CLOSE))) {
427
- token = TokenType.PunctuationTag
428
- state = State.TopLevelContent
429
- } else if ((next = part.match(RE_ATTRIBUTE_VALUE_UNQUOTED))) {
430
- token = TokenType.String
431
- state = State.InsideOpeningTag
432
- } else if ((next = part.match(RE_WHITESPACE))) {
433
- token = TokenType.Whitespace
434
- state = State.AfterAttributeEqualSign
435
- } else {
436
- part
437
- throw new Error('no')
438
- }
439
- break
440
- case State.InsideDoubleQuoteString:
441
- if ((next = part.match(RE_DOUBLE_QUOTE))) {
442
- token = TokenType.PunctuationString
443
- state = State.InsideOpeningTag
444
- } else if ((next = part.match(RE_STRING_DOUBLE_QUOTE_CONTENT))) {
445
- token = TokenType.String
446
- state = State.InsideDoubleQuoteString
447
- } else {
448
- throw new Error('no')
449
- }
450
- break
451
- case State.InsideSingleQuoteString:
452
- if ((next = part.match(RE_SINGLE_QUOTE))) {
453
- token = TokenType.PunctuationString
454
- state = State.InsideOpeningTag
455
- } else if ((next = part.match(RE_STRING_SINGLE_QUOTE_CONTENT))) {
456
- token = TokenType.String
457
- state = State.InsideSingleQuoteString
458
- } else {
459
- throw new Error('no')
460
- }
461
- break
462
- case State.InsideBlockComment:
463
- part
464
- if ((next = part.match(RE_BLOCK_COMMENT_CONTENT_1))) {
465
- token = TokenType.Comment
466
- state = State.InsideBlockComment
467
- } else if ((next = part.match(RE_BLOCK_COMMENT_END))) {
468
- token = TokenType.Comment
469
- state = State.TopLevelContent
470
- } else if ((next = part.match(RE_BLOCK_COMMENT_CONTENT_2))) {
471
- token = TokenType.Comment
472
- state = State.InsideBlockComment
473
- } else {
474
- throw new Error('no')
475
- }
476
- break
477
- case State.InsideScriptContent:
478
- if ((next = part.match(RE_SCRIPT_CONTENT_END))) {
479
- token = TokenType.TagName
480
- state = State.AfterClosingTagName
481
- tokens.push(TokenType.PunctuationTag, 2, TokenType.TagName, 6)
482
- index += next[0].length
483
- embeddedLanguage = ''
484
- continue
485
- } else if ((next = part.match(RE_SCRIPT_CONTENT))) {
486
- token = TokenType.Embedded
487
- state = State.InsideScriptContent
488
- embeddedLanguageStart = index
489
- embeddedLanguageEnd = index + next[0].length
490
- } else {
491
- part
492
- throw new Error('no')
493
- }
494
- break
495
- case State.InsideStyleContent:
496
- if (
497
- (next =
498
- part.match(RE_STYLE_CONTENT_END) ||
499
- part.match(RE_STYLE_CONTENT_END_2))
500
- ) {
501
- token = TokenType.TagName
502
- state = State.AfterClosingTagName
503
- tokens.push(
504
- TokenType.PunctuationTag,
505
- 2,
506
- TokenType.TagName,
507
- next[0].length - 1
508
- )
509
- embeddedLanguageEnd = index
510
- index += next[0].length
511
- embeddedLanguage = ''
512
- continue
513
- } else if ((next = part.match(RE_STYLE_CONTENT))) {
514
- token = TokenType.Embedded
515
- state = State.InsideStyleContent
516
- embeddedLanguageStart = index
517
- embeddedLanguageEnd = index + next[0].length
518
- } else {
519
- part
520
- throw new Error('no')
521
- }
522
- break
523
- default:
524
- state
525
- throw new Error('no')
526
- }
527
-
528
- const tokenLength = next[0].length
529
- index += tokenLength
530
- tokens.push(token, tokenLength)
531
- }
532
- if (state === State.AfterClosingTagAngleBrackets) {
533
- state = State.TopLevelContent
534
- }
535
- if (state === State.InsideOpeningTag) {
536
- state = State.InsideOpeningTagAndHasSeenWhitespace
537
- }
538
- if (state === State.AfterAttributeEqualSign) {
539
- state = State.InsideOpeningTag
540
- }
541
- return {
542
- state,
543
- tokens,
544
- tag,
545
- embeddedLanguage,
546
- embeddedLanguageStart,
547
- embeddedLanguageEnd,
548
- specialTag,
549
- type,
550
- }
551
- }
@@ -1,14 +0,0 @@
1
- # Language Basics Java
2
-
3
- ## Contributing
4
-
5
- ```sh
6
- git clone git@github.com:lvce-editor/language-basics-java.git &&
7
- cd language-basics-java &&
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-java)
@@ -1,13 +0,0 @@
1
- {
2
- "id": "builtin.language-basics-java",
3
- "name": "Language Basics Java",
4
- "description": "Provides syntax highlighting and bracket matching in Java files.",
5
- "languages": [
6
- {
7
- "id": "java",
8
- "extensions": [".java"],
9
- "tokenize": "src/tokenizeJava.js",
10
- "configuration": "./languageConfiguration.json"
11
- }
12
- ]
13
- }
@@ -1,31 +0,0 @@
1
- {
2
- "comments": {
3
- "lineComment": "//",
4
- "blockComment": ["/*", "*/"]
5
- },
6
- "brackets": [
7
- ["{", "}"],
8
- ["[", "]"],
9
- ["(", ")"]
10
- ],
11
- "autoClosingPairs": [
12
- ["{", "}"],
13
- ["[", "]"],
14
- ["(", ")"],
15
- { "open": "\"", "close": "\"", "notIn": ["string"] },
16
- { "open": "'", "close": "'", "notIn": ["string"] },
17
- { "open": "/**", "close": " */", "notIn": ["string"] }
18
- ],
19
- "surroundingPairs": [
20
- ["{", "}"],
21
- ["[", "]"],
22
- ["(", ")"],
23
- ["\"", "\""],
24
- ["'", "'"],
25
- ["<", ">"]
26
- ],
27
- "indentationRules": {
28
- "increaseIndentPattern": "^((?!\\/\\/).)*(\\{[^}\"'`]*|\\([^)\"'`]*|\\[[^\\]\"'`]*)$",
29
- "decreaseIndentPattern": "^((?!.*?\\/\\*).*\\*/)?\\s*[\\)\\}\\]].*$"
30
- }
31
- }