@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,614 +0,0 @@
1
- /**
2
- * @enum number
3
- */
4
- const State = {
5
- None: 0,
6
- TopLevelContent: 1,
7
- AfterOpeningAngleBracket: 2,
8
- InsideOpeningTag: 3,
9
- InsideOpeningTagAndHasSeenWhitespace: 4,
10
- AfterClosingTagAngleBrackets: 5,
11
- AfterClosingTagName: 6,
12
- AfterAttributeName: 7,
13
- AfterAttributeEqualSign: 8,
14
- InsideAttributeDoubleQuote: 9,
15
- InsideBlockComment: 10,
16
- InsideString: 11,
17
- AfterKeyword: 12,
18
- Keyword: 13,
19
- InsideLineComment: 14,
20
- InsideSingleQuoteString: 15,
21
- InsideDoubleQuoteString: 16,
22
- InsideBacktickString: 17,
23
- AfterPropertyDot: 18,
24
- AfterKeywordClass: 19,
25
- AfterKeywordVariableDeclaration: 20,
26
- }
27
-
28
- /**
29
- * @enum number
30
- */
31
- export const TokenType = {
32
- None: 99999999,
33
- Numeric: 30,
34
- String: 50,
35
- Whitespace: 777,
36
- Comment: 60,
37
- Text: 117,
38
- PunctuationTag: 228,
39
- TagName: 118,
40
- AttributeName: 119,
41
- Punctuation: 10,
42
- Error: 141,
43
- PunctuationString: 11,
44
- NewLine: 771,
45
- Keyword: 951,
46
- VariableName: 952,
47
- LanguageConstant: 13,
48
- Regex: 14,
49
- KeywordImport: 215,
50
- KeywordControl: 881,
51
- KeywordModifier: 882,
52
- KeywordReturn: 883,
53
- KeywordNew: 884,
54
- FunctionName: 885,
55
- KeywordThis: 886,
56
- KeywordOperator: 887,
57
- KeywordFunction: 889,
58
- Class: 890,
59
- KeywordVoid: 891,
60
- }
61
-
62
- export const TokenMap = {
63
- [TokenType.None]: 'None',
64
- [TokenType.Numeric]: 'Numeric',
65
- [TokenType.String]: 'String',
66
- [TokenType.Whitespace]: 'Whitespace',
67
- [TokenType.Comment]: 'Comment',
68
- [TokenType.Text]: 'Text',
69
- [TokenType.PunctuationTag]: 'PunctuationTag',
70
- [TokenType.TagName]: 'TagName',
71
- [TokenType.AttributeName]: 'AttributeName',
72
- [TokenType.Punctuation]: 'Punctuation',
73
- [TokenType.Error]: 'Error',
74
- [TokenType.PunctuationString]: 'PunctuationString',
75
- [TokenType.NewLine]: 'NewLine',
76
- [TokenType.Keyword]: 'Keyword',
77
- [TokenType.VariableName]: 'VariableName',
78
- [TokenType.LanguageConstant]: 'LanguageConstant',
79
- [TokenType.Regex]: 'Regex',
80
- [TokenType.KeywordImport]: 'KeywordImport',
81
- [TokenType.KeywordControl]: 'KeywordControl',
82
- [TokenType.KeywordModifier]: 'KeywordModifier',
83
- [TokenType.KeywordReturn]: 'KeywordReturn',
84
- [TokenType.KeywordNew]: 'KeywordNew',
85
- [TokenType.FunctionName]: 'Function',
86
- [TokenType.KeywordThis]: 'KeywordThis',
87
- [TokenType.KeywordOperator]: 'KeywordOperator',
88
- [TokenType.KeywordFunction]: 'KeywordFunction',
89
- [TokenType.KeywordVoid]: 'KeywordVoid',
90
- [TokenType.Class]: 'Class',
91
- }
92
-
93
- const RE_KEYWORD =
94
- /^(?:as|assert|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|from|function|if|implements|import|in|Infinity|instanceof|interface|let|new|null|of|package|private|protected|public|return|super|switch|static|this|throw|try|true|typeof|undefined|var|void|while|with|yield)\b/
95
-
96
- const RE_CURLY_OPEN = /^\{/
97
- const RE_CURLY_CLOSE = /^\}/
98
- const RE_SQUARE_OPEN = /^\[/
99
- const RE_SQUARE_CLOSE = /^\]/
100
- const RE_COMMA = /^,/
101
- const RE_COLON = /^:/
102
- const RE_NUMERIC =
103
- /^((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)\b/
104
-
105
- const RE_NUMERIC_OCTAL = /0(?:o|O)?[0-7][0-7_]*(n)?\b/
106
- const RE_LINE_COMMENT_START = /^\/\//
107
- const RE_LINE_COMMENT_CONTENT = /^[^\n]+/
108
- const RE_NEWLINE_WHITESPACE = /^\n\s*/
109
- const RE_BLOCK_COMMENT_START = /^\/\*/
110
- const RE_BLOCK_COMMENT_CONTENT = /^.+?(?=\*\/)/
111
- const RE_BLOCK_COMMENT_END = /^\*\//
112
- const RE_UNKNOWN_VALUE = /^[^\}\{\s,"]+/
113
- const RE_IMPORT = /^[a-zA-Z\.]+/
114
- const RE_SEMICOLON = /^;/
115
- const RE_VARIABLE_NAME = /^[a-zA-Z_$][a-zA-Z\d\_]*/
116
- const RE_LINE_COMMENT = /^\/\/[^\n]*/
117
- const RE_ROUND_OPEN = /^\(/
118
- const RE_ROUND_CLOSE = /^\)/
119
- const RE_DOT = /^\./
120
- const RE_EQUAL_SIGN = /^=/
121
- const RE_SINGLE_QUOTE = /^'/
122
- const RE_PUNCTUATION = /^[\(\)=\+\-><\.:;\{\}\[\]!,&\|\^\?\*%~]/
123
- const RE_SLASH = /^\//
124
- const RE_ANYTHING_UNTIL_END = /^.+/s
125
- const RE_WHITESPACE = /^\s+/
126
- const RE_QUOTE_SINGLE = /^'/
127
- const RE_QUOTE_DOUBLE = /^"/
128
- const RE_QUOTE_BACKTICK = /^`/
129
- const RE_STRING_SINGLE_QUOTE_CONTENT = /^[^'\\]+/
130
- const RE_STRING_DOUBLE_QUOTE_CONTENT = /^[^"\\]+/
131
- const RE_STRING_BACKTICK_QUOTE_CONTENT = /^[^`\\\$]+/
132
- const RE_STRING_ESCAPE = /^\\./
133
- const RE_SHEBANG = /^#!.*/
134
- const RE_FUNCTION_CALL_NAME =
135
- /^[\w\$]+(?=\s*(\(|\=\s*(?:async\s*)?function|\=\s*(?:async\s*)?\())/
136
-
137
- const RE_DECORATOR = /^@\w+/
138
- const RE_BACKSLASH = /^\\/
139
- const RE_DOLLAR_CURLY_OPEN = /^\$\{/
140
- const RE_DOLLAR = /^\$/
141
- const RE_ANYTHING = /^.+/u
142
-
143
- // copied from https://github.com/PrismJS/prism/blob/master/components/prism-javascript.js#L57
144
- const RE_REGEX =
145
- /^((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/
146
-
147
- const RE_VARIABLE_NAME_SPECIAL = /\p{L}/u
148
- const RE_VARIABLE_NAME_SPECIAL_2 = /./u
149
- const RE_BUILTIN_CLASS =
150
- /^(?:Array|Object|Promise|ArrayBuffer|URL|URLSearchParams|WebSocket|FileSystemHandle|Function|StorageEvent|MessageEvent|MessageChannel|Int32Array|Boolean|String|Error|Set|RegExp|Map|WeakMap|RangeError|Date|Headers|Response|Request|Buffer|MessagePort|FileHandle|X509Certificate|Blob|HTMLElement|HTMLFormElement|Symbol|WeakSet|DataView)\b/
151
-
152
- const RE_PROPERTY_NAME = /^[a-z]\w*(?=\s*\:)/
153
- const RE_PROPERTY_NAME_FUNCTION = /^[a-z]\w*(?=\s*\()/
154
-
155
- export const initialLineState = {
156
- state: State.TopLevelContent,
157
- /**
158
- * @type {any[]}
159
- */
160
- stack: [],
161
- }
162
-
163
- export const hasArrayReturn = true
164
-
165
- /**
166
- *
167
- * @param {string} line
168
- * @param {*} lineState
169
- * @returns
170
- */
171
- export const tokenizeLine = (line, lineState) => {
172
- let next = null
173
- let index = 0
174
- let tokens = []
175
- let token = TokenType.None
176
- let state = lineState.state
177
- let stack = [...lineState.stack]
178
- while (index < line.length) {
179
- const part = line.slice(index)
180
- switch (state) {
181
- case State.TopLevelContent:
182
- if ((next = part.match(RE_WHITESPACE))) {
183
- token = TokenType.Whitespace
184
- state = State.TopLevelContent
185
- } else if ((next = part.match(RE_PROPERTY_NAME_FUNCTION))) {
186
- switch (next[0]) {
187
- case 'function':
188
- token = TokenType.KeywordFunction
189
- state = State.TopLevelContent
190
- break
191
- case 'async':
192
- token = TokenType.KeywordModifier
193
- state = State.TopLevelContent
194
- break
195
- case 'await':
196
- token = TokenType.KeywordModifier
197
- state = State.TopLevelContent
198
- break
199
- case 'as':
200
- case 'switch':
201
- case 'default':
202
- case 'case':
203
- case 'else':
204
- case 'if':
205
- case 'break':
206
- case 'throw':
207
- case 'for':
208
- case 'try':
209
- case 'catch':
210
- case 'finally':
211
- case 'continue':
212
- case 'while':
213
- token = TokenType.KeywordControl
214
- state = State.TopLevelContent
215
- break
216
- case 'return':
217
- token = TokenType.KeywordReturn
218
- state = State.TopLevelContent
219
- break
220
- case 'new':
221
- token = TokenType.KeywordNew
222
- state = State.TopLevelContent
223
- break
224
- case 'this':
225
- token = TokenType.KeywordThis
226
- state = State.TopLevelContent
227
- break
228
- case 'import':
229
- case 'export':
230
- case 'from':
231
- token = TokenType.KeywordImport
232
- state = State.TopLevelContent
233
- break
234
- case 'constructor':
235
- case 'super':
236
- token = TokenType.Keyword
237
- state = State.TopLevelContent
238
- break
239
- default:
240
- token = TokenType.FunctionName
241
- state = State.TopLevelContent
242
- break
243
- }
244
- } else if ((next = part.match(RE_PROPERTY_NAME))) {
245
- token = TokenType.VariableName
246
- state = State.TopLevelContent
247
- if (part === 'default:') {
248
- token = TokenType.KeywordControl
249
- }
250
- } else if ((next = part.match(RE_KEYWORD))) {
251
- switch (next[0]) {
252
- case 'true':
253
- case 'false':
254
- case 'null':
255
- case 'undefined':
256
- token = TokenType.LanguageConstant
257
- state = State.TopLevelContent
258
- break
259
- case 'import':
260
- case 'export':
261
- case 'from':
262
- token = TokenType.KeywordImport
263
- state = State.TopLevelContent
264
- break
265
- case 'as':
266
- case 'switch':
267
- case 'default':
268
- case 'case':
269
- case 'else':
270
- case 'if':
271
- case 'break':
272
- case 'throw':
273
- case 'for':
274
- case 'try':
275
- case 'catch':
276
- case 'finally':
277
- case 'continue':
278
- case 'while':
279
- token = TokenType.KeywordControl
280
- state = State.TopLevelContent
281
- break
282
- case 'assert':
283
- if (line.includes('import')) {
284
- token = TokenType.KeywordControl
285
- } else {
286
- token = TokenType.FunctionName
287
- }
288
- state = State.TopLevelContent
289
- break
290
- case 'async':
291
- case 'await':
292
- token = TokenType.KeywordModifier
293
- state = State.TopLevelContent
294
- break
295
- case 'return':
296
- token = TokenType.KeywordReturn
297
- state = State.TopLevelContent
298
- break
299
- case 'new':
300
- token = TokenType.KeywordNew
301
- state = State.TopLevelContent
302
- break
303
- case 'this':
304
- token = TokenType.KeywordThis
305
- state = State.TopLevelContent
306
- break
307
- case 'delete':
308
- case 'typeof':
309
- case 'in':
310
- case 'instanceof':
311
- token = TokenType.KeywordOperator
312
- state = State.TopLevelContent
313
- break
314
- case 'function':
315
- token = TokenType.KeywordFunction
316
- state = State.TopLevelContent
317
- break
318
- case 'Infinity':
319
- token = TokenType.Numeric
320
- state = State.TopLevelContent
321
- break
322
- case 'of':
323
- token = TokenType.KeywordOperator
324
- state = State.TopLevelContent
325
- break
326
- case 'class':
327
- case 'extends':
328
- token = TokenType.Keyword
329
- state = State.AfterKeywordClass
330
- break
331
- case 'var':
332
- case 'let':
333
- case 'const':
334
- token = TokenType.Keyword
335
- state = State.AfterKeywordVariableDeclaration
336
- break
337
- case 'void':
338
- token = TokenType.KeywordVoid
339
- state = State.TopLevelContent
340
- break
341
- default:
342
- token = TokenType.Keyword
343
- state = State.TopLevelContent
344
- break
345
- }
346
- } else if ((next = part.match(RE_FUNCTION_CALL_NAME))) {
347
- token = TokenType.FunctionName
348
- state = State.TopLevelContent
349
- } else if ((next = part.match(RE_BUILTIN_CLASS))) {
350
- token = TokenType.Class
351
- state = State.TopLevelContent
352
- } else if ((next = part.match(RE_VARIABLE_NAME))) {
353
- token = TokenType.VariableName
354
- state = State.TopLevelContent
355
- } else if ((next = part.match(RE_NUMERIC))) {
356
- token = TokenType.Numeric
357
- state = State.TopLevelContent
358
- } else if ((next = part.match(RE_CURLY_CLOSE))) {
359
- token = TokenType.Punctuation
360
- state = stack.pop() || State.TopLevelContent
361
- } else if ((next = part.match(RE_CURLY_OPEN))) {
362
- token = TokenType.Punctuation
363
- stack.push(State.TopLevelContent)
364
- state = State.TopLevelContent
365
- } else if ((next = part.match(RE_PUNCTUATION))) {
366
- token = TokenType.Punctuation
367
- if (next[0] === '.') {
368
- state = State.AfterPropertyDot
369
- } else if (next[0] === '}') {
370
- state = stack.pop() || State.TopLevelContent
371
- } else {
372
- state = State.TopLevelContent
373
- }
374
- } else if ((next = part.match(RE_SLASH))) {
375
- if ((next = part.match(RE_BLOCK_COMMENT_START))) {
376
- token = TokenType.Comment
377
- state = State.InsideBlockComment
378
- } else if ((next = part.match(RE_LINE_COMMENT_START))) {
379
- token = TokenType.Comment
380
- state = State.InsideLineComment
381
- } else if ((next = part.match(RE_REGEX))) {
382
- token = TokenType.Regex
383
- state = State.TopLevelContent
384
- } else {
385
- next = part.match(RE_SLASH)
386
- token = TokenType.Punctuation
387
- state = State.TopLevelContent
388
- }
389
- } else if ((next = part.match(RE_QUOTE_SINGLE))) {
390
- token = TokenType.Punctuation
391
- state = State.InsideSingleQuoteString
392
- } else if ((next = part.match(RE_QUOTE_DOUBLE))) {
393
- token = TokenType.Punctuation
394
- state = State.InsideDoubleQuoteString
395
- } else if ((next = part.match(RE_QUOTE_BACKTICK))) {
396
- token = TokenType.Punctuation
397
- state = State.InsideBacktickString
398
- } else if ((next = part.match(RE_NUMERIC_OCTAL))) {
399
- token = TokenType.Numeric
400
- state = State.TopLevelContent
401
- } else if ((next = part.match(RE_SHEBANG))) {
402
- token = TokenType.Comment
403
- state = State.TopLevelContent
404
- } else if ((next = part.match(RE_DECORATOR))) {
405
- token = TokenType.VariableName
406
- state = State.TopLevelContent
407
- } else if ((next = part.match(RE_VARIABLE_NAME_SPECIAL))) {
408
- token = TokenType.VariableName
409
- state = State.TopLevelContent
410
- } else if ((next = part.match(RE_ANYTHING))) {
411
- token = TokenType.Text
412
- state = State.TopLevelContent
413
- } else {
414
- throw new Error('no')
415
- }
416
- break
417
- case State.Keyword:
418
- const keyword = next[0]
419
- switch (keyword) {
420
- case 'true':
421
- case 'false':
422
- break
423
- default:
424
- token = TokenType.Keyword
425
- state = State.TopLevelContent
426
- break
427
- }
428
- break
429
- case State.InsideLineComment:
430
- if ((next = part.match(RE_ANYTHING_UNTIL_END))) {
431
- token = TokenType.Comment
432
- state = State.TopLevelContent
433
- } else {
434
- throw new Error('no')
435
- }
436
- break
437
- case State.InsideBlockComment:
438
- if ((next = part.match(RE_BLOCK_COMMENT_END))) {
439
- token = TokenType.Comment
440
- state = State.TopLevelContent
441
- } else if ((next = part.match(RE_BLOCK_COMMENT_CONTENT))) {
442
- token = TokenType.Comment
443
- state = State.InsideBlockComment
444
- } else if ((next = part.match(RE_ANYTHING_UNTIL_END))) {
445
- token = TokenType.Comment
446
- state = State.InsideBlockComment
447
- } else {
448
- throw new Error('no')
449
- }
450
- break
451
- case State.InsideSingleQuoteString:
452
- if ((next = part.match(RE_QUOTE_SINGLE))) {
453
- token = TokenType.Punctuation
454
- state = State.TopLevelContent
455
- } else if ((next = part.match(RE_STRING_SINGLE_QUOTE_CONTENT))) {
456
- token = TokenType.String
457
- state = State.InsideSingleQuoteString
458
- } else if ((next = part.match(RE_STRING_ESCAPE))) {
459
- token = TokenType.String
460
- state = State.InsideSingleQuoteString
461
- } else if ((next = part.match(RE_BACKSLASH))) {
462
- token = TokenType.String
463
- state = State.InsideSingleQuoteString
464
- } else {
465
- part
466
- throw new Error('no')
467
- }
468
- break
469
- case State.InsideDoubleQuoteString:
470
- if ((next = part.match(RE_QUOTE_DOUBLE))) {
471
- token = TokenType.Punctuation
472
- state = State.TopLevelContent
473
- } else if ((next = part.match(RE_STRING_DOUBLE_QUOTE_CONTENT))) {
474
- token = TokenType.String
475
- state = State.InsideDoubleQuoteString
476
- } else if ((next = part.match(RE_STRING_ESCAPE))) {
477
- token = TokenType.String
478
- state = State.InsideDoubleQuoteString
479
- } else if ((next = part.match(RE_BACKSLASH))) {
480
- token = TokenType.String
481
- state = State.InsideDoubleQuoteString
482
- } else {
483
- throw new Error('no')
484
- }
485
- break
486
- case State.InsideBacktickString:
487
- if ((next = part.match(RE_QUOTE_BACKTICK))) {
488
- token = TokenType.Punctuation
489
- state = State.TopLevelContent
490
- } else if ((next = part.match(RE_STRING_BACKTICK_QUOTE_CONTENT))) {
491
- token = TokenType.String
492
- state = State.InsideBacktickString
493
- } else if ((next = part.match(RE_DOLLAR_CURLY_OPEN))) {
494
- token = TokenType.Punctuation
495
- state = State.TopLevelContent
496
- stack.push(State.InsideBacktickString)
497
- } else if ((next = part.match(RE_STRING_ESCAPE))) {
498
- token = TokenType.String
499
- state = State.InsideBacktickString
500
- } else if ((next = part.match(RE_BACKSLASH))) {
501
- token = TokenType.String
502
- state = State.InsideBacktickString
503
- } else if ((next = part.match(RE_DOLLAR))) {
504
- token = TokenType.String
505
- state = State.InsideBacktickString
506
- } else {
507
- throw new Error('no')
508
- }
509
- break
510
- case State.AfterPropertyDot:
511
- if ((next = part.match(RE_WHITESPACE))) {
512
- token = TokenType.Whitespace
513
- state = State.AfterPropertyDot
514
- } else if ((next = part.match(RE_FUNCTION_CALL_NAME))) {
515
- token = TokenType.FunctionName
516
- state = State.TopLevelContent
517
- } else if ((next = part.match(RE_VARIABLE_NAME))) {
518
- token = TokenType.VariableName
519
- state = State.TopLevelContent
520
- } else if ((next = part.match(RE_LINE_COMMENT))) {
521
- token = TokenType.Comment
522
- state = State.InsideLineComment
523
- } else if ((next = part.match(RE_BLOCK_COMMENT_START))) {
524
- token = TokenType.Comment
525
- state = State.InsideBlockComment
526
- } else if ((next = part.match(RE_PUNCTUATION))) {
527
- token = TokenType.Punctuation
528
- state = State.TopLevelContent
529
- } else if ((next = part.match(RE_VARIABLE_NAME_SPECIAL_2))) {
530
- token = TokenType.VariableName
531
- state = State.TopLevelContent
532
- } else {
533
- throw new Error('no')
534
- }
535
- break
536
- case State.AfterKeywordClass:
537
- if ((next = part.match(RE_WHITESPACE))) {
538
- token = TokenType.Whitespace
539
- state = State.AfterKeywordClass
540
- } else if ((next = part.match(RE_VARIABLE_NAME))) {
541
- token = TokenType.Class
542
- state = State.TopLevelContent
543
- } else if ((next = part.match(RE_LINE_COMMENT))) {
544
- token = TokenType.Comment
545
- state = State.TopLevelContent
546
- } else if ((next = part.match(RE_BLOCK_COMMENT_START))) {
547
- token = TokenType.Comment
548
- state = State.InsideBlockComment
549
- } else if ((next = part.match(RE_CURLY_OPEN))) {
550
- token = TokenType.Punctuation
551
- state = State.TopLevelContent
552
- } else if ((next = part.match(RE_PUNCTUATION))) {
553
- token = TokenType.Punctuation
554
- state = State.TopLevelContent
555
- } else if ((next = part.match(RE_ANYTHING))) {
556
- token = TokenType.Text
557
- state = State.TopLevelContent
558
- } else {
559
- throw new Error('no')
560
- }
561
- break
562
- case State.AfterKeywordVariableDeclaration:
563
- if ((next = part.match(RE_WHITESPACE))) {
564
- token = TokenType.Whitespace
565
- state = State.AfterKeywordVariableDeclaration
566
- } else if ((next = part.match(RE_FUNCTION_CALL_NAME))) {
567
- token = TokenType.FunctionName
568
- state = State.TopLevelContent
569
- } else if ((next = part.match(RE_VARIABLE_NAME))) {
570
- token = TokenType.VariableName
571
- state = State.TopLevelContent
572
- } else if ((next = part.match(RE_CURLY_OPEN))) {
573
- token = TokenType.Punctuation
574
- state = State.TopLevelContent
575
- } else if ((next = part.match(RE_LINE_COMMENT))) {
576
- token = TokenType.Comment
577
- state = State.AfterKeywordVariableDeclaration
578
- } else if ((next = part.match(RE_BLOCK_COMMENT_START))) {
579
- stack.push(state)
580
- token = TokenType.Comment
581
- state = State.InsideBlockComment
582
- } else if ((next = part.match(RE_PUNCTUATION))) {
583
- token = TokenType.Punctuation
584
- state = State.TopLevelContent
585
- } else if ((next = part.match(RE_VARIABLE_NAME_SPECIAL))) {
586
- token = TokenType.VariableName
587
- state = State.TopLevelContent
588
- } else if ((next = part.match(RE_VARIABLE_NAME_SPECIAL_2))) {
589
- token = TokenType.VariableName
590
- state = State.TopLevelContent
591
- } else {
592
- throw new Error(`no`)
593
- }
594
- break
595
- default:
596
- state
597
- throw new Error('no')
598
- }
599
- const tokenLength = next[0].length
600
- index += tokenLength
601
- tokens.push(token, tokenLength)
602
- }
603
- if (state === State.InsideLineComment) {
604
- state = State.TopLevelContent
605
- }
606
- if (state === State.InsideSingleQuoteString && !line.endsWith('\\')) {
607
- state = State.TopLevelContent
608
- }
609
- return {
610
- state,
611
- tokens,
612
- stack,
613
- }
614
- }
@@ -1,14 +0,0 @@
1
- # Language Basics JSON
2
-
3
- ## Contributing
4
-
5
- ```sh
6
- git clone git@github.com:lvce-editor/language-basics-json.git &&
7
- cd language-basics-json &&
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-json)
@@ -1,60 +0,0 @@
1
- {
2
- "id": "builtin.language-basics-json",
3
- "name": "Language Basics JSON",
4
- "description": "Provides syntax highlighting and bracket matching in JSON files.",
5
- "languages": [
6
- {
7
- "id": "json",
8
- "extensions": [
9
- ".json",
10
- ".bowerrc",
11
- ".jscsrc",
12
- ".webmanifest",
13
- ".js.map",
14
- ".css.map",
15
- ".ts.map",
16
- ".har",
17
- ".jslintrc",
18
- ".jsonld",
19
- ".geojson",
20
- ".ipynb",
21
- ".jsonc",
22
- ".eslintrc",
23
- ".eslintrc.json",
24
- ".jsfmtrc",
25
- ".jshintrc",
26
- ".swcrc",
27
- ".hintrc",
28
- ".babelrc",
29
- ".prettierrc",
30
- ".sublime-project",
31
- ".code-snippets",
32
- ".tour",
33
- ".heapsnapshot",
34
- ".code-workspace",
35
- ".code-profile",
36
- ".github-issues"
37
- ],
38
- "fileNames": [
39
- "composer.lock",
40
- ".watchmanconfig",
41
- ".all-contributorsrc",
42
- ".imgbotconfig",
43
- ".stylelintrc",
44
- ".parcelrc",
45
- ".publishrc",
46
- ".whitesource",
47
- ".mention-bot",
48
- "pdfjs.config",
49
- "tsconfig.tsbuildinfo",
50
- ".gdntsa",
51
- ".nycrc",
52
- "manifest.webapp",
53
- ".alexrc",
54
- ".yarn-integrity",
55
- ".tsbuildinfo"
56
- ],
57
- "tokenize": "src/tokenizeJson.js"
58
- }
59
- ]
60
- }