@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,257 +0,0 @@
1
- /**
2
- * @enum number
3
- */
4
- export const State = {
5
- TopLevelContent: 1,
6
- InsideDoubleQuoteString: 2,
7
- InsideSingleQuoteString: 3,
8
- }
9
-
10
- export const StateMap = {
11
- [State.TopLevelContent]: 'TopLevelContent',
12
- }
13
-
14
- /**
15
- * @enum number
16
- */
17
- export const TokenType = {
18
- None: 0,
19
- Text: 1,
20
- Comment: 2,
21
- Whitespace: 3,
22
- VariableName: 4,
23
- Punctuation: 5,
24
- Numeric: 6,
25
- String: 7,
26
- LanguageConstant: 8,
27
- Keyword: 9,
28
- KeywordImport: 215,
29
- KeywordControl: 881,
30
- KeywordModifier: 882,
31
- KeywordReturn: 883,
32
- KeywordNew: 884,
33
- FunctionName: 885,
34
- KeywordThis: 886,
35
- KeywordOperator: 887,
36
- Regex: 888,
37
- }
38
-
39
- export const TokenMap = {
40
- [TokenType.Text]: 'Text',
41
- [TokenType.Comment]: 'Comment',
42
- [TokenType.Whitespace]: 'Whitespace',
43
- [TokenType.VariableName]: 'VariableName',
44
- [TokenType.Punctuation]: 'Punctuation',
45
- [TokenType.Numeric]: 'Numeric',
46
- [TokenType.String]: 'String',
47
- [TokenType.KeywordImport]: 'KeywordImport',
48
- [TokenType.KeywordControl]: 'KeywordControl',
49
- [TokenType.KeywordModifier]: 'KeywordModifier',
50
- [TokenType.KeywordReturn]: 'KeywordReturn',
51
- [TokenType.KeywordNew]: 'KeywordNew',
52
- [TokenType.FunctionName]: 'Function',
53
- [TokenType.KeywordThis]: 'KeywordThis',
54
- [TokenType.KeywordOperator]: 'KeywordOperator',
55
- [TokenType.LanguageConstant]: 'LanguageConstant',
56
- [TokenType.Keyword]: 'Keyword',
57
- [TokenType.Regex]: 'Regex',
58
- }
59
-
60
- const RE_LINE_COMMENT = /^#[^\n]*/
61
- const RE_WHITESPACE = /^\s+/
62
- const RE_VARIABLE_NAME = /^[\@a-zA-Z\_\$][a-zA-Z\_\/\-\$#\d\-]*/
63
- const RE_PUNCTUATION = /^[:,;\{\}\[\]\.=\(\)<>\!\|\+\&\>\)\?\-]/
64
- const RE_NUMERIC =
65
- /^((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)\b/
66
- const RE_STRING_ESCAPE = /^\\./
67
- const RE_BACKSLASH_AT_END = /^\\$/
68
- const RE_ANYTHING = /^.+/s
69
- const RE_QUOTE_DOUBLE = /^"/
70
- const RE_QUOTE_SINGLE = /^'/
71
- const RE_STRING_DOUBLE_QUOTE_CONTENT = /^[^"\\]+/
72
- const RE_STRING_SINGLE_QUOTE_CONTENT = /^[^'\\]+/
73
- const RE_KEYWORD =
74
- /^(?:and|arguments|async|await|break|by|case|catch|class|const|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|implements|import|in|Infinity|instanceof|interface|is|isnt|let|loop|NaN|native|new|no|not|null|of|off|on|or|package|private|protected|public|return|static|super|switch|then|this|throw|try|true|typeof|undefined|unless|var|void|when|while|with|yes)\b/
75
- // copied from https://github.com/PrismJS/prism/blob/master/components/prism-javascript.js#L57
76
- const RE_REGEX =
77
- /^((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/
78
- const RE_SLASH = /^\//
79
- const RE_ANYTHING_UNTIL_END = /^.+/s
80
- const RE_FUNCTION_CALL_NAME = /^[\@\w]+(?=\s*('|\=\s*function|\=\s*\(|\?\(|\())/
81
-
82
- export const initialLineState = {
83
- state: 1,
84
- tokens: [],
85
- }
86
-
87
- export const hasArrayReturn = true
88
-
89
- /**
90
- * @param {string} line
91
- * @param {any} lineState
92
- */
93
- export const tokenizeLine = (line, lineState) => {
94
- let next = null
95
- let index = 0
96
- let tokens = []
97
- let token = TokenType.None
98
- let state = lineState.state
99
- while (index < line.length) {
100
- const part = line.slice(index)
101
- switch (state) {
102
- case State.TopLevelContent:
103
- if ((next = part.match(RE_WHITESPACE))) {
104
- token = TokenType.Whitespace
105
- state = State.TopLevelContent
106
- } else if ((next = part.match(RE_KEYWORD))) {
107
- switch (next[0]) {
108
- case 'true':
109
- case 'false':
110
- case 'null':
111
- case 'on':
112
- case 'off':
113
- case 'yes':
114
- case 'no':
115
- case 'undefined':
116
- token = TokenType.LanguageConstant
117
- break
118
- case 'import':
119
- case 'export':
120
- case 'from':
121
- token = TokenType.KeywordImport
122
- break
123
- case 'as':
124
- case 'switch':
125
- case 'default':
126
- case 'case':
127
- case 'else':
128
- case 'then':
129
- case 'if':
130
- case 'break':
131
- case 'throw':
132
- case 'for':
133
- case 'try':
134
- case 'catch':
135
- case 'finally':
136
- case 'while':
137
- case 'when':
138
- case 'unless':
139
- token = TokenType.KeywordControl
140
- break
141
- case 'async':
142
- case 'await':
143
- token = TokenType.KeywordModifier
144
- break
145
- case 'return':
146
- token = TokenType.KeywordReturn
147
- break
148
- case 'new':
149
- token = TokenType.KeywordNew
150
- break
151
- case 'this':
152
- token = TokenType.KeywordThis
153
- break
154
- case 'delete':
155
- case 'typeof':
156
- case 'in':
157
- case 'instanceof':
158
- case 'and':
159
- case 'is':
160
- case 'isnt':
161
- token = TokenType.KeywordOperator
162
- break
163
- case 'Infinity':
164
- token = TokenType.Numeric
165
- break
166
- default:
167
- token = TokenType.Keyword
168
- break
169
- }
170
- state = State.TopLevelContent
171
- } else if ((next = part.match(RE_PUNCTUATION))) {
172
- token = TokenType.Punctuation
173
- state = State.TopLevelContent
174
- } else if ((next = part.match(RE_FUNCTION_CALL_NAME))) {
175
- token = TokenType.FunctionName
176
- state = State.TopLevelContent
177
- } else if ((next = part.match(RE_VARIABLE_NAME))) {
178
- token = TokenType.VariableName
179
- state = State.TopLevelContent
180
- } else if ((next = part.match(RE_NUMERIC))) {
181
- token = TokenType.Numeric
182
- state = State.TopLevelContent
183
- } else if ((next = part.match(RE_SLASH))) {
184
- if ((next = part.match(RE_REGEX))) {
185
- token = TokenType.Regex
186
- state = State.TopLevelContent
187
- } else {
188
- next = part.match(RE_SLASH)
189
- token = TokenType.Punctuation
190
- state = State.TopLevelContent
191
- }
192
- } else if ((next = part.match(RE_QUOTE_DOUBLE))) {
193
- token = TokenType.Punctuation
194
- state = State.InsideDoubleQuoteString
195
- } else if ((next = part.match(RE_QUOTE_SINGLE))) {
196
- token = TokenType.Punctuation
197
- state = State.InsideSingleQuoteString
198
- } else if ((next = part.match(RE_LINE_COMMENT))) {
199
- token = TokenType.Comment
200
- state = State.TopLevelContent
201
- } else if ((next = part.match(RE_NUMERIC))) {
202
- token = TokenType.Numeric
203
- state = State.TopLevelContent
204
- } else if ((next = part.match(RE_ANYTHING))) {
205
- token = TokenType.Text
206
- state = State.TopLevelContent
207
- } else {
208
- part //?
209
- throw new Error('no')
210
- }
211
- break
212
- case State.InsideDoubleQuoteString:
213
- if ((next = part.match(RE_QUOTE_DOUBLE))) {
214
- token = TokenType.Punctuation
215
- state = State.TopLevelContent
216
- } else if ((next = part.match(RE_STRING_DOUBLE_QUOTE_CONTENT))) {
217
- token = TokenType.String
218
- state = State.InsideDoubleQuoteString
219
- } else if ((next = part.match(RE_STRING_ESCAPE))) {
220
- token = TokenType.String
221
- state = State.InsideDoubleQuoteString
222
- } else if ((next = part.match(RE_BACKSLASH_AT_END))) {
223
- token = TokenType.String
224
- state = State.InsideDoubleQuoteString
225
- } else {
226
- throw new Error('no')
227
- }
228
- break
229
- case State.InsideSingleQuoteString:
230
- if ((next = part.match(RE_QUOTE_SINGLE))) {
231
- token = TokenType.Punctuation
232
- state = State.TopLevelContent
233
- } else if ((next = part.match(RE_STRING_SINGLE_QUOTE_CONTENT))) {
234
- token = TokenType.String
235
- state = State.InsideSingleQuoteString
236
- } else if ((next = part.match(RE_STRING_ESCAPE))) {
237
- token = TokenType.String
238
- state = State.InsideSingleQuoteString
239
- } else if ((next = part.match(RE_BACKSLASH_AT_END))) {
240
- token = TokenType.String
241
- state = State.InsideSingleQuoteString
242
- } else {
243
- throw new Error('no')
244
- }
245
- break
246
- default:
247
- throw new Error('no')
248
- }
249
- const tokenLength = next[0].length
250
- index += tokenLength
251
- tokens.push(token, tokenLength)
252
- }
253
- return {
254
- state,
255
- tokens,
256
- }
257
- }
@@ -1,14 +0,0 @@
1
- # Language Basics Cpp
2
-
3
- ## Contributing
4
-
5
- ```sh
6
- git clone git@github.com:lvce-editor/language-basics-cpp.git &&
7
- cd language-basics-cpp &&
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-cpp)
@@ -1,32 +0,0 @@
1
- {
2
- "id": "builtin.language-basics-cpp",
3
- "name": "Language Basics C++",
4
- "description": "Provides syntax highlighting and bracket matching in C++ files.",
5
- "languages": [
6
- {
7
- "id": "cpp",
8
- "extensions": [
9
- ".cpp",
10
- ".cc",
11
- ".cxx",
12
- ".c++",
13
- ".hpp",
14
- ".hh",
15
- ".hxx",
16
- ".h++",
17
- ".h",
18
- ".ii",
19
- ".ino",
20
- ".inl",
21
- ".ipp",
22
- ".ixx",
23
- ".tpp",
24
- ".txx",
25
- ".hpp.in",
26
- ".h.in"
27
- ],
28
- "configuration": "./languageConfiguration.json",
29
- "tokenize": "src/tokenizeCpp.js"
30
- }
31
- ]
32
- }
@@ -1,5 +0,0 @@
1
- {
2
- "comments": {
3
- "lineComment": "#"
4
- }
5
- }
@@ -1,317 +0,0 @@
1
- /**
2
- * @enum number
3
- */
4
- export const State = {
5
- TopLevelContent: 1,
6
- InsideDoubleQuoteString: 2,
7
- InsideLineComment: 3,
8
- AfterInclude: 4,
9
- AfterIncludeAfterWhitespace: 5,
10
- AfterMacroError: 6,
11
- AfterMacroErrorAfterWhitespace: 7,
12
- InsideBlockComment: 8,
13
- }
14
-
15
- /**
16
- * @enum number
17
- */
18
- export const TokenType = {
19
- None: 901,
20
- Whitespace: 0,
21
- PlainText: 117,
22
- Comment: 60,
23
- String: 50,
24
- Numeric: 30,
25
- Text: 117,
26
- TagName: 118,
27
- Punctuation: 10,
28
- Error: 141,
29
- NewLine: 771,
30
- Keyword: 951,
31
- VariableName: 952,
32
- Include: 222,
33
- Type: 555,
34
- Macro: 71,
35
- KeywordImport: 215,
36
- KeywordControl: 881,
37
- KeywordModifier: 882,
38
- KeywordReturn: 883,
39
- KeywordNew: 884,
40
- FunctionName: 885,
41
- KeywordThis: 886,
42
- KeywordOperator: 887,
43
- LanguageConstant: 888,
44
- }
45
-
46
- export const TokenMap = {
47
- [TokenType.Whitespace]: 'Whitespace',
48
- [TokenType.Keyword]: 'Keyword',
49
- [TokenType.PlainText]: 'PlainText',
50
- [TokenType.Comment]: 'Comment',
51
- [TokenType.Text]: 'Text',
52
- [TokenType.Punctuation]: 'Punctuation',
53
- [TokenType.VariableName]: 'VariableName',
54
- [TokenType.Include]: 'KeywordImport',
55
- [TokenType.String]: 'String',
56
- [TokenType.Type]: 'Type',
57
- [TokenType.Macro]: 'Macro',
58
- [TokenType.Numeric]: 'Numeric',
59
- [TokenType.KeywordImport]: 'KeywordImport',
60
- [TokenType.KeywordControl]: 'KeywordControl',
61
- [TokenType.KeywordModifier]: 'KeywordModifier',
62
- [TokenType.KeywordReturn]: 'KeywordReturn',
63
- [TokenType.KeywordNew]: 'KeywordNew',
64
- [TokenType.FunctionName]: 'Function',
65
- [TokenType.KeywordThis]: 'KeywordThis',
66
- [TokenType.KeywordOperator]: 'KeywordOperator',
67
- [TokenType.LanguageConstant]: 'LanguageConstant',
68
- }
69
-
70
- const RE_WHITESPACE = /^\s+/
71
- const RE_WHITESPACE_SINGLE_LINE = /^( |\t)+/
72
- const RE_WHITESPACE_NEWLINE = /^\n/
73
- const RE_CONSTANT = /^(true|false|null)/
74
- const RE_STRING_DOUBLE_QUOTE_CONTENT = /^[^"\n]+/
75
- const RE_STRING_SINGLE_QUOTE_CONTENT = /^[^'\n]+/
76
- const RE_DOUBLE_QUOTE = /^"/
77
- const RE_CURLY_OPEN = /^\{/
78
- const RE_CURLY_CLOSE = /^\}/
79
- const RE_SQUARE_OPEN = /^\[/
80
- const RE_SQUARE_CLOSE = /^\]/
81
- const RE_COMMA = /^,/
82
- const RE_COLON = /^:/
83
- const RE_NUMERIC =
84
- /^((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)/
85
- const RE_NEWLINE_WHITESPACE = /^\n\s*/
86
- const RE_BLOCK_COMMENT_START = /^\/\*/
87
- const RE_BLOCK_COMMENT_CONTENT_1 = /^.+(?=\*\/)/s
88
- const RE_BLOCK_COMMENT_CONTENT_2 = /^.+(?=$)/s
89
- const RE_BLOCK_COMMENT_END = /^\*\//
90
- const RE_UNKNOWN_VALUE = /^[^\}\{\s,"]+/
91
- const RE_IMPORT = /^[a-zA-Z\.]+/
92
- const RE_SEMICOLON = /^;/
93
- const RE_VARIABLE_NAME = /^[a-zA-Z\_][a-zA-Z\_\d]*/
94
- const RE_LINE_COMMENT = /^\/\//
95
- const RE_ROUND_OPEN = /^\(/
96
- const RE_ROUND_CLOSE = /^\)/
97
- const RE_DOT = /^\./
98
- const RE_EQUAL_SIGN = /^=/
99
- const RE_SINGLE_QUOTE = /^'/
100
- const RE_PUNCTUATION = /^[\(\)=\+\-><\.,\/\*\^\[\]\{\}\|:\;\&\!\~]/
101
- const RE_ANYTHING_UNTIL_END = /^.+/s
102
- const RE_START_OF_FUNCTION = /^( )*\(/
103
- const RE_COLON_COLON = /^::/
104
- const RE_BASH_SLASH = /^\\/
105
- const RE_ANY_CHAR = /^./
106
- const RE_SQUARE_OPEN_SQUARE_OPEN = /^\[\[/
107
- const RE_SQUARE_CLOSE_SQUARE_CLOSE = /^\]\]/
108
- const RE_STRING_MULTILINE_CONTENT = /^.+?(?=\]\]|$)/s
109
- const RE_KEYWORD =
110
- /^(?:while|volatile|void|virtual|unsigned|union|using|typedef|try|throw|this|template|switch|struct|static|sizeof|signed|short|return|register|public|protected|private|operator|new|namespace|long|int|inline|if|goto|friend|for|float|extern|enum|else|double|do|delete|default|continue|const|constexpr|class|char|catch|case|bool|break|auto|asm)\b/
111
- const RE_TEXT = /^.+/s
112
- const RE_INCLUDE = /^#include/
113
- const RE_INCLUDE_WITH_QUOTES = /^"([^"]*)"/
114
- const RE_INCLUDE_WITH_ANGLE_BRACKETS = /^<[^>]*>/
115
- const RE_TYPE = /^(?:size_t)\b/
116
- const RE_MACRO = /^#[a-z]+/
117
- const RE_FUNCTION_CALL_NAME = /^[\w]+(?=\s*(\())/
118
-
119
- export const initialLineState = {
120
- state: State.TopLevelContent,
121
- }
122
-
123
- export const hasArrayReturn = true
124
-
125
- // @ts-ignore
126
- export const isLineStateEqual = (lineStateA, lineStateB) => {
127
- return lineStateA.state === lineStateB.state
128
- }
129
-
130
- /**
131
- *
132
- * @param {string} line
133
- * @param {any} lineState
134
- * @returns
135
- */
136
- export const tokenizeLine = (line, lineState) => {
137
- let next = null
138
- let index = 0
139
- let tokens = []
140
- let token = TokenType.None
141
- let state = lineState.state
142
- while (index < line.length) {
143
- const part = line.slice(index)
144
- switch (state) {
145
- case State.TopLevelContent:
146
- if ((next = part.match(RE_WHITESPACE))) {
147
- token = TokenType.Whitespace
148
- state = State.TopLevelContent
149
- } else if ((next = part.match(RE_KEYWORD))) {
150
- switch (next[0]) {
151
- case 'true':
152
- case 'false':
153
- case 'null':
154
- token = TokenType.LanguageConstant
155
- break
156
- case 'switch':
157
- case 'default':
158
- case 'case':
159
- case 'else':
160
- case 'if':
161
- case 'break':
162
- case 'throw':
163
- case 'for':
164
- case 'try':
165
- case 'catch':
166
- case 'continue':
167
- case 'while':
168
- token = TokenType.KeywordControl
169
- break
170
- case 'return':
171
- token = TokenType.KeywordReturn
172
- break
173
- case 'new':
174
- token = TokenType.KeywordNew
175
- break
176
- case 'this':
177
- token = TokenType.KeywordThis
178
- break
179
- default:
180
- token = TokenType.Keyword
181
- break
182
- }
183
- state = State.TopLevelContent
184
- } else if ((next = part.match(RE_TYPE))) {
185
- token = TokenType.Type
186
- state = State.TopLevelContent
187
- } else if ((next = part.match(RE_FUNCTION_CALL_NAME))) {
188
- token = TokenType.FunctionName
189
- state = State.TopLevelContent
190
- } else if ((next = part.match(RE_VARIABLE_NAME))) {
191
- token = TokenType.VariableName
192
- state = State.TopLevelContent
193
- } else if ((next = part.match(RE_MACRO))) {
194
- const macro = next[0]
195
- switch (macro) {
196
- case '#include':
197
- token = TokenType.Include
198
- state = State.AfterInclude
199
- break
200
- case '#error':
201
- token = TokenType.Macro
202
- state = State.AfterMacroError
203
- next
204
- break
205
- default:
206
- token = TokenType.Macro
207
- state = State.TopLevelContent
208
- break
209
- }
210
- } else if ((next = part.match(RE_LINE_COMMENT))) {
211
- token = TokenType.Comment
212
- state = State.InsideLineComment
213
- } else if ((next = part.match(RE_BLOCK_COMMENT_START))) {
214
- token = TokenType.Comment
215
- state = State.InsideBlockComment
216
- } else if ((next = part.match(RE_PUNCTUATION))) {
217
- token = TokenType.Punctuation
218
- state = State.TopLevelContent
219
- } else if ((next = part.match(RE_DOUBLE_QUOTE))) {
220
- token = TokenType.Punctuation
221
- state = State.InsideDoubleQuoteString
222
- } else if ((next = part.match(RE_NUMERIC))) {
223
- token = TokenType.Numeric
224
- state = State.TopLevelContent
225
- } else if ((next = part.match(RE_TEXT))) {
226
- token = TokenType.Text
227
- state = State.TopLevelContent
228
- } else {
229
- part //?
230
- throw new Error('no')
231
- }
232
- break
233
- case State.AfterInclude:
234
- if ((next = part.match(RE_WHITESPACE))) {
235
- token = TokenType.Whitespace
236
- state = State.AfterIncludeAfterWhitespace
237
- } else {
238
- throw new Error('no')
239
- }
240
- break
241
- case State.AfterIncludeAfterWhitespace:
242
- if ((next = part.match(RE_INCLUDE_WITH_ANGLE_BRACKETS))) {
243
- token = TokenType.String
244
- state = State.TopLevelContent
245
- } else if ((next = part.match(RE_INCLUDE_WITH_QUOTES))) {
246
- token = TokenType.String
247
- state = State.TopLevelContent
248
- } else {
249
- console.log({ line: part })
250
- throw new Error('no')
251
- }
252
- break
253
- case State.InsideLineComment:
254
- if ((next = part.match(RE_TEXT))) {
255
- token = TokenType.Comment
256
- state = State.TopLevelContent
257
- } else {
258
- throw new Error('no')
259
- }
260
- break
261
- case State.AfterMacroError:
262
- if ((next = part.match(RE_WHITESPACE))) {
263
- token = TokenType.Whitespace
264
- state = State.AfterMacroErrorAfterWhitespace
265
- } else {
266
- throw new Error('no')
267
- }
268
- break
269
- case State.AfterMacroErrorAfterWhitespace:
270
- if ((next = part.match(RE_ANYTHING_UNTIL_END))) {
271
- token = TokenType.String
272
- state = State.TopLevelContent
273
- } else {
274
- throw new Error('no')
275
- }
276
- break
277
- case State.InsideBlockComment:
278
- if ((next = part.match(RE_BLOCK_COMMENT_END))) {
279
- token = TokenType.Comment
280
- state = State.TopLevelContent
281
- } else if ((next = part.match(RE_BLOCK_COMMENT_CONTENT_1))) {
282
- token = TokenType.Comment
283
- state = State.InsideBlockComment
284
- } else if ((next = part.match(RE_BLOCK_COMMENT_CONTENT_2))) {
285
- token = TokenType.Comment
286
- state = State.InsideBlockComment
287
- } else if ((next = part.match(RE_ANYTHING_UNTIL_END))) {
288
- token = TokenType.Comment
289
- state = State.InsideBlockComment
290
- } else {
291
- throw new Error('no')
292
- }
293
- break
294
- case State.InsideDoubleQuoteString:
295
- if ((next = part.match(RE_STRING_DOUBLE_QUOTE_CONTENT))) {
296
- token = TokenType.String
297
- state = State.InsideDoubleQuoteString
298
- } else if ((next = part.match(RE_DOUBLE_QUOTE))) {
299
- token = TokenType.Punctuation
300
- state = State.TopLevelContent
301
- } else {
302
- throw new Error('no')
303
- }
304
- break
305
- default:
306
- state
307
- throw new Error('no')
308
- }
309
- const tokenLength = next[0].length
310
- index += tokenLength
311
- tokens.push(token, tokenLength)
312
- }
313
- return {
314
- state,
315
- tokens,
316
- }
317
- }
@@ -1,16 +0,0 @@
1
- # Language Basics CSON
2
-
3
- CSON syntax highlighting for Lvce Editor.
4
-
5
- ## Contributing
6
-
7
- ```sh
8
- git clone git@github.com:lvce-editor/language-basics-cson.git &&
9
- cd language-basics-cson &&
10
- npm ci &&
11
- npm test
12
- ```
13
-
14
- ## Gitpod
15
-
16
- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/lvce-editor/language-basics-cson)
@@ -1,13 +0,0 @@
1
- {
2
- "id": "builtin.language-basics-cson",
3
- "name": "Language Basics CSON",
4
- "description": "Provides syntax highlighting and bracket matching in CSON files.",
5
- "languages": [
6
- {
7
- "id": "cson",
8
- "extensions": [".cson"],
9
- "tokenize": "src/tokenizeCson.js",
10
- "configuration": "languageConfiguration.json"
11
- }
12
- ]
13
- }
@@ -1,21 +0,0 @@
1
- {
2
- "comments": {
3
- "blockComment": ["/*", "*/"]
4
- },
5
- "brackets": [
6
- ["{", "}"],
7
- ["[", "]"],
8
- ["(", ")"]
9
- ],
10
- "autoClosingPairs": [
11
- { "open": "{", "close": "}", "notIn": ["string", "comment"] },
12
- { "open": "[", "close": "]", "notIn": ["string", "comment"] },
13
- { "open": "(", "close": ")", "notIn": ["string", "comment"] },
14
- { "open": "\"", "close": "\"", "notIn": ["string", "comment"] },
15
- { "open": "'", "close": "'", "notIn": ["string", "comment"] }
16
- ],
17
- "indentationRules": {
18
- "increaseIndentPattern": "(^.*\\{[^}]*$)",
19
- "decreaseIndentPattern": "^\\s*\\}"
20
- }
21
- }