@lvce-editor/shared-process 0.18.8 → 0.18.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/package.json +4 -4
  2. package/src/parts/ExportStatic/ExportStatic.js +5 -5
  3. package/src/parts/Platform/Platform.js +3 -3
  4. package/extensions/builtin.language-basics-bat/README.md +0 -14
  5. package/extensions/builtin.language-basics-bat/extension.json +0 -12
  6. package/extensions/builtin.language-basics-bat/src/tokenizeBat.js +0 -33
  7. package/extensions/builtin.language-basics-c/README.md +0 -14
  8. package/extensions/builtin.language-basics-c/extension.json +0 -12
  9. package/extensions/builtin.language-basics-c/src/tokenizeC.js +0 -211
  10. package/extensions/builtin.language-basics-coffeescript/README.md +0 -14
  11. package/extensions/builtin.language-basics-coffeescript/extension.json +0 -12
  12. package/extensions/builtin.language-basics-coffeescript/src/tokenizeCoffeeScript.js +0 -257
  13. package/extensions/builtin.language-basics-cpp/README.md +0 -14
  14. package/extensions/builtin.language-basics-cpp/extension.json +0 -32
  15. package/extensions/builtin.language-basics-cpp/languageConfiguration.json +0 -5
  16. package/extensions/builtin.language-basics-cpp/src/tokenizeCpp.js +0 -317
  17. package/extensions/builtin.language-basics-cson/README.md +0 -16
  18. package/extensions/builtin.language-basics-cson/extension.json +0 -13
  19. package/extensions/builtin.language-basics-cson/languageConfiguration.json +0 -21
  20. package/extensions/builtin.language-basics-cson/src/tokenizeCson.js +0 -207
  21. package/extensions/builtin.language-basics-css/README.md +0 -16
  22. package/extensions/builtin.language-basics-css/extension.json +0 -13
  23. package/extensions/builtin.language-basics-css/languageConfiguration.json +0 -21
  24. package/extensions/builtin.language-basics-css/src/tokenizeCss.js +0 -659
  25. package/extensions/builtin.language-basics-dart/README.md +0 -14
  26. package/extensions/builtin.language-basics-dart/extension.json +0 -12
  27. package/extensions/builtin.language-basics-dart/src/tokenizeDart.js +0 -133
  28. package/extensions/builtin.language-basics-desktop/README.md +0 -14
  29. package/extensions/builtin.language-basics-desktop/extension.json +0 -12
  30. package/extensions/builtin.language-basics-desktop/src/tokenizeDesktop.js +0 -166
  31. package/extensions/builtin.language-basics-docker/README.md +0 -14
  32. package/extensions/builtin.language-basics-docker/extension.json +0 -24
  33. package/extensions/builtin.language-basics-docker/src/tokenizeDockerfile.js +0 -131
  34. package/extensions/builtin.language-basics-dotenv/README.md +0 -14
  35. package/extensions/builtin.language-basics-dotenv/extension.json +0 -26
  36. package/extensions/builtin.language-basics-dotenv/src/tokenizeDotenv.js +0 -301
  37. package/extensions/builtin.language-basics-editorconfig/README.md +0 -14
  38. package/extensions/builtin.language-basics-editorconfig/extension.json +0 -12
  39. package/extensions/builtin.language-basics-editorconfig/src/tokenizeEditorConfig.js +0 -173
  40. package/extensions/builtin.language-basics-elixir/README.md +0 -14
  41. package/extensions/builtin.language-basics-elixir/extension.json +0 -12
  42. package/extensions/builtin.language-basics-elixir/src/tokenizeElixir.js +0 -150
  43. package/extensions/builtin.language-basics-elm/README.md +0 -14
  44. package/extensions/builtin.language-basics-elm/extension.json +0 -12
  45. package/extensions/builtin.language-basics-elm/src/tokenizeElm.js +0 -298
  46. package/extensions/builtin.language-basics-gitattributes/README.md +0 -14
  47. package/extensions/builtin.language-basics-gitattributes/extension.json +0 -12
  48. package/extensions/builtin.language-basics-gitattributes/src/tokenizeGitAttributes.js +0 -159
  49. package/extensions/builtin.language-basics-gn/README.md +0 -14
  50. package/extensions/builtin.language-basics-gn/extension.json +0 -12
  51. package/extensions/builtin.language-basics-gn/src/tokenizeGn.js +0 -178
  52. package/extensions/builtin.language-basics-go/README.md +0 -14
  53. package/extensions/builtin.language-basics-go/extension.json +0 -13
  54. package/extensions/builtin.language-basics-go/src/tokenizeGo.js +0 -295
  55. package/extensions/builtin.language-basics-graphql/README.md +0 -14
  56. package/extensions/builtin.language-basics-graphql/extension.json +0 -12
  57. package/extensions/builtin.language-basics-graphql/src/tokenizeGraphql.js +0 -432
  58. package/extensions/builtin.language-basics-html/README.md +0 -14
  59. package/extensions/builtin.language-basics-html/extension.json +0 -13
  60. package/extensions/builtin.language-basics-html/languageConfiguration.json +0 -66
  61. package/extensions/builtin.language-basics-html/src/tokenizeHtml.js +0 -551
  62. package/extensions/builtin.language-basics-java/README.md +0 -14
  63. package/extensions/builtin.language-basics-java/extension.json +0 -13
  64. package/extensions/builtin.language-basics-java/languageConfiguration.json +0 -31
  65. package/extensions/builtin.language-basics-java/src/tokenizeJava.js +0 -253
  66. package/extensions/builtin.language-basics-javascript/README.md +0 -14
  67. package/extensions/builtin.language-basics-javascript/extension.json +0 -14
  68. package/extensions/builtin.language-basics-javascript/languageConfiguration.json +0 -40
  69. package/extensions/builtin.language-basics-javascript/src/tokenizeJavaScript.js +0 -614
  70. package/extensions/builtin.language-basics-json/README.md +0 -14
  71. package/extensions/builtin.language-basics-json/extension.json +0 -60
  72. package/extensions/builtin.language-basics-json/src/tokenizeJson.js +0 -356
  73. package/extensions/builtin.language-basics-jsx/README.md +0 -14
  74. package/extensions/builtin.language-basics-jsx/extension.json +0 -13
  75. package/extensions/builtin.language-basics-jsx/src/tokenizeJsx.js +0 -661
  76. package/extensions/builtin.language-basics-julia/README.md +0 -18
  77. package/extensions/builtin.language-basics-julia/extension.json +0 -12
  78. package/extensions/builtin.language-basics-julia/src/tokenizeJulia.js +0 -181
  79. package/extensions/builtin.language-basics-kotlin/README.md +0 -14
  80. package/extensions/builtin.language-basics-kotlin/extension.json +0 -12
  81. package/extensions/builtin.language-basics-kotlin/src/tokenizeKotlin.js +0 -274
  82. package/extensions/builtin.language-basics-less/LICENSE +0 -21
  83. package/extensions/builtin.language-basics-less/README.md +0 -14
  84. package/extensions/builtin.language-basics-less/extension.json +0 -12
  85. package/extensions/builtin.language-basics-less/languageConfiguration.json +0 -17
  86. package/extensions/builtin.language-basics-less/src/tokenizeLess.js +0 -609
  87. package/extensions/builtin.language-basics-markdown/README.md +0 -14
  88. package/extensions/builtin.language-basics-markdown/extension.json +0 -12
  89. package/extensions/builtin.language-basics-markdown/src/tokenizeMarkdown.js +0 -441
  90. package/extensions/builtin.language-basics-mdx/README.md +0 -14
  91. package/extensions/builtin.language-basics-mdx/extension.json +0 -12
  92. package/extensions/builtin.language-basics-mdx/src/tokenizeMdx.js +0 -395
  93. package/extensions/builtin.language-basics-nvmrc/README.md +0 -14
  94. package/extensions/builtin.language-basics-nvmrc/extension.json +0 -12
  95. package/extensions/builtin.language-basics-nvmrc/src/tokenizeNvmrc.js +0 -30
  96. package/extensions/builtin.language-basics-perl/README.md +0 -14
  97. package/extensions/builtin.language-basics-perl/extension.json +0 -13
  98. package/extensions/builtin.language-basics-perl/src/tokenizePerl.js +0 -200
  99. package/extensions/builtin.language-basics-plaintext/README.md +0 -14
  100. package/extensions/builtin.language-basics-plaintext/extension.json +0 -12
  101. package/extensions/builtin.language-basics-plaintext/src/tokenizePlaintext.js +0 -28
  102. package/extensions/builtin.language-basics-powershell/README.md +0 -14
  103. package/extensions/builtin.language-basics-powershell/extension.json +0 -12
  104. package/extensions/builtin.language-basics-powershell/src/tokenizePowershell.js +0 -141
  105. package/extensions/builtin.language-basics-python/README.md +0 -14
  106. package/extensions/builtin.language-basics-python/extension.json +0 -15
  107. package/extensions/builtin.language-basics-python/languageConfiguration.json +0 -5
  108. package/extensions/builtin.language-basics-python/src/tokenizePython.js +0 -304
  109. package/extensions/builtin.language-basics-r/README.md +0 -14
  110. package/extensions/builtin.language-basics-r/extension.json +0 -12
  111. package/extensions/builtin.language-basics-r/src/tokenizeR.js +0 -71
  112. package/extensions/builtin.language-basics-ruby/README.md +0 -14
  113. package/extensions/builtin.language-basics-ruby/extension.json +0 -48
  114. package/extensions/builtin.language-basics-ruby/src/tokenizeRuby.js +0 -248
  115. package/extensions/builtin.language-basics-rust/LICENSE +0 -21
  116. package/extensions/builtin.language-basics-rust/README.md +0 -14
  117. package/extensions/builtin.language-basics-rust/extension.json +0 -12
  118. package/extensions/builtin.language-basics-rust/languageConfiguration.json +0 -17
  119. package/extensions/builtin.language-basics-rust/src/tokenizeRust.js +0 -158
  120. package/extensions/builtin.language-basics-scss/README.md +0 -14
  121. package/extensions/builtin.language-basics-scss/extension.json +0 -12
  122. package/extensions/builtin.language-basics-scss/src/tokenizeScss.js +0 -28
  123. package/extensions/builtin.language-basics-shellscript/README.md +0 -14
  124. package/extensions/builtin.language-basics-shellscript/extension.json +0 -56
  125. package/extensions/builtin.language-basics-shellscript/src/tokenizeShellScript.js +0 -569
  126. package/extensions/builtin.language-basics-svelte/README.md +0 -14
  127. package/extensions/builtin.language-basics-svelte/extension.json +0 -13
  128. package/extensions/builtin.language-basics-svelte/src/tokenizeSvelte.js +0 -428
  129. package/extensions/builtin.language-basics-toml/README.md +0 -14
  130. package/extensions/builtin.language-basics-toml/extension.json +0 -14
  131. package/extensions/builtin.language-basics-toml/src/tokenizeToml.js +0 -299
  132. package/extensions/builtin.language-basics-typescript/README.md +0 -14
  133. package/extensions/builtin.language-basics-typescript/extension.json +0 -17
  134. package/extensions/builtin.language-basics-typescript/src/tokenizeTypeScript.js +0 -1602
  135. package/extensions/builtin.language-basics-vue/README.md +0 -14
  136. package/extensions/builtin.language-basics-vue/extension.json +0 -13
  137. package/extensions/builtin.language-basics-vue/src/tokenizeVue.js +0 -327
  138. package/extensions/builtin.language-basics-wgsl/README.md +0 -16
  139. package/extensions/builtin.language-basics-wgsl/extension.json +0 -13
  140. package/extensions/builtin.language-basics-wgsl/languageConfiguration.json +0 -21
  141. package/extensions/builtin.language-basics-wgsl/src/tokenizeWgsl.js +0 -226
  142. package/extensions/builtin.language-basics-xml/README.md +0 -14
  143. package/extensions/builtin.language-basics-xml/extension.json +0 -85
  144. package/extensions/builtin.language-basics-xml/src/tokenizeXml.js +0 -328
  145. package/extensions/builtin.language-basics-yaml/README.md +0 -14
  146. package/extensions/builtin.language-basics-yaml/extension.json +0 -13
  147. package/extensions/builtin.language-basics-yaml/src/tokenizeYaml.js +0 -405
  148. package/extensions/builtin.theme-atom-one-dark/README.md +0 -11
  149. package/extensions/builtin.theme-atom-one-dark/color-theme.json +0 -216
  150. package/extensions/builtin.theme-atom-one-dark/extension.json +0 -12
  151. package/extensions/builtin.theme-atom-one-dark/images/demo.png +0 -0
  152. package/extensions/builtin.theme-ayu/README.md +0 -11
  153. package/extensions/builtin.theme-ayu/color-theme.json +0 -217
  154. package/extensions/builtin.theme-ayu/extension.json +0 -12
  155. package/extensions/builtin.theme-cobalt2/README.md +0 -20
  156. package/extensions/builtin.theme-cobalt2/color-theme.json +0 -202
  157. package/extensions/builtin.theme-cobalt2/extension.json +0 -13
  158. package/extensions/builtin.theme-cobalt2/images/demo.png +0 -0
  159. package/extensions/builtin.theme-cobalt2/images/logo.png +0 -0
  160. package/extensions/builtin.theme-gruvbox/README.md +0 -20
  161. package/extensions/builtin.theme-gruvbox/color-theme.json +0 -217
  162. package/extensions/builtin.theme-gruvbox/extension.json +0 -12
  163. package/extensions/builtin.theme-high-contrast/README.md +0 -9
  164. package/extensions/builtin.theme-high-contrast/color-theme.json +0 -86
  165. package/extensions/builtin.theme-high-contrast/extension.json +0 -11
  166. package/extensions/builtin.theme-material/README.md +0 -9
  167. package/extensions/builtin.theme-material/color-theme.json +0 -183
  168. package/extensions/builtin.theme-material/extension.json +0 -12
  169. package/extensions/builtin.theme-monokai/README.md +0 -10
  170. package/extensions/builtin.theme-monokai/color-theme.json +0 -151
  171. package/extensions/builtin.theme-monokai/extension.json +0 -11
  172. package/extensions/builtin.theme-noctis-uva/README.md +0 -11
  173. package/extensions/builtin.theme-noctis-uva/color-theme.json +0 -204
  174. package/extensions/builtin.theme-noctis-uva/extension.json +0 -12
  175. package/extensions/builtin.theme-noctis-uva/images/demo.png +0 -0
  176. package/extensions/builtin.theme-palenight/README.md +0 -11
  177. package/extensions/builtin.theme-palenight/color-theme.json +0 -209
  178. package/extensions/builtin.theme-palenight/extension.json +0 -12
  179. package/extensions/builtin.theme-palenight/images/demo.png +0 -0
  180. package/extensions/builtin.theme-slime/README.md +0 -5
  181. package/extensions/builtin.theme-slime/color-theme.json +0 -290
  182. package/extensions/builtin.theme-slime/extension.json +0 -13
  183. package/extensions/builtin.theme-slime/icon.png +0 -0
  184. package/extensions/builtin.vscode-icons/README.md +0 -20
  185. package/extensions/builtin.vscode-icons/extension.json +0 -13
  186. package/extensions/builtin.vscode-icons/icon-theme.json +0 -3815
  187. package/extensions/builtin.vscode-icons/icon.png +0 -0
@@ -1,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)