@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,609 +0,0 @@
1
- /**
2
- * @enum number
3
- */
4
- export const TokenType = {
5
- CssSelector: 1,
6
- Whitespace: 2,
7
- Punctuation: 3,
8
- CssPropertyName: 4,
9
- CssPropertyValue: 5,
10
- CurlyOpen: 6,
11
- CurlyClose: 7,
12
- PropertyColon: 8,
13
- CssPropertySemicolon: 9,
14
- Variable: 10,
15
- None: 57,
16
- Unknown: 881,
17
- CssPropertyColon: 882,
18
- Numeric: 883,
19
- NewLine: 884,
20
- Comment: 885,
21
- Query: 886,
22
- Text: 887,
23
- CssSelectorId: 889,
24
- FuntionName: 890,
25
- String: 891,
26
- KeywordImport: 892,
27
- CssSelectorClass: 893,
28
- }
29
-
30
- export const TokenMap = {
31
- [TokenType.CssSelector]: 'CssSelector',
32
- [TokenType.Whitespace]: 'Whitespace',
33
- [TokenType.Punctuation]: 'Punctuation',
34
- [TokenType.CssPropertyName]: 'CssPropertyName',
35
- [TokenType.CssPropertyValue]: 'CssPropertyValue',
36
- [TokenType.CurlyOpen]: 'Punctuation',
37
- [TokenType.CurlyClose]: 'Punctuation',
38
- [TokenType.PropertyColon]: 'Punctuation',
39
- [TokenType.CssPropertySemicolon]: 'Punctuation',
40
- [TokenType.Variable]: 'VariableName',
41
- [TokenType.None]: 'None',
42
- [TokenType.CssPropertyValue]: 'CssPropertyValue',
43
- [TokenType.Unknown]: 'Unknown',
44
- [TokenType.CssPropertyColon]: 'Punctuation',
45
- [TokenType.Numeric]: 'Numeric',
46
- [TokenType.NewLine]: 'NewLine',
47
- [TokenType.Comment]: 'Comment',
48
- [TokenType.Query]: 'CssAtRule',
49
- [TokenType.Text]: 'Text',
50
- [TokenType.CssSelectorId]: 'CssSelectorId',
51
- [TokenType.FuntionName]: 'Function',
52
- [TokenType.String]: 'String',
53
- [TokenType.KeywordImport]: 'KeywordImport',
54
- [TokenType.CssSelectorClass]: 'CssSelectorClass',
55
- }
56
-
57
- /**
58
- * @enum number
59
- */
60
- export const State = {
61
- TopLevelContent: 1,
62
- AfterSelector: 2,
63
- InsideSelector: 3,
64
- AfterPropertyName: 4,
65
- AfterPropertyNameAfterColon: 5,
66
- InsideBlockComment: 7,
67
- InsidePseudoSelector: 8,
68
- InsideAttributeSelector: 9,
69
- AfterQuery: 10,
70
- InsideRound: 11,
71
- AfterQueryWithRules: 12,
72
- InsideRule: 13,
73
- AfterFunctionName: 14,
74
- InsideDoubleQuoteString: 15,
75
- InsideSingleQuoteString: 16,
76
- AfterFunctionNameInsideArguments: 17,
77
- AfterKeywordImport: 18,
78
- AfterLessVariableName: 19,
79
- }
80
-
81
- export const initialLineState = {
82
- state: State.TopLevelContent,
83
- tokens: [],
84
- stack: [],
85
- }
86
-
87
- export const hasArrayReturn = true
88
-
89
- const RE_SELECTOR = /^[\.a-zA-Z\d\-\:>\+\~\_%\\]+/
90
- const RE_SELECTOR_ID = /^#[\w\-\_]+/
91
- const RE_SELECTOR_CLASS = /^\.[\w\-\_]+/
92
- const RE_WHITESPACE = /^\s+/
93
- const RE_CURLY_OPEN = /^\{/
94
- const RE_CURLY_CLOSE = /^\}/
95
- const RE_PROPERTY_NAME = /^[a-zA-Z\-\w]+/
96
- const RE_COLON = /^:/
97
- const RE_PROPERTY_VALUE = /^[^;\}]+/
98
- const RE_PROPERTY_VALUE_SHORT = /^[^;\}\s\)]+/
99
- const RE_PROPERTY_VALUE_INSIDE_FUNCTION = /^[^\}\s\)]+/
100
- const RE_SEMICOLON = /^;/
101
- const RE_COMMA = /^,/
102
- const RE_ANYTHING = /^.+/s
103
- const RE_NUMERIC = /^\-?(([0-9]+\.?[0-9]*)|(\.[0-9]+))/
104
- const RE_ANYTHING_UNTIL_CLOSE_BRACE = /^[^\}]+/
105
- const RE_BLOCK_COMMENT_START = /^\/\*/
106
- const RE_BLOCK_COMMENT_END = /^\*\//
107
- const RE_BLOCK_COMMENT_CONTENT = /^.+?(?=\*\/|$)/s
108
- const RE_ROUND_OPEN = /^\(/
109
- const RE_ROUND_CLOSE = /^\)/
110
- const RE_PSEUDO_SELECTOR_CONTENT = /^[^\)]+/
111
- const RE_SQUARE_OPEN = /^\[/
112
- const RE_SQUARE_CLOSE = /^\]/
113
- const RE_ATTRIBUTE_SELECTOR_CONTENT = /^[^\]]+/
114
- const RE_QUERY = /^@[a-z\-]+/
115
- const RE_STAR = /^\*/
116
- const RE_QUERY_NAME = /^[a-zA-Z\w\-\d\_]+/
117
- const RE_QUERY_CONTENT = /^[^\)]+/
118
- const RE_COMBINATOR = /^[\+\>\~]/
119
- const RE_FUNCTION = /^[a-zA-Z][a-zA-Z\-]+(?=\()/
120
- const RE_VARIABLE_NAME = /^\-\-[a-zA-Z\w\-\_]+/
121
- const RE_PERCENT = /^\%/
122
- const RE_OPERATOR = /^[\-\/\*\+]/
123
- const RE_DOUBLE_QUOTE = /^"/
124
- const RE_STRING_DOUBLE_QUOTE_CONTENT = /^[^"]+/
125
- const RE_STRING_SINGLE_QUOTE_CONTENT = /^[^']+/
126
- const RE_SINGLE_QUOTE = /^'/
127
- const RE_ANYTHING_BUT_CURLY = /^[^\{\}]+/s
128
- const RE_LINE_COMMENT = /\/\/.*/
129
- const RE_NESTED_SELECTOR = /^[\w\.\-\s]+(?=\s*(?:\{|,))/
130
- const RE_AMPERSAND = /^\&/
131
- const RE_LESS_VARIABLE_NAME = /^@[\w\-]+(?=\:)/
132
-
133
- /**
134
- * @param {string} line
135
- * @param {any} lineState
136
- */
137
- export const tokenizeLine = (line, lineState) => {
138
- let next = null
139
- let index = 0
140
- let tokens = []
141
- let token = TokenType.None
142
- let state = lineState.state
143
- const stack = lineState.stack
144
- while (index < line.length) {
145
- const part = line.slice(index)
146
- switch (state) {
147
- case State.TopLevelContent:
148
- if ((next = part.match(RE_SELECTOR_CLASS))) {
149
- token = TokenType.CssSelectorClass
150
- state = State.AfterSelector
151
- } else if ((next = part.match(RE_SELECTOR))) {
152
- token = TokenType.CssSelector
153
- state = State.AfterSelector
154
- } else if ((next = part.match(RE_SELECTOR_ID))) {
155
- token = TokenType.CssSelectorId
156
- state = State.AfterSelector
157
- } else if ((next = part.match(RE_WHITESPACE))) {
158
- token = TokenType.Whitespace
159
- state = State.TopLevelContent
160
- } else if ((next = part.match(RE_CURLY_OPEN))) {
161
- token = TokenType.CurlyOpen
162
- state = State.InsideSelector
163
- } else if ((next = part.match(RE_BLOCK_COMMENT_START))) {
164
- token = TokenType.Comment
165
- state = State.InsideBlockComment
166
- } else if ((next = part.match(RE_LINE_COMMENT))) {
167
- token = TokenType.Comment
168
- state = State.TopLevelContent
169
- } else if ((next = part.match(RE_SQUARE_OPEN))) {
170
- token = TokenType.Punctuation
171
- state = State.InsideAttributeSelector
172
- } else if ((next = part.match(RE_LESS_VARIABLE_NAME))) {
173
- token = TokenType.Variable
174
- state = State.AfterLessVariableName
175
- } else if ((next = part.match(RE_QUERY))) {
176
- switch (next[0]) {
177
- case '@font-face':
178
- case '@-ms-viewport':
179
- case '@-o-viewport':
180
- case '@viewport':
181
- token = TokenType.Query
182
- state = State.AfterQueryWithRules
183
- break
184
- case '@import':
185
- token = TokenType.KeywordImport
186
- state = State.AfterKeywordImport
187
- break
188
- case '@keyframes':
189
- default:
190
- token = TokenType.Query
191
- state = State.AfterQuery
192
- break
193
- }
194
- } else if ((next = part.match(RE_STAR))) {
195
- token = TokenType.CssSelector
196
- state = State.AfterSelector
197
- } else if ((next = part.match(RE_CURLY_CLOSE))) {
198
- token = TokenType.Punctuation
199
- state = State.TopLevelContent
200
- } else if ((next = part.match(RE_SEMICOLON))) {
201
- token = TokenType.Punctuation
202
- state = State.TopLevelContent
203
- } else if ((next = part.match(RE_ANYTHING))) {
204
- token = TokenType.Unknown
205
- state = State.TopLevelContent
206
- } else {
207
- part //?
208
- throw new Error('no')
209
- }
210
- break
211
- case State.AfterSelector:
212
- if ((next = part.match(RE_WHITESPACE))) {
213
- token = TokenType.Whitespace
214
- state = State.AfterSelector
215
- } else if ((next = part.match(RE_AMPERSAND))) {
216
- token = TokenType.Punctuation
217
- state = State.AfterSelector
218
- } else if ((next = part.match(RE_CURLY_OPEN))) {
219
- token = TokenType.CurlyOpen
220
- state = State.InsideSelector
221
- stack.push(State.InsideSelector)
222
- } else if ((next = part.match(RE_SELECTOR_CLASS))) {
223
- token = TokenType.CssSelectorClass
224
- state = State.AfterSelector
225
- } else if ((next = part.match(RE_SELECTOR))) {
226
- token = TokenType.CssSelector
227
- state = State.AfterSelector
228
- } else if ((next = part.match(RE_SELECTOR_ID))) {
229
- token = TokenType.CssSelectorId
230
- state = State.AfterSelector
231
- } else if ((next = part.match(RE_COMMA))) {
232
- token = TokenType.Punctuation
233
- state = State.AfterSelector
234
- } else if ((next = part.match(RE_ROUND_OPEN))) {
235
- token = TokenType.Punctuation
236
- state = State.InsidePseudoSelector
237
- } else if ((next = part.match(RE_SQUARE_OPEN))) {
238
- token = TokenType.Punctuation
239
- state = State.InsideAttributeSelector
240
- } else if ((next = part.match(RE_STAR))) {
241
- token = TokenType.CssSelector
242
- state = State.AfterSelector
243
- } else if ((next = part.match(RE_ANYTHING_BUT_CURLY))) {
244
- token = TokenType.Unknown
245
- state = State.AfterSelector
246
- } else if ((next = part.match(RE_ANYTHING))) {
247
- token = TokenType.Unknown
248
- state = State.TopLevelContent
249
- } else {
250
- part //?
251
- throw new Error('no')
252
- }
253
- break
254
- case State.AfterQuery:
255
- if ((next = part.match(RE_WHITESPACE))) {
256
- token = TokenType.Whitespace
257
- state = State.AfterQuery
258
- } else if ((next = part.match(RE_QUERY_NAME))) {
259
- token = TokenType.Text
260
- state = State.AfterQuery
261
- } else if ((next = part.match(RE_CURLY_OPEN))) {
262
- token = TokenType.Punctuation
263
- state = State.TopLevelContent
264
- // stack.push(State.que )
265
- } else if ((next = part.match(RE_ROUND_OPEN))) {
266
- token = TokenType.Punctuation
267
- state = State.InsideRound
268
- stack.push(State.AfterQuery)
269
- } else if ((next = part.match(RE_COMMA))) {
270
- token = TokenType.Punctuation
271
- state = State.AfterQuery
272
- } else if ((next = part.match(RE_DOUBLE_QUOTE))) {
273
- token = TokenType.Punctuation
274
- state = State.InsideDoubleQuoteString
275
- stack.push(State.AfterQuery)
276
- } else if ((next = part.match(RE_SEMICOLON))) {
277
- token = TokenType.Punctuation
278
- state = stack.pop() || State.TopLevelContent
279
- } else {
280
- part
281
- throw new Error('no')
282
- }
283
- break
284
- case State.AfterQueryWithRules:
285
- if ((next = part.match(RE_WHITESPACE))) {
286
- token = TokenType.Whitespace
287
- state = State.AfterQueryWithRules
288
- } else if ((next = part.match(RE_CURLY_OPEN))) {
289
- token = TokenType.Punctuation
290
- state = State.InsideSelector
291
- } else {
292
- throw new Error('no')
293
- }
294
- break
295
- case State.InsideBlockComment:
296
- if ((next = part.match(RE_BLOCK_COMMENT_END))) {
297
- token = TokenType.Comment
298
- state = stack.pop() || State.TopLevelContent
299
- } else if ((next = part.match(RE_BLOCK_COMMENT_CONTENT))) {
300
- token = TokenType.Comment
301
- state = State.InsideBlockComment
302
- } else {
303
- throw new Error('no')
304
- }
305
- break
306
- // TODO support css nesting https://www.w3.org/TR/css-nesting-1/
307
- case State.InsideSelector:
308
- if ((next = part.match(RE_WHITESPACE))) {
309
- token = TokenType.Whitespace
310
- state = State.InsideSelector
311
- } else if ((next = part.match(RE_AMPERSAND))) {
312
- token = TokenType.Punctuation
313
- state = State.InsideSelector
314
- } else if ((next = part.match(RE_NESTED_SELECTOR))) {
315
- if (next[0].startsWith('.')) {
316
- token = TokenType.CssSelectorClass
317
- } else {
318
- token = TokenType.CssSelector
319
- }
320
- state = State.AfterSelector
321
- } else if ((next = part.match(RE_PROPERTY_NAME))) {
322
- token = TokenType.CssPropertyName
323
- state = State.AfterPropertyName
324
- if (next[0].startsWith('--')) {
325
- token = TokenType.Variable
326
- }
327
- } else if ((next = part.match(RE_BLOCK_COMMENT_START))) {
328
- token = TokenType.Comment
329
- state = State.InsideBlockComment
330
- stack.push(State.InsideSelector)
331
- } else if ((next = part.match(RE_STAR))) {
332
- token = TokenType.Punctuation
333
- state = State.InsideSelector
334
- } else if ((next = part.match(RE_LINE_COMMENT))) {
335
- token = TokenType.Comment
336
- state = State.InsideSelector
337
- } else if ((next = part.match(RE_ANYTHING_UNTIL_CLOSE_BRACE))) {
338
- token = TokenType.Unknown
339
- state = State.InsideSelector
340
- } else if ((next = part.match(RE_CURLY_CLOSE))) {
341
- token = TokenType.CurlyClose
342
- state = stack.pop() || State.TopLevelContent
343
- } else {
344
- throw new Error('no')
345
- }
346
- break
347
- case State.AfterPropertyName:
348
- if ((next = part.match(RE_COLON))) {
349
- token = TokenType.CssPropertyColon
350
- state = State.AfterPropertyNameAfterColon
351
- } else if ((next = part.match(RE_CURLY_CLOSE))) {
352
- token = TokenType.CurlyClose
353
- state = State.TopLevelContent
354
- } else if ((next = part.match(RE_WHITESPACE))) {
355
- token = TokenType.Whitespace
356
- state = State.AfterPropertyName
357
- } else if ((next = part.match(RE_NUMERIC))) {
358
- token = TokenType.Numeric
359
- state = State.AfterPropertyNameAfterColon
360
- } else if ((next = part.match(RE_PROPERTY_NAME))) {
361
- token = TokenType.CssPropertyName
362
- state = State.AfterPropertyName
363
- } else if ((next = part.match(RE_ANYTHING_UNTIL_CLOSE_BRACE))) {
364
- token = TokenType.Unknown
365
- state = State.InsideSelector
366
- } else {
367
- tokens
368
- part //?
369
- throw new Error('no')
370
- }
371
- break
372
- case State.AfterPropertyNameAfterColon:
373
- if ((next = part.match(RE_WHITESPACE))) {
374
- token = TokenType.Whitespace
375
- state = State.AfterPropertyNameAfterColon
376
- } else if ((next = part.match(RE_NUMERIC))) {
377
- token = TokenType.Numeric
378
- state = State.AfterPropertyNameAfterColon
379
- } else if ((next = part.match(RE_FUNCTION))) {
380
- token = TokenType.FuntionName
381
- state = State.AfterFunctionName
382
- } else if ((next = part.match(RE_FUNCTION))) {
383
- token = TokenType.FuntionName
384
- state = State.AfterFunctionName
385
- } else if ((next = part.match(RE_SINGLE_QUOTE))) {
386
- token = TokenType.Punctuation
387
- state = State.InsideSingleQuoteString
388
- stack.push(State.AfterPropertyNameAfterColon)
389
- } else if ((next = part.match(RE_DOUBLE_QUOTE))) {
390
- token = TokenType.Punctuation
391
- state = State.InsideDoubleQuoteString
392
- stack.push(State.AfterPropertyNameAfterColon)
393
- } else if ((next = part.match(RE_PROPERTY_VALUE_SHORT))) {
394
- token = TokenType.CssPropertyValue
395
- state = State.AfterPropertyNameAfterColon
396
- } else if ((next = part.match(RE_SEMICOLON))) {
397
- token = TokenType.Punctuation
398
- state = State.InsideSelector
399
- } else if ((next = part.match(RE_PROPERTY_VALUE))) {
400
- token = TokenType.CssPropertyValue
401
- state = State.AfterPropertyNameAfterColon
402
- } else if ((next = part.match(RE_CURLY_CLOSE))) {
403
- token = TokenType.Punctuation
404
- state = State.TopLevelContent
405
- } else {
406
- part
407
- throw new Error('no')
408
- }
409
- break
410
- case State.InsidePseudoSelector:
411
- if ((next = part.match(RE_PSEUDO_SELECTOR_CONTENT))) {
412
- token = TokenType.CssSelector
413
- state = State.InsidePseudoSelector
414
- } else if ((next = part.match(RE_ROUND_CLOSE))) {
415
- token = TokenType.Punctuation
416
- state = State.AfterSelector
417
- } else {
418
- throw new Error('no')
419
- }
420
- break
421
- case State.InsideRound:
422
- if ((next = part.match(RE_QUERY_CONTENT))) {
423
- token = TokenType.Text
424
- state = State.InsideRound
425
- } else if ((next = part.match(RE_ROUND_CLOSE))) {
426
- token = TokenType.Punctuation
427
- state = stack.pop()
428
- } else {
429
- throw new Error('no')
430
- }
431
- break
432
- case State.InsideAttributeSelector:
433
- if ((next = part.match(RE_ATTRIBUTE_SELECTOR_CONTENT))) {
434
- token = TokenType.CssSelector
435
- state = State.InsideAttributeSelector
436
- } else if ((next = part.match(RE_SQUARE_CLOSE))) {
437
- token = TokenType.Punctuation
438
- state = State.AfterSelector
439
- } else {
440
- throw new Error('no')
441
- }
442
- break
443
- case State.AfterFunctionName:
444
- if ((next = part.match(RE_ROUND_OPEN))) {
445
- token = TokenType.Punctuation
446
- state = State.AfterFunctionNameInsideArguments
447
- } else if ((next = part.match(RE_NUMERIC))) {
448
- token = TokenType.Numeric
449
- state = State.AfterFunctionName
450
- } else if ((next = part.match(RE_WHITESPACE))) {
451
- token = TokenType.Whitespace
452
- state = State.AfterFunctionName
453
- } else if ((next = part.match(RE_ROUND_CLOSE))) {
454
- token = TokenType.Punctuation
455
- state = State.AfterFunctionName
456
- } else if ((next = part.match(RE_SEMICOLON))) {
457
- token = TokenType.Punctuation
458
- state = State.InsideSelector
459
- } else if ((next = part.match(RE_COMMA))) {
460
- token = TokenType.Punctuation
461
- state = State.AfterFunctionName
462
- } else if ((next = part.match(RE_FUNCTION))) {
463
- token = TokenType.FuntionName
464
- state = State.AfterFunctionName
465
- } else if ((next = part.match(RE_VARIABLE_NAME))) {
466
- token = TokenType.Variable
467
- state = State.AfterFunctionName
468
- } else if ((next = part.match(RE_PERCENT))) {
469
- token = TokenType.CssPropertyValue
470
- state = State.AfterFunctionName
471
- } else if ((next = part.match(RE_DOUBLE_QUOTE))) {
472
- token = TokenType.Punctuation
473
- state = State.InsideDoubleQuoteString
474
- stack.push(State.AfterFunctionName)
475
- } else if ((next = part.match(RE_SINGLE_QUOTE))) {
476
- token = TokenType.Punctuation
477
- state = State.InsideSingleQuoteString
478
- stack.push(State.AfterFunctionName)
479
- } else if ((next = part.match(RE_PROPERTY_VALUE_SHORT))) {
480
- token = TokenType.CssPropertyValue
481
- state = State.AfterFunctionName
482
- } else if ((next = part.match(RE_CURLY_CLOSE))) {
483
- token = TokenType.Punctuation
484
- state = State.TopLevelContent
485
- } else {
486
- part
487
- throw new Error('no')
488
- }
489
- break
490
- case State.AfterFunctionNameInsideArguments:
491
- if ((next = part.match(RE_ROUND_OPEN))) {
492
- token = TokenType.Punctuation
493
- state = State.AfterFunctionName
494
- } else if ((next = part.match(RE_NUMERIC))) {
495
- token = TokenType.Numeric
496
- state = State.AfterFunctionName
497
- } else if ((next = part.match(RE_WHITESPACE))) {
498
- token = TokenType.Whitespace
499
- state = State.AfterFunctionName
500
- } else if ((next = part.match(RE_ROUND_CLOSE))) {
501
- token = TokenType.Punctuation
502
- state = stack.pop() || State.InsideSelector
503
- } else if ((next = part.match(RE_SEMICOLON))) {
504
- token = TokenType.Punctuation
505
- state = State.InsideSelector
506
- } else if ((next = part.match(RE_COMMA))) {
507
- token = TokenType.Punctuation
508
- state = State.AfterFunctionName
509
- } else if ((next = part.match(RE_FUNCTION))) {
510
- token = TokenType.FuntionName
511
- state = State.AfterFunctionName
512
- } else if ((next = part.match(RE_VARIABLE_NAME))) {
513
- token = TokenType.Variable
514
- state = State.AfterFunctionName
515
- } else if ((next = part.match(RE_PERCENT))) {
516
- token = TokenType.CssPropertyValue
517
- state = State.AfterFunctionName
518
- } else if ((next = part.match(RE_DOUBLE_QUOTE))) {
519
- token = TokenType.Punctuation
520
- state = State.InsideDoubleQuoteString
521
- stack.push(State.AfterFunctionName)
522
- } else if ((next = part.match(RE_SINGLE_QUOTE))) {
523
- token = TokenType.Punctuation
524
- state = State.InsideSingleQuoteString
525
- stack.push(State.AfterFunctionName)
526
- } else if ((next = part.match(RE_PROPERTY_VALUE_INSIDE_FUNCTION))) {
527
- token = TokenType.CssPropertyValue
528
- state = State.AfterFunctionName
529
- } else if ((next = part.match(RE_CURLY_CLOSE))) {
530
- token = TokenType.Punctuation
531
- state = stack.pop() || State.TopLevelContent
532
- } else {
533
- part
534
- throw new Error('no')
535
- }
536
- break
537
- case State.InsideDoubleQuoteString:
538
- if ((next = part.match(RE_DOUBLE_QUOTE))) {
539
- token = TokenType.Punctuation
540
- state = stack.pop() || State.TopLevelContent
541
- } else if ((next = part.match(RE_STRING_DOUBLE_QUOTE_CONTENT))) {
542
- token = TokenType.String
543
- state = State.InsideDoubleQuoteString
544
- } else {
545
- throw new Error('no')
546
- }
547
- break
548
- case State.AfterKeywordImport:
549
- if ((next = part.match(RE_WHITESPACE))) {
550
- token = TokenType.Whitespace
551
- state = State.AfterKeywordImport
552
- } else if ((next = part.match(RE_SINGLE_QUOTE))) {
553
- token = TokenType.Punctuation
554
- state = State.InsideSingleQuoteString
555
- } else if ((next = part.match(RE_DOUBLE_QUOTE))) {
556
- token = TokenType.Punctuation
557
- state = State.InsideDoubleQuoteString
558
- } else {
559
- throw new Error('no')
560
- }
561
- break
562
- case State.InsideSingleQuoteString:
563
- if ((next = part.match(RE_SINGLE_QUOTE))) {
564
- token = TokenType.Punctuation
565
- state = stack.pop() || State.TopLevelContent
566
- } else if ((next = part.match(RE_STRING_SINGLE_QUOTE_CONTENT))) {
567
- token = TokenType.String
568
- state = State.InsideSingleQuoteString
569
- } else {
570
- throw new Error('no')
571
- }
572
- break
573
- case State.AfterLessVariableName:
574
- if ((next = part.match(RE_COLON))) {
575
- token = TokenType.Punctuation
576
- state = State.AfterLessVariableName
577
- } else if ((next = part.match(RE_WHITESPACE))) {
578
- token = TokenType.Whitespace
579
- state = State.AfterLessVariableName
580
- } else if ((next = part.match(RE_NUMERIC))) {
581
- token = TokenType.Numeric
582
- state = State.AfterLessVariableName
583
- } else if ((next = part.match(RE_SEMICOLON))) {
584
- token = TokenType.Punctuation
585
- state = stack.pop() || State.TopLevelContent
586
- } else if ((next = part.match(RE_PROPERTY_VALUE))) {
587
- token = TokenType.CssPropertyValue
588
- state = State.AfterLessVariableName
589
- } else {
590
- throw new Error('no')
591
- }
592
- break
593
- default:
594
- console.log({ state, line })
595
- throw new Error('no')
596
- }
597
- const tokenLength = next[0].length
598
- index += tokenLength
599
- tokens.push(token, tokenLength)
600
- }
601
- if (state === State.AfterPropertyName) {
602
- state = State.InsideSelector
603
- }
604
- return {
605
- state,
606
- tokens,
607
- stack,
608
- }
609
- }
@@ -1,14 +0,0 @@
1
- # Language Basics Markdown
2
-
3
- ## Contributing
4
-
5
- ```sh
6
- git clone git@github.com:lvce-editor/language-basics-markdown.git &&
7
- cd language-basics-markdown &&
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-markdown)
@@ -1,12 +0,0 @@
1
- {
2
- "id": "builtin.language-basics-markdown",
3
- "name": "Language Basics Markdown",
4
- "description": "Provides syntax highlighting and bracket matching in Markdown files.",
5
- "languages": [
6
- {
7
- "id": "markdown",
8
- "extensions": [".md", ".markdown"],
9
- "tokenize": "src/tokenizeMarkdown.js"
10
- }
11
- ]
12
- }