@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,12 +0,0 @@
1
- {
2
- "id": "builtin.language-basics-elm",
3
- "name": "Language Basics Elm",
4
- "description": "Provides syntax highlighting and bracket matching in Elm files.",
5
- "languages": [
6
- {
7
- "id": "elm",
8
- "extensions": [".elm"],
9
- "tokenize": "src/tokenizeElm.js"
10
- }
11
- ]
12
- }
@@ -1,298 +0,0 @@
1
- /**
2
- * @enum number
3
- */
4
- export const State = {
5
- TopLevelContent: 1,
6
- Keyword: 2,
7
- AfterKeyword: 3,
8
- InsideBlockComment: 4,
9
- AfterKeywordImport: 5,
10
- AfterKeywordImportAfterWhitespace: 6,
11
- AfterTypeColon: 7,
12
- AfterKeywordType: 8,
13
- AfterKeywordTypeAfterWhitespace: 9,
14
- InsideTypeRightHandSide: 10,
15
- AfterTypeName: 11,
16
- AfterTypeNameAfterWhitespace: 12,
17
- InsideLineComment: 13,
18
- AfterKeywordModule: 14,
19
- AfterModuleName: 15,
20
- }
21
-
22
- export const StateMap = {
23
- [State.TopLevelContent]: 'TopLevelContent',
24
- }
25
-
26
- /**
27
- * @enum number
28
- */
29
- export const TokenType = {
30
- None: 1,
31
- Whitespace: 2,
32
- PunctuationString: 3,
33
- String: 4,
34
- Keyword: 5,
35
- Numeric: 6,
36
- Punctuation: 7,
37
- VariableName: 8,
38
- Comment: 885,
39
- Text: 9,
40
- LanguageConstantBoolean: 10,
41
- Definition: 11,
42
- Type: 12,
43
- KeywordImport: 14,
44
- }
45
-
46
- export const TokenMap = {
47
- [TokenType.None]: 'None',
48
- [TokenType.Whitespace]: 'Whitespace',
49
- [TokenType.PunctuationString]: 'PunctuationString',
50
- [TokenType.String]: 'String',
51
- [TokenType.Keyword]: 'Keyword',
52
- [TokenType.Numeric]: 'Numeric',
53
- [TokenType.Punctuation]: 'Punctuation',
54
- [TokenType.VariableName]: 'VariableName',
55
- [TokenType.Comment]: 'Comment',
56
- [TokenType.Text]: 'Text',
57
- [TokenType.LanguageConstantBoolean]: 'LanguageConstantBoolean',
58
- [TokenType.Definition]: 'Type',
59
- [TokenType.Type]: 'TypeName',
60
- [TokenType.Type]: 'Type',
61
- [TokenType.KeywordImport]: 'KeywordImport',
62
- }
63
-
64
- export const initialLineState = {
65
- state: State.TopLevelContent,
66
- }
67
-
68
- const RE_WHITESPACE = /^\s+/
69
- const RE_WHITESPACE_SINGLE_LINE = /^( |\t)+/
70
- const RE_WHITESPACE_NEWLINE = /^\n/
71
- const RE_CONSTANT = /^(true|false|null)/
72
- const RE_STRING_DOUBLE_QUOTE_CONTENT = /^[^"\n]+/
73
- const RE_STRING_SINGLE_QUOTE_CONTENT = /^[^'\n]+/
74
- const RE_DOUBLE_QUOTE = /^"/
75
- const RE_CURLY_OPEN = /^\{/
76
- const RE_CURLY_CLOSE = /^\}/
77
- const RE_SQUARE_OPEN = /^\[/
78
- const RE_SQUARE_CLOSE = /^\]/
79
- const RE_COMMA = /^,/
80
- const RE_COLON = /^:/
81
- const RE_NUMERIC =
82
- /^((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)\b/
83
-
84
- const RE_KEYWORD =
85
- /^(?:where|type|True|then|port|of|module|let|in|import|if|False|exposing|else|case|as)\b/
86
- const RE_LANGUAGE_CONSTANT = /^(?:True|False)\b/
87
- const RE_IMPORT = /^[a-zA-Z\.]+/
88
- const RE_SEMICOLON = /^;/
89
- const RE_VARIABLE_NAME = /^[a-zA-Z][a-zA-Z\d\_\-]*/
90
- const RE_ROUND_OPEN = /^\(/
91
- const RE_ROUND_CLOSE = /^\)/
92
- const RE_DOT = /^\./
93
- const RE_EQUAL_SIGN = /^=/
94
- const RE_SINGLE_QUOTE = /^'/
95
- const RE_LINE_COMMENT = /^\-\-[^\n]*/
96
- const RE_BLOCK_COMMENT_START = /^\{\-/
97
- const RE_BLOCK_COMMENT_END = /^\-\}/
98
- const RE_BLOCK_COMMENT_CONTENT = /^.+(?=\-\})/s
99
- const RE_PUNCTUATION = /^(?:\(|\)|\[|\]|\||\->)/
100
- const RE_WORD_ALIAS = /^alias/
101
- const RE_ANYTHING_UNTIL_END = /^.+/s
102
-
103
- export const hasArrayReturn = true
104
-
105
- /**
106
- * @param {string} line
107
- * @param {any} lineState
108
- */
109
- export const tokenizeLine = (line, lineState) => {
110
- let next = null
111
- let index = 0
112
- let tokens = []
113
- let token = TokenType.None
114
- let state = lineState.state
115
- while (index < line.length) {
116
- const part = line.slice(index)
117
- switch (state) {
118
- case State.TopLevelContent:
119
- if ((next = part.match(RE_WHITESPACE))) {
120
- token = TokenType.Whitespace
121
- state = State.TopLevelContent
122
- } else if ((next = part.match(RE_KEYWORD))) {
123
- state = State.Keyword
124
- continue
125
- } else if ((next = part.match(RE_VARIABLE_NAME))) {
126
- token = TokenType.VariableName
127
- state = State.TopLevelContent
128
- } else if ((next = part.match(RE_LINE_COMMENT))) {
129
- token = TokenType.Comment
130
- state = State.TopLevelContent
131
- } else if ((next = part.match(RE_BLOCK_COMMENT_START))) {
132
- token = TokenType.Comment
133
- state = State.InsideBlockComment
134
- } else if ((next = part.match(RE_COLON))) {
135
- token = TokenType.Punctuation
136
- state = State.AfterTypeColon
137
- } else if ((next = part.match(RE_PUNCTUATION))) {
138
- token = TokenType.Punctuation
139
- state = State.TopLevelContent
140
- } else if ((next = part.match(RE_ANYTHING_UNTIL_END))) {
141
- token = TokenType.Text
142
- state = State.TopLevelContent
143
- } else {
144
- part.startsWith('Bool') //?
145
- throw new Error('no')
146
- }
147
- break
148
- case State.InsideBlockComment:
149
- if ((next = part.match(RE_BLOCK_COMMENT_END))) {
150
- token = TokenType.Comment
151
- state = State.TopLevelContent
152
- } else if ((next = part.match(RE_BLOCK_COMMENT_CONTENT))) {
153
- token = TokenType.Comment
154
- state = State.InsideBlockComment
155
- } else if ((next = part.match(RE_ANYTHING_UNTIL_END))) {
156
- token = TokenType.Comment
157
- state = State.InsideBlockComment
158
- } else {
159
- part //?
160
- throw new Error('no')
161
- }
162
- break
163
- case State.Keyword:
164
- const keyword = next[0]
165
- switch (keyword) {
166
- case 'import':
167
- case 'exposing':
168
- token = TokenType.Keyword
169
- state = State.TopLevelContent
170
- break
171
- case 'False':
172
- case 'True':
173
- token = TokenType.LanguageConstantBoolean
174
- state = State.TopLevelContent
175
- break
176
- case 'type':
177
- token = TokenType.Keyword
178
- state = State.AfterKeywordType
179
- break
180
- case 'module':
181
- token = TokenType.KeywordImport
182
- state = State.AfterKeywordModule
183
- break
184
- case 'port':
185
- token = TokenType.Keyword
186
- state = State.TopLevelContent
187
- break
188
- default:
189
- throw new Error('no')
190
- }
191
- break
192
- case State.AfterKeywordType:
193
- if ((next = part.match(RE_WHITESPACE))) {
194
- token = TokenType.Whitespace
195
- state = State.AfterKeywordTypeAfterWhitespace
196
- } else {
197
- throw new Error('no')
198
- }
199
- break
200
- case State.AfterKeywordTypeAfterWhitespace:
201
- if ((next = part.match(RE_WORD_ALIAS))) {
202
- token = TokenType.Keyword
203
- state = State.AfterKeywordType
204
- } else if ((next = part.match(RE_VARIABLE_NAME))) {
205
- token = TokenType.Type
206
- state = State.AfterTypeName
207
- } else {
208
- part //?
209
- throw new Error('no')
210
- }
211
- break
212
- case State.AfterTypeName:
213
- if ((next = part.match(RE_WHITESPACE))) {
214
- token = TokenType.Whitespace
215
- state = State.AfterTypeNameAfterWhitespace
216
- } else {
217
- throw new Error('no')
218
- }
219
- break
220
- case State.AfterTypeNameAfterWhitespace:
221
- if ((next = part.match(RE_EQUAL_SIGN))) {
222
- token = TokenType.Punctuation
223
- state = State.InsideTypeRightHandSide
224
- } else {
225
- part //?
226
- part.startsWith('M') //?
227
- throw new Error('no')
228
- }
229
- break
230
- case State.InsideTypeRightHandSide:
231
- if ((next = part.match(RE_VARIABLE_NAME))) {
232
- token = TokenType.Type
233
- state = State.InsideTypeRightHandSide
234
- } else if ((next = part.match(RE_WHITESPACE))) {
235
- token = TokenType.Whitespace
236
- state = State.InsideTypeRightHandSide
237
- } else if ((next = part.match(RE_PUNCTUATION))) {
238
- token = TokenType.Punctuation
239
- state = State.InsideTypeRightHandSide
240
- } else {
241
- part //?
242
- throw new Error('no')
243
- }
244
- break
245
- case State.AfterTypeColon:
246
- if ((next = part.match(RE_WHITESPACE_SINGLE_LINE))) {
247
- token = TokenType.Whitespace
248
- state = State.AfterTypeColon
249
- } else if ((next = part.match(RE_VARIABLE_NAME))) {
250
- token = TokenType.Type
251
- state = State.AfterTypeColon
252
- } else if ((next = part.match(RE_WHITESPACE_NEWLINE))) {
253
- token = TokenType.Whitespace
254
- state = State.TopLevelContent
255
- } else if ((next = part.match(RE_PUNCTUATION))) {
256
- token = TokenType.Punctuation
257
- state = State.AfterTypeColon
258
- } else {
259
- part //?
260
- throw new Error('no')
261
- }
262
- break
263
- case State.AfterKeywordModule:
264
- if ((next = part.match(RE_WHITESPACE))) {
265
- token = TokenType.Whitespace
266
- state = State.AfterKeywordModule
267
- } else if ((next = part.match(RE_VARIABLE_NAME))) {
268
- token = TokenType.VariableName
269
- state = State.AfterModuleName
270
- } else {
271
- throw new Error('no')
272
- }
273
- break
274
- case State.AfterModuleName:
275
- if ((next = part.match(RE_WHITESPACE))) {
276
- token = TokenType.Whitespace
277
- state = State.TopLevelContent
278
- } else {
279
- throw new Error('no')
280
- }
281
- break
282
- default:
283
- throw new Error('no')
284
- }
285
- const tokenLength = next[0].length
286
- index += tokenLength
287
- tokens.push(token, tokenLength)
288
- }
289
- if (state === State.InsideLineComment) {
290
- state = State.TopLevelContent
291
- }
292
- return {
293
- state,
294
- tokens,
295
- }
296
- }
297
-
298
- tokenizeLine(`port module Main exposing (..)`, initialLineState)
@@ -1,14 +0,0 @@
1
- # Language Basics Gitattributes
2
-
3
- ## Contributing
4
-
5
- ```sh
6
- git clone git@github.com:lvce-editor/language-basics-gitattributes.git &&
7
- cd language-basics-gitattributes &&
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-gitattributes)
@@ -1,12 +0,0 @@
1
- {
2
- "id": "builtin.language-basics-gitattributes",
3
- "name": "Language Basics Gitattributes",
4
- "description": "Provides syntax highlighting and bracket matching in gitattributes files.",
5
- "languages": [
6
- {
7
- "id": "gitattributes",
8
- "extensions": [".gitattributes"],
9
- "tokenize": "src/tokenizeGitAttributes.js"
10
- }
11
- ]
12
- }
@@ -1,159 +0,0 @@
1
- /**
2
- * @enum number
3
- */
4
- export const State = {
5
- TopLevelContent: 1,
6
- InsideLineComment: 2,
7
- AfterPropertyName: 3,
8
- AfterPropertyNameAfterEqualSign: 4,
9
- }
10
-
11
- /**
12
- * @enum number
13
- */
14
- export const TokenType = {
15
- Comment: 885,
16
- LanguageConstant: 11,
17
- NewLine: 884,
18
- None: 57,
19
- Numeric: 15,
20
- PropertyName: 12,
21
- PropertyValueString: 14,
22
- Punctuation: 13,
23
- Query: 886,
24
- Text: 887,
25
- Unknown: 881,
26
- Whitespace: 2,
27
- }
28
-
29
- export const TokenMap = {
30
- [TokenType.Text]: 'Text',
31
- [TokenType.Comment]: 'Comment',
32
- [TokenType.PropertyName]: 'PropertyName',
33
- [TokenType.Whitespace]: 'Whitespace',
34
- [TokenType.Punctuation]: 'Punctuation',
35
- [TokenType.PropertyValueString]: 'String',
36
- }
37
-
38
- const RE_LINE_COMMENT_START = /^#/
39
- const RE_WHITESPACE = /^ +/
40
- const RE_CURLY_OPEN = /^\{/
41
- const RE_CURLY_CLOSE = /^\}/
42
- const RE_PROPERTY_NAME = /^[\w\-\_]+\b(?=\=)/
43
- const RE_PROPERTY_VALUE = /^[^;\}]+/
44
- const RE_SEMICOLON = /^;/
45
- const RE_COMMA = /^,/
46
- const RE_ANYTHING = /^.+/s
47
- const RE_ANYTHING_BUT_COMMENT = /^[^#]+/
48
- const RE_NUMERIC = /^(([0-9]+\.?[0-9]*)|(\.[0-9]+))/
49
- const RE_ANYTHING_UNTIL_CLOSE_BRACE = /^[^\}]+/
50
- const RE_BLOCK_COMMENT_START = /^\/\*/
51
- const RE_BLOCK_COMMENT_END = /^\*\//
52
- const RE_BLOCK_COMMENT_CONTENT = /^.+?(?=\*\/|$)/s
53
- const RE_ROUND_OPEN = /^\(/
54
- const RE_ROUND_CLOSE = /^\)/
55
- const RE_PSEUDO_SELECTOR_CONTENT = /^[^\)]+/
56
- const RE_SQUARE_OPEN = /^\[/
57
- const RE_SQUARE_CLOSE = /^\]/
58
- const RE_ATTRIBUTE_SELECTOR_CONTENT = /^[^\]]+/
59
- const RE_QUERY = /^@[a-z\-]+/
60
- const RE_STAR = /^\*/
61
- const RE_QUERY_NAME = /^[a-z\-]+/
62
- const RE_QUERY_CONTENT = /^[^\)]+/
63
- const RE_COMBINATOR = /^[\+\>\~]/
64
- const RE_LANGUAGE_CONSTANT = /^(?:true|false)/
65
- const RE_COLON = /^:/
66
- const RE_DASH = /^\-/
67
- const RE_EQUAL_SIGN = /^\=/
68
- const RE_WORD = /^[\w\*\.\/]+/
69
-
70
- export const initialLineState = {
71
- state: 1,
72
- tokens: [],
73
- }
74
-
75
- export const hasArrayReturn = true
76
-
77
- /**
78
- * @param {string} line
79
- * @param {any} lineState
80
- */
81
- export const tokenizeLine = (line, lineState) => {
82
- let next = null
83
- let index = 0
84
- let tokens = []
85
- let token = TokenType.None
86
- let state = lineState.state
87
- while (index < line.length) {
88
- const part = line.slice(index)
89
- switch (state) {
90
- case State.TopLevelContent:
91
- if ((next = part.match(RE_LINE_COMMENT_START))) {
92
- token = TokenType.Comment
93
- state = State.InsideLineComment
94
- } else if ((next = part.match(RE_WHITESPACE))) {
95
- token = TokenType.Whitespace
96
- state = State.TopLevelContent
97
- } else if ((next = part.match(RE_PROPERTY_NAME))) {
98
- token = TokenType.PropertyName
99
- state = State.AfterPropertyName
100
- } else if ((next = part.match(RE_WORD))) {
101
- token = TokenType.Text
102
- state = State.TopLevelContent
103
- } else if ((next = part.match(RE_ANYTHING))) {
104
- token = TokenType.Text
105
- state = State.TopLevelContent
106
- } else {
107
- throw new Error('no')
108
- }
109
- break
110
- case State.InsideLineComment:
111
- if ((next = part.match(RE_ANYTHING))) {
112
- token = TokenType.Comment
113
- state = State.TopLevelContent
114
- } else {
115
- throw new Error('no')
116
- }
117
- break
118
- case State.AfterPropertyName:
119
- if ((next = part.match(RE_EQUAL_SIGN))) {
120
- token = TokenType.Punctuation
121
- state = State.AfterPropertyNameAfterEqualSign
122
- } else if ((next = part.match(RE_WHITESPACE))) {
123
- token = TokenType.Whitespace
124
- state = State.AfterPropertyName
125
- } else {
126
- throw new Error('no')
127
- }
128
- break
129
- case State.AfterPropertyNameAfterEqualSign:
130
- if ((next = part.match(RE_LINE_COMMENT_START))) {
131
- token = TokenType.Comment
132
- state = State.InsideLineComment
133
- } else if ((next = part.match(RE_WORD))) {
134
- token = TokenType.PropertyValueString
135
- state = State.TopLevelContent
136
- } else if ((next = part.match(RE_WHITESPACE))) {
137
- token = TokenType.Whitespace
138
- state = State.AfterPropertyNameAfterEqualSign
139
- } else {
140
- part
141
- throw new Error('no')
142
- }
143
- break
144
- default:
145
- console.log({ state, line })
146
- throw new Error('no')
147
- }
148
- const tokenLength = next[0].length
149
- index += tokenLength
150
- tokens.push(token, tokenLength)
151
- }
152
- if (state === State.InsideLineComment) {
153
- state = State.TopLevelContent
154
- }
155
- return {
156
- state,
157
- tokens,
158
- }
159
- }
@@ -1,14 +0,0 @@
1
- # Language Basics GN
2
-
3
- ## Contributing
4
-
5
- ```sh
6
- git clone git@github.com:lvce-editor/language-basics-gn.git &&
7
- cd language-basics-gn &&
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-gn)
@@ -1,12 +0,0 @@
1
- {
2
- "id": "builtin.language-basics-gn",
3
- "name": "Language Basics GN",
4
- "description": "Provides syntax highlighting and bracket matching in gn files.",
5
- "languages": [
6
- {
7
- "id": "gn",
8
- "extensions": [".gn", ".gni"],
9
- "tokenize": "src/tokenizeGn.js"
10
- }
11
- ]
12
- }
@@ -1,178 +0,0 @@
1
- /**
2
- * @enum number
3
- */
4
- export const State = {
5
- TopLevelContent: 1,
6
- InsideString: 2,
7
- InsideLineComment: 3,
8
- }
9
-
10
- export const StateMap = {
11
- [State.TopLevelContent]: 'TopLevelContent',
12
- }
13
-
14
- /**
15
- * @enum number
16
- */
17
- export const TokenType = {
18
- None: 1,
19
- Whitespace: 2,
20
- PunctuationString: 3,
21
- String: 4,
22
- Keyword: 5,
23
- Numeric: 6,
24
- Punctuation: 7,
25
- VariableName: 8,
26
- Comment: 885,
27
- Text: 9,
28
- Function: 10,
29
- LanguageConstant: 11,
30
- KeywordImport: 12,
31
- }
32
-
33
- export const TokenMap = {
34
- [TokenType.None]: 'None',
35
- [TokenType.Whitespace]: 'Whitespace',
36
- [TokenType.PunctuationString]: 'PunctuationString',
37
- [TokenType.String]: 'String',
38
- [TokenType.Keyword]: 'Keyword',
39
- [TokenType.Numeric]: 'Numeric',
40
- [TokenType.Punctuation]: 'Punctuation',
41
- [TokenType.VariableName]: 'VariableName',
42
- [TokenType.Comment]: 'Comment',
43
- [TokenType.Text]: 'Text',
44
- [TokenType.Function]: 'Function',
45
- [TokenType.LanguageConstant]: 'LanguageConstant',
46
- [TokenType.KeywordImport]: 'KeywordImport',
47
- }
48
-
49
- const RE_LINE_COMMENT = /^#.*/s
50
- const RE_WHITESPACE = /^ +/
51
- const RE_ANYTHING = /^.+/s
52
- const RE_QUOTE_DOUBLE = /^"/
53
- const RE_STRING_DOUBLE_QUOTE_CONTENT = /^[^"]+/
54
- const RE_KEYWORD =
55
- /^(?:if|else|true|false|assert|config|declare_args|defined|exec_script|foreach|get_label_info|get_path_info|get_target_outputs|getenv|import|print|process_file_template|propagates_configs|read_file|rebase_path|set_default_toolchain|set_defaults|set_sources_assignment_filter|template|tool|toolchain_args|toolchain|write_file)\b/
56
- const RE_VARIABLE_NAME = /^[a-zA-Z\_\/\-]+/
57
- const RE_PUNCTUATION = /^[:,;\{\}\[\]\.=\(\)<>\+\|\!\&]/
58
- const RE_NUMERIC = /^\d+/
59
-
60
- export const initialLineState = {
61
- state: State.TopLevelContent,
62
- tokens: [],
63
- }
64
-
65
- /**
66
- *
67
- * @param {any} lineStateA
68
- * @param {any} lineStateB
69
- * @returns
70
- */
71
- export const isEqualLineState = (lineStateA, lineStateB) => {
72
- return lineStateA.state === lineStateB.state
73
- }
74
-
75
- export const hasArrayReturn = true
76
-
77
- /**
78
- * @param {string} line
79
- * @param {any} lineState
80
- */
81
- export const tokenizeLine = (line, lineState) => {
82
- let next = null
83
- let index = 0
84
- let tokens = []
85
- let token = TokenType.None
86
- let state = lineState.state
87
- while (index < line.length) {
88
- const part = line.slice(index)
89
- switch (state) {
90
- case State.TopLevelContent:
91
- if ((next = part.match(RE_WHITESPACE))) {
92
- token = TokenType.Whitespace
93
- state = State.TopLevelContent
94
- } else if ((next = part.match(RE_KEYWORD))) {
95
- switch (next[0]) {
96
- case 'true':
97
- case 'false':
98
- token = TokenType.LanguageConstant
99
- break
100
- case 'assert':
101
- case 'config':
102
- case 'declare_args':
103
- case 'defined':
104
- case 'exec_script':
105
- case 'foreach':
106
- case 'get_label_info':
107
- case 'get_path_info':
108
- case 'get_target_outputs':
109
- case 'getenv':
110
- case 'print':
111
- case 'process_file_template':
112
- case 'propagates_configs':
113
- case 'read_file':
114
- case 'rebase_path':
115
- case 'set_default_toolchain':
116
- case 'set_defaults':
117
- case 'set_sources_assignment_filter':
118
- case 'template':
119
- case 'tool':
120
- case 'toolchain_args':
121
- case 'toolchain':
122
- case 'write_file':
123
- token = TokenType.Function
124
- break
125
- case 'import':
126
- token = TokenType.KeywordImport
127
- break
128
- default:
129
- token = TokenType.Keyword
130
- break
131
- }
132
- state = State.TopLevelContent
133
- } else if ((next = part.match(RE_PUNCTUATION))) {
134
- token = TokenType.Punctuation
135
- state = State.TopLevelContent
136
- } else if ((next = part.match(RE_VARIABLE_NAME))) {
137
- token = TokenType.VariableName
138
- state = State.TopLevelContent
139
- } else if ((next = part.match(RE_NUMERIC))) {
140
- token = TokenType.Numeric
141
- state = State.TopLevelContent
142
- } else if ((next = part.match(RE_QUOTE_DOUBLE))) {
143
- token = TokenType.PunctuationString
144
- state = State.InsideString
145
- } else if ((next = part.match(RE_LINE_COMMENT))) {
146
- token = TokenType.Comment
147
- state = State.TopLevelContent
148
- } else if ((next = part.match(RE_ANYTHING))) {
149
- token = TokenType.Text
150
- state = State.TopLevelContent
151
- } else {
152
- part //?
153
- throw new Error('no')
154
- }
155
- break
156
- case State.InsideString:
157
- if ((next = part.match(RE_QUOTE_DOUBLE))) {
158
- token = TokenType.PunctuationString
159
- state = State.TopLevelContent
160
- } else if ((next = part.match(RE_STRING_DOUBLE_QUOTE_CONTENT))) {
161
- token = TokenType.String
162
- state = State.InsideString
163
- } else {
164
- throw new Error('no')
165
- }
166
- break
167
- default:
168
- throw new Error('no')
169
- }
170
- const tokenLength = next[0].length
171
- index += tokenLength
172
- tokens.push(token, tokenLength)
173
- }
174
- return {
175
- state,
176
- tokens,
177
- }
178
- }