@lvce-editor/shared-process 0.18.7 → 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 (191) hide show
  1. package/package.json +4 -4
  2. package/src/parts/ExportStatic/ExportStatic.js +6 -6
  3. package/src/parts/ExtensionManagement/ExtensionManagementColorTheme.js +1 -6
  4. package/src/parts/ExtensionManagement/ExtensionManagementIconTheme.js +1 -6
  5. package/src/parts/Platform/Platform.js +3 -3
  6. package/src/parts/PlatformPaths/PlatformPaths.js +1 -1
  7. package/extensions/builtin.language-basics-bat/README.md +0 -14
  8. package/extensions/builtin.language-basics-bat/extension.json +0 -12
  9. package/extensions/builtin.language-basics-bat/src/tokenizeBat.js +0 -33
  10. package/extensions/builtin.language-basics-c/README.md +0 -14
  11. package/extensions/builtin.language-basics-c/extension.json +0 -12
  12. package/extensions/builtin.language-basics-c/src/tokenizeC.js +0 -211
  13. package/extensions/builtin.language-basics-coffeescript/README.md +0 -14
  14. package/extensions/builtin.language-basics-coffeescript/extension.json +0 -12
  15. package/extensions/builtin.language-basics-coffeescript/src/tokenizeCoffeeScript.js +0 -257
  16. package/extensions/builtin.language-basics-cpp/README.md +0 -14
  17. package/extensions/builtin.language-basics-cpp/extension.json +0 -32
  18. package/extensions/builtin.language-basics-cpp/languageConfiguration.json +0 -5
  19. package/extensions/builtin.language-basics-cpp/src/tokenizeCpp.js +0 -317
  20. package/extensions/builtin.language-basics-cson/README.md +0 -16
  21. package/extensions/builtin.language-basics-cson/extension.json +0 -13
  22. package/extensions/builtin.language-basics-cson/languageConfiguration.json +0 -21
  23. package/extensions/builtin.language-basics-cson/src/tokenizeCson.js +0 -207
  24. package/extensions/builtin.language-basics-css/README.md +0 -16
  25. package/extensions/builtin.language-basics-css/extension.json +0 -13
  26. package/extensions/builtin.language-basics-css/languageConfiguration.json +0 -21
  27. package/extensions/builtin.language-basics-css/src/tokenizeCss.js +0 -659
  28. package/extensions/builtin.language-basics-dart/README.md +0 -14
  29. package/extensions/builtin.language-basics-dart/extension.json +0 -12
  30. package/extensions/builtin.language-basics-dart/src/tokenizeDart.js +0 -133
  31. package/extensions/builtin.language-basics-desktop/README.md +0 -14
  32. package/extensions/builtin.language-basics-desktop/extension.json +0 -12
  33. package/extensions/builtin.language-basics-desktop/src/tokenizeDesktop.js +0 -166
  34. package/extensions/builtin.language-basics-docker/README.md +0 -14
  35. package/extensions/builtin.language-basics-docker/extension.json +0 -24
  36. package/extensions/builtin.language-basics-docker/src/tokenizeDockerfile.js +0 -131
  37. package/extensions/builtin.language-basics-dotenv/README.md +0 -14
  38. package/extensions/builtin.language-basics-dotenv/extension.json +0 -26
  39. package/extensions/builtin.language-basics-dotenv/src/tokenizeDotenv.js +0 -301
  40. package/extensions/builtin.language-basics-editorconfig/README.md +0 -14
  41. package/extensions/builtin.language-basics-editorconfig/extension.json +0 -12
  42. package/extensions/builtin.language-basics-editorconfig/src/tokenizeEditorConfig.js +0 -173
  43. package/extensions/builtin.language-basics-elixir/README.md +0 -14
  44. package/extensions/builtin.language-basics-elixir/extension.json +0 -12
  45. package/extensions/builtin.language-basics-elixir/src/tokenizeElixir.js +0 -150
  46. package/extensions/builtin.language-basics-elm/README.md +0 -14
  47. package/extensions/builtin.language-basics-elm/extension.json +0 -12
  48. package/extensions/builtin.language-basics-elm/src/tokenizeElm.js +0 -298
  49. package/extensions/builtin.language-basics-gitattributes/README.md +0 -14
  50. package/extensions/builtin.language-basics-gitattributes/extension.json +0 -12
  51. package/extensions/builtin.language-basics-gitattributes/src/tokenizeGitAttributes.js +0 -159
  52. package/extensions/builtin.language-basics-gn/README.md +0 -14
  53. package/extensions/builtin.language-basics-gn/extension.json +0 -12
  54. package/extensions/builtin.language-basics-gn/src/tokenizeGn.js +0 -178
  55. package/extensions/builtin.language-basics-go/README.md +0 -14
  56. package/extensions/builtin.language-basics-go/extension.json +0 -13
  57. package/extensions/builtin.language-basics-go/src/tokenizeGo.js +0 -295
  58. package/extensions/builtin.language-basics-graphql/README.md +0 -14
  59. package/extensions/builtin.language-basics-graphql/extension.json +0 -12
  60. package/extensions/builtin.language-basics-graphql/src/tokenizeGraphql.js +0 -432
  61. package/extensions/builtin.language-basics-html/README.md +0 -14
  62. package/extensions/builtin.language-basics-html/extension.json +0 -13
  63. package/extensions/builtin.language-basics-html/languageConfiguration.json +0 -66
  64. package/extensions/builtin.language-basics-html/src/tokenizeHtml.js +0 -551
  65. package/extensions/builtin.language-basics-java/README.md +0 -14
  66. package/extensions/builtin.language-basics-java/extension.json +0 -13
  67. package/extensions/builtin.language-basics-java/languageConfiguration.json +0 -31
  68. package/extensions/builtin.language-basics-java/src/tokenizeJava.js +0 -253
  69. package/extensions/builtin.language-basics-javascript/README.md +0 -14
  70. package/extensions/builtin.language-basics-javascript/extension.json +0 -14
  71. package/extensions/builtin.language-basics-javascript/languageConfiguration.json +0 -40
  72. package/extensions/builtin.language-basics-javascript/src/tokenizeJavaScript.js +0 -614
  73. package/extensions/builtin.language-basics-json/README.md +0 -14
  74. package/extensions/builtin.language-basics-json/extension.json +0 -60
  75. package/extensions/builtin.language-basics-json/src/tokenizeJson.js +0 -356
  76. package/extensions/builtin.language-basics-jsx/README.md +0 -14
  77. package/extensions/builtin.language-basics-jsx/extension.json +0 -13
  78. package/extensions/builtin.language-basics-jsx/src/tokenizeJsx.js +0 -661
  79. package/extensions/builtin.language-basics-julia/README.md +0 -18
  80. package/extensions/builtin.language-basics-julia/extension.json +0 -12
  81. package/extensions/builtin.language-basics-julia/src/tokenizeJulia.js +0 -181
  82. package/extensions/builtin.language-basics-kotlin/README.md +0 -14
  83. package/extensions/builtin.language-basics-kotlin/extension.json +0 -12
  84. package/extensions/builtin.language-basics-kotlin/src/tokenizeKotlin.js +0 -274
  85. package/extensions/builtin.language-basics-less/LICENSE +0 -21
  86. package/extensions/builtin.language-basics-less/README.md +0 -14
  87. package/extensions/builtin.language-basics-less/extension.json +0 -12
  88. package/extensions/builtin.language-basics-less/languageConfiguration.json +0 -17
  89. package/extensions/builtin.language-basics-less/src/tokenizeLess.js +0 -609
  90. package/extensions/builtin.language-basics-markdown/README.md +0 -14
  91. package/extensions/builtin.language-basics-markdown/extension.json +0 -12
  92. package/extensions/builtin.language-basics-markdown/src/tokenizeMarkdown.js +0 -441
  93. package/extensions/builtin.language-basics-mdx/README.md +0 -14
  94. package/extensions/builtin.language-basics-mdx/extension.json +0 -12
  95. package/extensions/builtin.language-basics-mdx/src/tokenizeMdx.js +0 -395
  96. package/extensions/builtin.language-basics-nvmrc/README.md +0 -14
  97. package/extensions/builtin.language-basics-nvmrc/extension.json +0 -12
  98. package/extensions/builtin.language-basics-nvmrc/src/tokenizeNvmrc.js +0 -30
  99. package/extensions/builtin.language-basics-perl/README.md +0 -14
  100. package/extensions/builtin.language-basics-perl/extension.json +0 -13
  101. package/extensions/builtin.language-basics-perl/src/tokenizePerl.js +0 -200
  102. package/extensions/builtin.language-basics-plaintext/README.md +0 -14
  103. package/extensions/builtin.language-basics-plaintext/extension.json +0 -12
  104. package/extensions/builtin.language-basics-plaintext/src/tokenizePlaintext.js +0 -28
  105. package/extensions/builtin.language-basics-powershell/README.md +0 -14
  106. package/extensions/builtin.language-basics-powershell/extension.json +0 -12
  107. package/extensions/builtin.language-basics-powershell/src/tokenizePowershell.js +0 -141
  108. package/extensions/builtin.language-basics-python/README.md +0 -14
  109. package/extensions/builtin.language-basics-python/extension.json +0 -15
  110. package/extensions/builtin.language-basics-python/languageConfiguration.json +0 -5
  111. package/extensions/builtin.language-basics-python/src/tokenizePython.js +0 -304
  112. package/extensions/builtin.language-basics-r/README.md +0 -14
  113. package/extensions/builtin.language-basics-r/extension.json +0 -12
  114. package/extensions/builtin.language-basics-r/src/tokenizeR.js +0 -71
  115. package/extensions/builtin.language-basics-ruby/README.md +0 -14
  116. package/extensions/builtin.language-basics-ruby/extension.json +0 -48
  117. package/extensions/builtin.language-basics-ruby/src/tokenizeRuby.js +0 -248
  118. package/extensions/builtin.language-basics-rust/LICENSE +0 -21
  119. package/extensions/builtin.language-basics-rust/README.md +0 -14
  120. package/extensions/builtin.language-basics-rust/extension.json +0 -12
  121. package/extensions/builtin.language-basics-rust/languageConfiguration.json +0 -17
  122. package/extensions/builtin.language-basics-rust/src/tokenizeRust.js +0 -158
  123. package/extensions/builtin.language-basics-scss/README.md +0 -14
  124. package/extensions/builtin.language-basics-scss/extension.json +0 -12
  125. package/extensions/builtin.language-basics-scss/src/tokenizeScss.js +0 -28
  126. package/extensions/builtin.language-basics-shellscript/README.md +0 -14
  127. package/extensions/builtin.language-basics-shellscript/extension.json +0 -56
  128. package/extensions/builtin.language-basics-shellscript/src/tokenizeShellScript.js +0 -569
  129. package/extensions/builtin.language-basics-svelte/README.md +0 -14
  130. package/extensions/builtin.language-basics-svelte/extension.json +0 -13
  131. package/extensions/builtin.language-basics-svelte/src/tokenizeSvelte.js +0 -428
  132. package/extensions/builtin.language-basics-toml/README.md +0 -14
  133. package/extensions/builtin.language-basics-toml/extension.json +0 -14
  134. package/extensions/builtin.language-basics-toml/src/tokenizeToml.js +0 -299
  135. package/extensions/builtin.language-basics-typescript/README.md +0 -14
  136. package/extensions/builtin.language-basics-typescript/extension.json +0 -17
  137. package/extensions/builtin.language-basics-typescript/src/tokenizeTypeScript.js +0 -1602
  138. package/extensions/builtin.language-basics-vue/README.md +0 -14
  139. package/extensions/builtin.language-basics-vue/extension.json +0 -13
  140. package/extensions/builtin.language-basics-vue/src/tokenizeVue.js +0 -327
  141. package/extensions/builtin.language-basics-wgsl/README.md +0 -16
  142. package/extensions/builtin.language-basics-wgsl/extension.json +0 -13
  143. package/extensions/builtin.language-basics-wgsl/languageConfiguration.json +0 -21
  144. package/extensions/builtin.language-basics-wgsl/src/tokenizeWgsl.js +0 -226
  145. package/extensions/builtin.language-basics-xml/README.md +0 -14
  146. package/extensions/builtin.language-basics-xml/extension.json +0 -85
  147. package/extensions/builtin.language-basics-xml/src/tokenizeXml.js +0 -328
  148. package/extensions/builtin.language-basics-yaml/README.md +0 -14
  149. package/extensions/builtin.language-basics-yaml/extension.json +0 -13
  150. package/extensions/builtin.language-basics-yaml/src/tokenizeYaml.js +0 -405
  151. package/extensions/builtin.theme-atom-one-dark/README.md +0 -11
  152. package/extensions/builtin.theme-atom-one-dark/color-theme.json +0 -216
  153. package/extensions/builtin.theme-atom-one-dark/extension.json +0 -12
  154. package/extensions/builtin.theme-atom-one-dark/images/demo.png +0 -0
  155. package/extensions/builtin.theme-ayu/README.md +0 -11
  156. package/extensions/builtin.theme-ayu/color-theme.json +0 -217
  157. package/extensions/builtin.theme-ayu/extension.json +0 -12
  158. package/extensions/builtin.theme-cobalt2/README.md +0 -20
  159. package/extensions/builtin.theme-cobalt2/color-theme.json +0 -202
  160. package/extensions/builtin.theme-cobalt2/extension.json +0 -13
  161. package/extensions/builtin.theme-cobalt2/images/demo.png +0 -0
  162. package/extensions/builtin.theme-cobalt2/images/logo.png +0 -0
  163. package/extensions/builtin.theme-gruvbox/README.md +0 -20
  164. package/extensions/builtin.theme-gruvbox/color-theme.json +0 -217
  165. package/extensions/builtin.theme-gruvbox/extension.json +0 -12
  166. package/extensions/builtin.theme-high-contrast/README.md +0 -9
  167. package/extensions/builtin.theme-high-contrast/color-theme.json +0 -86
  168. package/extensions/builtin.theme-high-contrast/extension.json +0 -11
  169. package/extensions/builtin.theme-material/README.md +0 -9
  170. package/extensions/builtin.theme-material/color-theme.json +0 -183
  171. package/extensions/builtin.theme-material/extension.json +0 -12
  172. package/extensions/builtin.theme-monokai/README.md +0 -10
  173. package/extensions/builtin.theme-monokai/color-theme.json +0 -151
  174. package/extensions/builtin.theme-monokai/extension.json +0 -11
  175. package/extensions/builtin.theme-noctis-uva/README.md +0 -11
  176. package/extensions/builtin.theme-noctis-uva/color-theme.json +0 -204
  177. package/extensions/builtin.theme-noctis-uva/extension.json +0 -12
  178. package/extensions/builtin.theme-noctis-uva/images/demo.png +0 -0
  179. package/extensions/builtin.theme-palenight/README.md +0 -11
  180. package/extensions/builtin.theme-palenight/color-theme.json +0 -209
  181. package/extensions/builtin.theme-palenight/extension.json +0 -12
  182. package/extensions/builtin.theme-palenight/images/demo.png +0 -0
  183. package/extensions/builtin.theme-slime/README.md +0 -5
  184. package/extensions/builtin.theme-slime/color-theme.json +0 -290
  185. package/extensions/builtin.theme-slime/extension.json +0 -13
  186. package/extensions/builtin.theme-slime/icon.png +0 -0
  187. package/extensions/builtin.vscode-icons/README.md +0 -20
  188. package/extensions/builtin.vscode-icons/extension.json +0 -13
  189. package/extensions/builtin.vscode-icons/icon-theme.json +0 -3815
  190. package/extensions/builtin.vscode-icons/icon.png +0 -0
  191. package/src/parts/Error/Error.js +0 -30
@@ -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
- }