@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,14 +0,0 @@
1
- # Language Basics Vue
2
-
3
- ## Contributing
4
-
5
- ```sh
6
- git clone git@github.com:lvce-editor/language-basics-vue.git &&
7
- cd language-basics-vue &&
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-vue)
@@ -1,13 +0,0 @@
1
- {
2
- "id": "builtin.language-basics-vue",
3
- "name": "Language Basics Vue",
4
- "description": "Provides syntax highlighting and bracket matching in Vue files.",
5
- "languages": [
6
- {
7
- "id": "vue",
8
- "extensions": [".vue"],
9
- "tokenize": "src/tokenizeVue.js",
10
- "configuration": "./languageConfiguration.json"
11
- }
12
- ]
13
- }
@@ -1,327 +0,0 @@
1
- /**
2
- * @enum number
3
- */
4
- const State = {
5
- TopLevelContent: 1,
6
- AfterOpeningAngleBracket: 2,
7
- InsideOpeningTag: 3,
8
- InsideOpeningTagAndHasSeenWhitespace: 4,
9
- AfterClosingTagAngleBrackets: 5,
10
- AfterClosingTagName: 6,
11
- AfterAttributeName: 7,
12
- AfterAttributeEqualSign: 8,
13
- InsideAttributeDoubleQuote: 9,
14
- InsideBlockComment: 10,
15
- None: 11,
16
- InsideDoubleQuoteString: 12,
17
- InsideSingleQuoteString: 13,
18
- }
19
-
20
- export const StateMap = {}
21
-
22
- /**
23
- * @enum number
24
- */
25
- export const TokenType = {
26
- None: 99999999,
27
- Numeric: 30,
28
- String: 50,
29
- Whitespace: 0,
30
- Comment: 60,
31
- Text: 117,
32
- PunctuationTag: 228,
33
- TagName: 118,
34
- AttributeName: 119,
35
- Punctuation: 10,
36
- Error: 141,
37
- PunctuationString: 11,
38
- NewLine: 891,
39
- }
40
-
41
- export const TokenMap = {
42
- [TokenType.None]: 'None',
43
- [TokenType.Numeric]: 'Numeric',
44
- [TokenType.String]: 'String',
45
- [TokenType.Whitespace]: 'Whitespace',
46
- [TokenType.Comment]: 'Comment',
47
- [TokenType.Text]: 'Text',
48
- [TokenType.PunctuationTag]: 'PunctuationTag',
49
- [TokenType.TagName]: 'TagName',
50
- [TokenType.AttributeName]: 'AttributeName',
51
- [TokenType.Punctuation]: 'Punctuation',
52
- [TokenType.Error]: 'Error',
53
- [TokenType.PunctuationString]: 'PunctuationString',
54
- }
55
-
56
- const RE_ANGLE_BRACKET_CLOSE = /^>/
57
- const RE_ANGLE_BRACKET_ONLY = /^</
58
- const RE_ANGLE_BRACKET_OPEN = /^</
59
- const RE_ANGLE_BRACKET_OPEN_TAG = /^<(?![\s!])/
60
- const RE_ANY_TEXT = /^[^\n]+/
61
- const RE_ATTRIBUTE_NAME = /^[\@a-zA-Z\d\-\:\.]+/
62
- const RE_BLOCK_COMMENT_CONTENT_1 = /^.+?(?=-->)/s
63
- const RE_BLOCK_COMMENT_CONTENT_2 = /^.+$/s
64
- const RE_BLOCK_COMMENT_END = /^-->/
65
- const RE_BLOCK_COMMENT_START = /^<!--/
66
- const RE_DOCTYPE = /^<!(?=\w)/
67
- const RE_DASH_DASH = /^\-\-/
68
- const RE_DOUBLE_QUOTE = /^"/
69
- const RE_EQUAL_SIGN = /^=/
70
- const RE_EXCLAMATION_MARK = /^!/
71
- const RE_INVALID_INSIDE_ClOSING_TAG = /^[^a-zA-Z>]/
72
- const RE_INVALID_INSIDE_OPENING_TAG = /^[^a-zA-Z>]/
73
- const RE_NEWLINE = /^\n/
74
- const RE_NEWLINE_WHITESPACE = /^\n\s*/
75
- const RE_NOT_TAGNAME = /^[^a-zA-Z\d]+/
76
- const RE_PUNCTUATION = /^[<;'".,]/
77
- const RE_PUNCTUATION_SELF_CLOSING = /^\/>/
78
- const RE_SELF_CLOSING = /^\/>/
79
- const RE_SINGLE_QUOTE = /^'/
80
- const RE_SLASH = /^\//
81
- const RE_STRING_DOUBLE_QUOTE_CONTENT = /^[^"]+/
82
- const RE_STRING_SINGLE_QUOTE_CONTENT = /^[^']+/
83
- const RE_TAG_TEXT = /^[^\s>]+/
84
- const RE_TAGNAME = /^[!\w]+/
85
- const RE_TEXT = /^[^<>\n]+/
86
- const RE_WHITESPACE = /^\s+/
87
- const RE_WORD = /^[^\s]+/
88
- const RE_ATTRIBUTE_VALUE_UNQUOTED = /^[^<>]+/
89
-
90
- export const initialLineState = {
91
- state: State.TopLevelContent,
92
- }
93
-
94
- /**
95
- *
96
- * @param {any} lineStateA
97
- * @param {any} lineStateB
98
- * @returns
99
- */
100
- export const isLineStateEqual = (lineStateA, lineStateB) => {
101
- return lineStateA.state === lineStateB.state
102
- }
103
-
104
- export const hasArrayReturn = true
105
-
106
- /**
107
- *
108
- * @param {string} line
109
- * @param {any} lineState
110
- * @returns
111
- */
112
- export const tokenizeLine = (line, lineState) => {
113
- let next = null
114
- let index = 0
115
- let tokens = []
116
- let token = TokenType.None
117
- let state = lineState.state
118
- while (index < line.length) {
119
- const part = line.slice(index)
120
- switch (state) {
121
- case State.TopLevelContent:
122
- if ((next = part.match(RE_ANGLE_BRACKET_OPEN_TAG))) {
123
- token = TokenType.PunctuationTag
124
- state = State.AfterOpeningAngleBracket
125
- } else if ((next = part.match(RE_TEXT))) {
126
- token = TokenType.Text
127
- state = State.TopLevelContent
128
- } else if ((next = part.match(RE_BLOCK_COMMENT_START))) {
129
- token = TokenType.Comment
130
- state = State.InsideBlockComment
131
- } else if ((next = part.match(RE_ANGLE_BRACKET_CLOSE))) {
132
- token = TokenType.Text
133
- state = State.TopLevelContent
134
- } else if ((next = part.match(RE_DOCTYPE))) {
135
- token = TokenType.PunctuationTag
136
- state = State.AfterOpeningAngleBracket
137
- } else if ((next = part.match(RE_ANGLE_BRACKET_OPEN))) {
138
- token = TokenType.Text
139
- state = State.TopLevelContent
140
- } else {
141
- part //?
142
- throw new Error('no')
143
- }
144
- break
145
- case State.AfterOpeningAngleBracket:
146
- if ((next = part.match(RE_TAGNAME))) {
147
- token = TokenType.TagName
148
- state = State.InsideOpeningTag
149
- } else if ((next = part.match(RE_SLASH))) {
150
- token = TokenType.PunctuationTag
151
- state = State.AfterClosingTagAngleBrackets
152
- } else if ((next = part.match(RE_ANGLE_BRACKET_CLOSE))) {
153
- token = TokenType.PunctuationTag
154
- state = State.TopLevelContent
155
- } else if ((next = part.match(RE_ANGLE_BRACKET_OPEN))) {
156
- token = TokenType.PunctuationTag
157
- state = State.AfterOpeningAngleBracket
158
- } else if ((next = part.match(RE_ANY_TEXT))) {
159
- token = TokenType.Text
160
- state = State.TopLevelContent
161
- } else {
162
- part //?
163
- throw new Error('no')
164
- }
165
- break
166
- case State.InsideOpeningTag:
167
- if ((next = part.match(RE_ANGLE_BRACKET_CLOSE))) {
168
- token = TokenType.PunctuationTag
169
- state = State.TopLevelContent
170
- } else if ((next = part.match(RE_EXCLAMATION_MARK))) {
171
- token = TokenType.PunctuationTag
172
- state = State.InsideOpeningTag
173
- } else if ((next = part.match(RE_WHITESPACE))) {
174
- token = TokenType.Whitespace
175
- state = State.InsideOpeningTagAndHasSeenWhitespace
176
- } else if ((next = part.match(RE_DASH_DASH))) {
177
- token = TokenType.Comment
178
- state = State.InsideBlockComment
179
- } else if ((next = part.match(RE_TAG_TEXT))) {
180
- token = TokenType.Text
181
- state = State.InsideOpeningTag
182
- } else {
183
- part //?
184
- throw new Error('no')
185
- }
186
- break
187
- case State.AfterClosingTagAngleBrackets:
188
- if ((next = part.match(RE_TAGNAME))) {
189
- token = TokenType.TagName
190
- state = State.AfterClosingTagName
191
- } else if ((next = part.match(RE_WHITESPACE))) {
192
- token = TokenType.Whitespace
193
- state = State.TopLevelContent
194
- } else if ((next = part.match(RE_ANY_TEXT))) {
195
- token = TokenType.Text
196
- state = State.TopLevelContent
197
- } else {
198
- part //?
199
- throw new Error('no')
200
- }
201
- break
202
- case State.AfterClosingTagName:
203
- if ((next = part.match(RE_ANGLE_BRACKET_CLOSE))) {
204
- token = TokenType.PunctuationTag
205
- state = State.TopLevelContent
206
- } else if ((next = part.match(RE_TEXT))) {
207
- token = TokenType.Text
208
- state = State.TopLevelContent
209
- } else {
210
- throw new Error('no')
211
- }
212
- break
213
- case State.InsideOpeningTagAndHasSeenWhitespace:
214
- if ((next = part.match(RE_ATTRIBUTE_NAME))) {
215
- token = TokenType.AttributeName
216
- state = State.AfterAttributeName
217
- } else if ((next = part.match(RE_SELF_CLOSING))) {
218
- token = TokenType.PunctuationTag
219
- state = State.TopLevelContent
220
- } else if ((next = part.match(RE_ANGLE_BRACKET_CLOSE))) {
221
- token = TokenType.PunctuationTag
222
- state = State.TopLevelContent
223
- } else if ((next = part.match(RE_TAG_TEXT))) {
224
- token = TokenType.Text
225
- state = State.TopLevelContent
226
- } else {
227
- part //?
228
- throw new Error('no')
229
- }
230
- break
231
- case State.AfterAttributeName:
232
- if ((next = part.match(RE_ANGLE_BRACKET_CLOSE))) {
233
- token = TokenType.PunctuationTag
234
- state = State.TopLevelContent
235
- } else if ((next = part.match(RE_EQUAL_SIGN))) {
236
- token = TokenType.Punctuation
237
- state = State.AfterAttributeEqualSign
238
- } else if ((next = part.match(RE_DOUBLE_QUOTE))) {
239
- token = TokenType.PunctuationString
240
- state = State.InsideDoubleQuoteString
241
- } else if ((next = part.match(RE_SINGLE_QUOTE))) {
242
- token = TokenType.PunctuationString
243
- state = State.InsideSingleQuoteString
244
- } else if ((next = part.match(RE_TAG_TEXT))) {
245
- token = TokenType.Text
246
- state = State.InsideOpeningTag
247
- } else if ((next = part.match(RE_WHITESPACE))) {
248
- token = TokenType.Whitespace
249
- state = State.InsideOpeningTagAndHasSeenWhitespace
250
- } else {
251
- // TODO check quotation mark
252
- part //?
253
- throw new Error('no')
254
- }
255
- break
256
- case State.AfterAttributeEqualSign:
257
- if ((next = part.match(RE_DOUBLE_QUOTE))) {
258
- token = TokenType.PunctuationString
259
- state = State.InsideDoubleQuoteString
260
- } else if ((next = part.match(RE_SINGLE_QUOTE))) {
261
- token = TokenType.PunctuationString
262
- state = State.InsideSingleQuoteString
263
- } else if ((next = part.match(RE_ANGLE_BRACKET_CLOSE))) {
264
- token = TokenType.PunctuationTag
265
- state = State.TopLevelContent
266
- } else if ((next = part.match(RE_ATTRIBUTE_VALUE_UNQUOTED))) {
267
- token = TokenType.String
268
- state = State.InsideOpeningTag
269
- } else {
270
- part
271
- throw new Error('no')
272
- }
273
- break
274
- case State.InsideDoubleQuoteString:
275
- if ((next = part.match(RE_DOUBLE_QUOTE))) {
276
- token = TokenType.PunctuationString
277
- state = State.InsideOpeningTag
278
- } else if ((next = part.match(RE_STRING_DOUBLE_QUOTE_CONTENT))) {
279
- token = TokenType.String
280
- state = State.InsideDoubleQuoteString
281
- } else {
282
- throw new Error('no')
283
- }
284
- break
285
- case State.InsideSingleQuoteString:
286
- if ((next = part.match(RE_SINGLE_QUOTE))) {
287
- token = TokenType.PunctuationString
288
- state = State.InsideOpeningTag
289
- } else if ((next = part.match(RE_STRING_SINGLE_QUOTE_CONTENT))) {
290
- token = TokenType.String
291
- state = State.InsideSingleQuoteString
292
- } else {
293
- throw new Error('no')
294
- }
295
- break
296
- case State.InsideBlockComment:
297
- part
298
- if ((next = part.match(RE_BLOCK_COMMENT_CONTENT_1))) {
299
- token = TokenType.Comment
300
- state = State.InsideBlockComment
301
- } else if ((next = part.match(RE_BLOCK_COMMENT_END))) {
302
- token = TokenType.Comment
303
- state = State.TopLevelContent
304
- } else if ((next = part.match(RE_BLOCK_COMMENT_CONTENT_2))) {
305
- token = TokenType.Comment
306
- state = State.InsideBlockComment
307
- } else {
308
- throw new Error('no')
309
- }
310
- break
311
- default:
312
- state
313
- throw new Error('no')
314
- }
315
-
316
- const tokenLength = next[0].length
317
- index += tokenLength
318
- tokens.push(token, tokenLength)
319
- }
320
- if (state === State.AfterClosingTagAngleBrackets) {
321
- state = State.TopLevelContent
322
- }
323
- return {
324
- state,
325
- tokens,
326
- }
327
- }
@@ -1,16 +0,0 @@
1
- # Language Basics Wgsl
2
-
3
- Wgsl syntax highlighting for Lvce Editor.
4
-
5
- ## Contributing
6
-
7
- ```sh
8
- git clone git@github.com:lvce-editor/language-basics-wgsl.git &&
9
- cd language-basics-wgsl &&
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-wgsl)
@@ -1,13 +0,0 @@
1
- {
2
- "id": "builtin.language-basics-wgsl",
3
- "name": "Language Basics WGSL",
4
- "description": "Provides syntax highlighting and bracket matching in WebGPU Shader Language files.",
5
- "languages": [
6
- {
7
- "id": "wgsl",
8
- "extensions": [".wgsl"],
9
- "tokenize": "src/tokenizeWgsl.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
- }
@@ -1,226 +0,0 @@
1
- /**
2
- * @enum number
3
- */
4
- export const State = {
5
- TopLevelContent: 1,
6
- AfterKeywordDeclaration: 2,
7
- AfterKeywordStruct: 3,
8
- }
9
-
10
- /**
11
- * @enum number
12
- */
13
- export const TokenType = {
14
- Whitespace: 2,
15
- Punctuation: 3,
16
- CurlyOpen: 6,
17
- CurlyClose: 7,
18
- PropertyColon: 8,
19
- Variable: 10,
20
- None: 57,
21
- Unknown: 881,
22
- Numeric: 883,
23
- NewLine: 884,
24
- Comment: 885,
25
- Text: 887,
26
- FuntionName: 890,
27
- String: 891,
28
- KeywordImport: 892,
29
- Keyword: 123,
30
- KeywordControl: 124,
31
- KeywordReturn: 125,
32
- Type: 126,
33
- }
34
-
35
- export const TokenMap = {
36
- [TokenType.Whitespace]: 'Whitespace',
37
- [TokenType.Punctuation]: 'Punctuation',
38
- [TokenType.CurlyOpen]: 'Punctuation',
39
- [TokenType.CurlyClose]: 'Punctuation',
40
- [TokenType.PropertyColon]: 'Punctuation',
41
- [TokenType.Variable]: 'VariableName',
42
- [TokenType.None]: 'None',
43
- [TokenType.Unknown]: 'Unknown',
44
- [TokenType.Numeric]: 'Numeric',
45
- [TokenType.NewLine]: 'NewLine',
46
- [TokenType.Comment]: 'Comment',
47
- [TokenType.Text]: 'Text',
48
- [TokenType.FuntionName]: 'Function',
49
- [TokenType.String]: 'String',
50
- [TokenType.KeywordImport]: 'KeywordImport',
51
- [TokenType.Keyword]: 'Keyword',
52
- [TokenType.KeywordControl]: 'KeywordControl',
53
- [TokenType.KeywordReturn]: 'KeywordReturn',
54
- [TokenType.Type]: 'Type',
55
- }
56
-
57
- const RE_WHITESPACE = /^\s+/
58
- const RE_CURLY_OPEN = /^\{/
59
- const RE_CURLY_CLOSE = /^\}/
60
- const RE_PROPERTY_NAME = /^[a-zA-Z\-\w]+/
61
- const RE_COLON = /^:/
62
- const RE_SEMICOLON = /^;/
63
- const RE_COMMA = /^,/
64
- const RE_ANYTHING = /^.+/s
65
- const RE_NUMERIC = /^\-?(([0-9]+\.?[0-9]*)|(\.[0-9]+))/
66
- const RE_BLOCK_COMMENT_START = /^\/\*/
67
- const RE_BLOCK_COMMENT_END = /^\*\//
68
- const RE_BLOCK_COMMENT_CONTENT = /^.+?(?=\*\/|$)/s
69
- const RE_ROUND_OPEN = /^\(/
70
- const RE_ROUND_CLOSE = /^\)/
71
- const RE_PSEUDO_SELECTOR_CONTENT = /^[^\)]+/
72
- const RE_SQUARE_OPEN = /^\[/
73
- const RE_SQUARE_CLOSE = /^\]/
74
- const RE_ATTRIBUTE_SELECTOR_CONTENT = /^[^\]]+/
75
- const RE_QUERY = /^@[a-z\-]+/
76
- const RE_STAR = /^\*/
77
- const RE_QUERY_NAME = /^[a-zA-Z\w\-\d\_]+/
78
- const RE_QUERY_CONTENT = /^[^\)]+/
79
- const RE_COMBINATOR = /^[\+\>\~]/
80
- const RE_FUNCTION = /^[a-zA-Z][a-zA-Z\-]+(?=\()/
81
- const RE_VARIABLE_NAME = /^[a-zA-Z\w\-\_\d]+/
82
- const RE_PERCENT = /^\%/
83
- const RE_OPERATOR = /^[\-\/\*\+]/
84
- const RE_DOUBLE_QUOTE = /^"/
85
- const RE_STRING_DOUBLE_QUOTE_CONTENT = /^[^"]+/
86
- const RE_STRING_SINGLE_QUOTE_CONTENT = /^[^']+/
87
- const RE_SINGLE_QUOTE = /^'/
88
- const RE_ANYTHING_BUT_CURLY = /^[^\{\}]+/s
89
- const RE_LINE_COMMENT = /^\/\/.*/s
90
- const RE_KEYWORD =
91
- /^(?:var|let|fn|for|struct|vec2|f32|if|elseif|else|mat4x4|vec4|return)\b/
92
-
93
- const RE_PUNCTUATION = /^[\{\}\[\]\(\)\.\;\<\>\=\+\-\:\*\/\&>\?\@\<\>\,]/
94
-
95
- export const initialLineState = {
96
- state: State.TopLevelContent,
97
- tokens: [],
98
- stack: [],
99
- }
100
-
101
- /**
102
- * @param {any} lineStateA
103
- * @param {any} lineStateB
104
- */
105
- export const isEqualLineState = (lineStateA, lineStateB) => {
106
- return lineStateA.state === lineStateB.state
107
- }
108
-
109
- export const hasArrayReturn = true
110
-
111
- /**
112
- * @param {string} line
113
- * @param {any} lineState
114
- */
115
- export const tokenizeLine = (line, lineState) => {
116
- let next = null
117
- let index = 0
118
- let tokens = []
119
- let token = TokenType.None
120
- let state = lineState.state
121
- const stack = lineState.stack
122
- while (index < line.length) {
123
- const part = line.slice(index)
124
- switch (state) {
125
- case State.TopLevelContent:
126
- if ((next = part.match(RE_WHITESPACE))) {
127
- token = TokenType.Whitespace
128
- state = State.TopLevelContent
129
- } else if ((next = part.match(RE_LINE_COMMENT))) {
130
- token = TokenType.Comment
131
- state = State.TopLevelContent
132
- } else if ((next = part.match(RE_KEYWORD))) {
133
- switch (next[0]) {
134
- case 'let':
135
- case 'var':
136
- token = TokenType.Keyword
137
- state = State.AfterKeywordDeclaration
138
- break
139
- case 'if':
140
- case 'elseif':
141
- case 'else':
142
- token = TokenType.KeywordControl
143
- state = State.TopLevelContent
144
- break
145
- case 'return':
146
- token = TokenType.KeywordReturn
147
- state = State.TopLevelContent
148
- break
149
- case 'vec4':
150
- case 'vec2':
151
- case 'f32':
152
- case 'i32':
153
- case 'mat4x4':
154
- token = TokenType.Type
155
- state = State.TopLevelContent
156
- break
157
- case 'struct':
158
- token = TokenType.Keyword
159
- state = State.AfterKeywordStruct
160
- break
161
- default:
162
- token = TokenType.Keyword
163
- state = State.TopLevelContent
164
- break
165
- }
166
- } else if ((next = part.match(RE_PUNCTUATION))) {
167
- token = TokenType.Punctuation
168
- state = State.TopLevelContent
169
- } else if ((next = part.match(RE_VARIABLE_NAME))) {
170
- token = TokenType.Variable
171
- state = State.TopLevelContent
172
- } else if ((next = part.match(RE_ANYTHING))) {
173
- token = TokenType.Unknown
174
- state = State.TopLevelContent
175
- } else {
176
- part //?
177
- throw new Error('no')
178
- }
179
- break
180
- case State.AfterKeywordDeclaration:
181
- if ((next = part.match(RE_WHITESPACE))) {
182
- token = TokenType.Whitespace
183
- state = State.AfterKeywordDeclaration
184
- } else if ((next = part.match(RE_PUNCTUATION))) {
185
- token = TokenType.Punctuation
186
- state = State.AfterKeywordDeclaration
187
- } else if ((next = part.match(RE_VARIABLE_NAME))) {
188
- token = TokenType.Variable
189
- state = State.TopLevelContent
190
- } else if ((next = part.match(RE_ANYTHING))) {
191
- token = TokenType.Unknown
192
- state = State.TopLevelContent
193
- } else {
194
- throw new Error('no')
195
- }
196
- break
197
- case State.AfterKeywordStruct:
198
- if ((next = part.match(RE_WHITESPACE))) {
199
- token = TokenType.Whitespace
200
- state = State.AfterKeywordStruct
201
- } else if ((next = part.match(RE_PUNCTUATION))) {
202
- token = TokenType.Punctuation
203
- state = State.TopLevelContent
204
- } else if ((next = part.match(RE_VARIABLE_NAME))) {
205
- token = TokenType.Type
206
- state = State.TopLevelContent
207
- } else if ((next = part.match(RE_ANYTHING))) {
208
- token = TokenType.Unknown
209
- state = State.TopLevelContent
210
- } else {
211
- throw new Error('no')
212
- }
213
- break
214
- default:
215
- throw new Error('no')
216
- }
217
- const tokenLength = next[0].length
218
- index += tokenLength
219
- tokens.push(token, tokenLength)
220
- }
221
- return {
222
- state,
223
- tokens,
224
- stack,
225
- }
226
- }
@@ -1,14 +0,0 @@
1
- # Language Basics Xml
2
-
3
- ## Contributing
4
-
5
- ```sh
6
- git clone git@github.com:lvce-editor/language-basics-xml.git &&
7
- cd language-basics-xml &&
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-xml)