@lvce-editor/shared-process 0.18.8 → 0.18.10

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,395 +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
- AfterTripleBackTick: 14,
19
- AfterTripleBackTickAfterLanguageId: 15,
20
- InsideBackTickString: 16,
21
- }
22
-
23
- export const StateMap = {}
24
-
25
- /**
26
- * @enum number
27
- */
28
- export const TokenType = {
29
- None: 99999999,
30
- Numeric: 30,
31
- String: 50,
32
- Whitespace: 0,
33
- Comment: 60,
34
- Text: 117,
35
- PunctuationTag: 228,
36
- TagName: 118,
37
- AttributeName: 119,
38
- Punctuation: 10,
39
- Error: 141,
40
- PunctuationString: 11,
41
- NewLine: 891,
42
- Heading: 13,
43
- MarkdownString: 18,
44
- MarkdownLinkName: 19,
45
- MarkdownLinkUrl: 20,
46
- }
47
-
48
- export const TokenMap = {
49
- [TokenType.None]: 'None',
50
- [TokenType.Numeric]: 'Numeric',
51
- [TokenType.String]: 'String',
52
- [TokenType.Whitespace]: 'Whitespace',
53
- [TokenType.Comment]: 'Comment',
54
- [TokenType.Text]: 'Text',
55
- [TokenType.PunctuationTag]: 'PunctuationTag',
56
- [TokenType.TagName]: 'TagName',
57
- [TokenType.AttributeName]: 'AttributeName',
58
- [TokenType.Punctuation]: 'Punctuation',
59
- [TokenType.Error]: 'Error',
60
- [TokenType.PunctuationString]: 'PunctuationString',
61
- [TokenType.Heading]: 'Heading',
62
- [TokenType.MarkdownString]: 'MarkdownString',
63
- [TokenType.MarkdownLinkName]: 'MarkdownLinkName',
64
- [TokenType.MarkdownLinkUrl]: 'MarkdownLinkUrl',
65
- }
66
-
67
- const RE_ANGLE_BRACKET_CLOSE = /^>/
68
- const RE_ANGLE_BRACKET_ONLY = /^</
69
- const RE_ANGLE_BRACKET_OPEN = /^</
70
- const RE_ANGLE_BRACKET_OPEN_TAG = /^<(?!\s)/
71
- const RE_ANY_TEXT = /^[^\n]+/
72
- const RE_ATTRIBUTE_NAME = /^[a-zA-Z\d\-]+/
73
- const RE_BLOCK_COMMENT_CONTENT = /^.(?:.*?)(?=-->|$)/s
74
- const RE_BLOCK_COMMENT_END = /^-->/
75
- const RE_BLOCK_COMMENT_START = /^<!--/
76
- const RE_DASH_DASH = /^\-\-/
77
- const RE_DOUBLE_QUOTE = /^"/
78
- const RE_EQUAL_SIGN = /^=/
79
- const RE_EXCLAMATION_MARK = /^!/
80
- const RE_INVALID_INSIDE_ClOSING_TAG = /^[^a-zA-Z>]/
81
- const RE_INVALID_INSIDE_OPENING_TAG = /^[^a-zA-Z>]/
82
- const RE_NEWLINE = /^\n/
83
- const RE_NEWLINE_WHITESPACE = /^\n\s*/
84
- const RE_NOT_TAGNAME = /^[^a-zA-Z\d]+/
85
- const RE_PUNCTUATION = /^[<;'".,]/
86
- const RE_PUNCTUATION_SELF_CLOSING = /^\/>/
87
- const RE_SELF_CLOSING = /^\/>/
88
- const RE_SINGLE_QUOTE = /^'/
89
- const RE_QUOTE_BACKTICK = /^`/
90
- const RE_SLASH = /^\//
91
- const RE_STRING_BACKTICK_QUOTE_CONTENT = /^[^`]+/
92
- const RE_STRING_DOUBLE_QUOTE_CONTENT = /^[^"]+/
93
- const RE_STRING_SINGLE_QUOTE_CONTENT = /^[^']+/
94
- const RE_TAG_TEXT = /^[^\s>]+/
95
- const RE_TAGNAME = /^[!\w]+/
96
- const RE_TEXT = /^[^<>\n\`\[\]]+/
97
- const RE_WHITESPACE = /^\s+/
98
- const RE_WORD = /^[^\s]+/
99
- const RE_HEADING = /^\#.*/s
100
- const RE_TRIPLE_BACKTICK = /^`{3,}/
101
- const RE_TRIPLE_QUOTED_STRING_CONTENT = /[^`]/s
102
- const RE_STRING_ESCAPE = /^\\./
103
- const RE_LINK = /^\[([^\[\]\\]+?)\]\((.*)\)/
104
- const RE_ANYTHING_UNTIL_END = /^.+/s
105
-
106
- export const initialLineState = {
107
- state: State.TopLevelContent,
108
- }
109
-
110
- /**
111
- *
112
- * @param {any} lineStateA
113
- * @param {any} lineStateB
114
- * @returns
115
- */
116
- export const isLineStateEqual = (lineStateA, lineStateB) => {
117
- return lineStateA.state === lineStateB.state
118
- }
119
-
120
- export const hasArrayReturn = true
121
-
122
- /**
123
- *
124
- * @param {string} line
125
- * @param {any} lineState
126
- * @returns
127
- */
128
- export const tokenizeLine = (line, lineState) => {
129
- let next = null
130
- let index = 0
131
- let tokens = []
132
- let token = TokenType.None
133
- let state = lineState.state
134
- while (index < line.length) {
135
- const part = line.slice(index)
136
- switch (state) {
137
- case State.TopLevelContent:
138
- if ((next = part.match(RE_BLOCK_COMMENT_START))) {
139
- token = TokenType.Comment
140
- state = State.InsideBlockComment
141
- } else if ((next = part.match(RE_ANGLE_BRACKET_OPEN_TAG))) {
142
- token = TokenType.PunctuationTag
143
- state = State.AfterOpeningAngleBracket
144
- } else if ((next = part.match(RE_HEADING))) {
145
- token = TokenType.Heading
146
- } else if ((next = part.match(RE_TRIPLE_BACKTICK))) {
147
- token = TokenType.PunctuationString
148
- state = State.AfterTripleBackTick
149
- } else if ((next = part.match(RE_TEXT))) {
150
- token = TokenType.Text
151
- state = State.TopLevelContent
152
- } else if ((next = part.match(RE_QUOTE_BACKTICK))) {
153
- token = TokenType.Punctuation
154
- state = State.InsideBackTickString
155
- } else if ((next = part.match(RE_ANGLE_BRACKET_CLOSE))) {
156
- token = TokenType.Text
157
- state = State.TopLevelContent
158
- } else if ((next = part.match(RE_ANGLE_BRACKET_OPEN))) {
159
- token = TokenType.Text
160
- state = State.TopLevelContent
161
- } else if ((next = part.match(RE_LINK))) {
162
- const tokenLength = next[0].length
163
- index += tokenLength
164
- const linkName = next[1]
165
- const linkUrl = next[2]
166
- tokens.push(
167
- TokenType.Punctuation,
168
- 1,
169
- TokenType.MarkdownLinkName,
170
- linkName.length,
171
- TokenType.Punctuation,
172
- 1,
173
- TokenType.Punctuation,
174
- 1,
175
- TokenType.MarkdownLinkUrl,
176
- linkUrl.length,
177
- TokenType.Punctuation,
178
- 1
179
- )
180
- tokens.push(token, tokenLength)
181
- continue
182
- } else if ((next = part.match(RE_ANYTHING_UNTIL_END))) {
183
- token = TokenType.Text
184
- state = State.TopLevelContent
185
- } else {
186
- part //?
187
- console.log({ part })
188
- throw new Error('no')
189
- }
190
- break
191
- case State.AfterOpeningAngleBracket:
192
- if ((next = part.match(RE_TAGNAME))) {
193
- token = TokenType.TagName
194
- state = State.InsideOpeningTag
195
- } else if ((next = part.match(RE_SLASH))) {
196
- token = TokenType.PunctuationTag
197
- state = State.AfterClosingTagAngleBrackets
198
- } else if ((next = part.match(RE_ANGLE_BRACKET_CLOSE))) {
199
- token = TokenType.PunctuationTag
200
- state = State.TopLevelContent
201
- } else if ((next = part.match(RE_ANY_TEXT))) {
202
- token = TokenType.Text
203
- state = State.TopLevelContent
204
- } else {
205
- part //?
206
- throw new Error('no')
207
- }
208
- break
209
- case State.InsideOpeningTag:
210
- if ((next = part.match(RE_ANGLE_BRACKET_CLOSE))) {
211
- token = TokenType.PunctuationTag
212
- state = State.TopLevelContent
213
- } else if ((next = part.match(RE_EXCLAMATION_MARK))) {
214
- token = TokenType.PunctuationTag
215
- state = State.InsideOpeningTag
216
- } else if ((next = part.match(RE_WHITESPACE))) {
217
- token = TokenType.Whitespace
218
- state = State.InsideOpeningTagAndHasSeenWhitespace
219
- } else if ((next = part.match(RE_DASH_DASH))) {
220
- token = TokenType.Comment
221
- state = State.InsideBlockComment
222
- } else if ((next = part.match(RE_TAG_TEXT))) {
223
- token = TokenType.Text
224
- state = State.InsideOpeningTag
225
- } else {
226
- part //?
227
- throw new Error('no')
228
- }
229
- break
230
- case State.AfterClosingTagAngleBrackets:
231
- if ((next = part.match(RE_TAGNAME))) {
232
- token = TokenType.TagName
233
- state = State.AfterClosingTagName
234
- } else if ((next = part.match(RE_ANY_TEXT))) {
235
- token = TokenType.Text
236
- state = State.TopLevelContent
237
- } else {
238
- part //?
239
- throw new Error('no')
240
- }
241
- break
242
- case State.AfterClosingTagName:
243
- if ((next = part.match(RE_ANGLE_BRACKET_CLOSE))) {
244
- token = TokenType.PunctuationTag
245
- state = State.TopLevelContent
246
- } else if ((next = part.match(RE_TEXT))) {
247
- token = TokenType.Text
248
- state = State.TopLevelContent
249
- } else {
250
- throw new Error('no')
251
- }
252
- break
253
- case State.InsideOpeningTagAndHasSeenWhitespace:
254
- if ((next = part.match(RE_ATTRIBUTE_NAME))) {
255
- token = TokenType.AttributeName
256
- state = State.AfterAttributeName
257
- } else if ((next = part.match(RE_SELF_CLOSING))) {
258
- token = TokenType.PunctuationTag
259
- state = State.TopLevelContent
260
- } else if ((next = part.match(RE_ANGLE_BRACKET_CLOSE))) {
261
- token = TokenType.PunctuationTag
262
- state = State.TopLevelContent
263
- } else if ((next = part.match(RE_TAG_TEXT))) {
264
- token = TokenType.Text
265
- state = State.TopLevelContent
266
- } else {
267
- part //?
268
- throw new Error('no')
269
- }
270
- break
271
- case State.AfterAttributeName:
272
- if ((next = part.match(RE_ANGLE_BRACKET_CLOSE))) {
273
- token = TokenType.PunctuationTag
274
- state = State.TopLevelContent
275
- } else if ((next = part.match(RE_EQUAL_SIGN))) {
276
- token = TokenType.Punctuation
277
- state = State.AfterAttributeEqualSign
278
- } else if ((next = part.match(RE_DOUBLE_QUOTE))) {
279
- token = TokenType.PunctuationString
280
- state = State.InsideDoubleQuoteString
281
- } else if ((next = part.match(RE_SINGLE_QUOTE))) {
282
- token = TokenType.PunctuationString
283
- state = State.InsideSingleQuoteString
284
- } else if ((next = part.match(RE_TAG_TEXT))) {
285
- token = TokenType.Text
286
- state = State.InsideOpeningTag
287
- } else if ((next = part.match(RE_WHITESPACE))) {
288
- token = TokenType.Whitespace
289
- state = State.InsideOpeningTagAndHasSeenWhitespace
290
- } else {
291
- // TODO check quotation mark
292
- part //?
293
- throw new Error('no')
294
- }
295
- break
296
- case State.AfterAttributeEqualSign:
297
- if ((next = part.match(RE_DOUBLE_QUOTE))) {
298
- token = TokenType.PunctuationString
299
- state = State.InsideDoubleQuoteString
300
- } else if ((next = part.match(RE_SINGLE_QUOTE))) {
301
- token = TokenType.PunctuationString
302
- state = State.InsideSingleQuoteString
303
- } else if ((next = part.match(RE_ANGLE_BRACKET_CLOSE))) {
304
- token = TokenType.PunctuationTag
305
- state = State.TopLevelContent
306
- } else {
307
- throw new Error('no')
308
- }
309
- break
310
- case State.InsideDoubleQuoteString:
311
- if ((next = part.match(RE_DOUBLE_QUOTE))) {
312
- token = TokenType.PunctuationString
313
- state = State.InsideOpeningTag
314
- } else if ((next = part.match(RE_STRING_DOUBLE_QUOTE_CONTENT))) {
315
- token = TokenType.String
316
- state = State.InsideDoubleQuoteString
317
- } else {
318
- throw new Error('no')
319
- }
320
- break
321
- case State.InsideSingleQuoteString:
322
- if ((next = part.match(RE_SINGLE_QUOTE))) {
323
- token = TokenType.PunctuationString
324
- state = State.InsideOpeningTag
325
- } else if ((next = part.match(RE_STRING_SINGLE_QUOTE_CONTENT))) {
326
- token = TokenType.String
327
- state = State.InsideSingleQuoteString
328
- } else {
329
- throw new Error('no')
330
- }
331
- break
332
- case State.InsideBlockComment:
333
- if ((next = part.match(RE_BLOCK_COMMENT_END))) {
334
- token = TokenType.Comment
335
- state = State.TopLevelContent
336
- } else if ((next = part.match(RE_BLOCK_COMMENT_CONTENT))) {
337
- token = TokenType.Comment
338
- state = State.InsideBlockComment
339
- } else {
340
- throw new Error('no')
341
- }
342
- break
343
- case State.AfterTripleBackTick:
344
- if ((next = part.match(RE_WORD))) {
345
- token = TokenType.String
346
- state = State.AfterTripleBackTickAfterLanguageId
347
- } else if ((next = part.match(RE_WHITESPACE))) {
348
- token = TokenType.Whitespace
349
- state = State.AfterTripleBackTick
350
- } else {
351
- throw new Error('no')
352
- }
353
- break
354
- case State.AfterTripleBackTickAfterLanguageId:
355
- if ((next = part.match(RE_TRIPLE_BACKTICK))) {
356
- token = TokenType.PunctuationString
357
- state = State.TopLevelContent
358
- } else if ((next = part.match(RE_TRIPLE_QUOTED_STRING_CONTENT))) {
359
- token = TokenType.String
360
- state = State.AfterTripleBackTickAfterLanguageId
361
- } else if ((next = part.match(RE_QUOTE_BACKTICK))) {
362
- token = TokenType.Text
363
- state = State.AfterTripleBackTickAfterLanguageId
364
- } else {
365
- part
366
- throw new Error('no')
367
- }
368
- break
369
- case State.InsideBackTickString:
370
- if ((next = part.match(RE_QUOTE_BACKTICK))) {
371
- token = TokenType.Punctuation
372
- state = State.TopLevelContent
373
- } else if ((next = part.match(RE_STRING_BACKTICK_QUOTE_CONTENT))) {
374
- token = TokenType.MarkdownString
375
- state = State.InsideBackTickString
376
- } else if ((next = part.match(RE_STRING_ESCAPE))) {
377
- token = TokenType.String
378
- state = State.InsideBackTickString
379
- } else {
380
- throw new Error('no')
381
- }
382
- break
383
- default:
384
- state
385
- throw new Error('no')
386
- }
387
- const tokenLength = next[0].length
388
- index += tokenLength
389
- tokens.push(token, tokenLength)
390
- }
391
- return {
392
- state,
393
- tokens,
394
- }
395
- }
@@ -1,14 +0,0 @@
1
- # Language Basics Nvmrc
2
-
3
- ## Contributing
4
-
5
- ```sh
6
- git clone git@github.com:lvce-editor/language-basics-nvmrc.git &&
7
- cd language-basics-nvmrc &&
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-nvmrc)
@@ -1,12 +0,0 @@
1
- {
2
- "id": "builtin.language-basics-nvmrc",
3
- "name": "Language Basics nvmrc",
4
- "description": "Provides syntax highlighting and bracket matching in nvmrc files.",
5
- "languages": [
6
- {
7
- "id": "nvmrc",
8
- "extensions": [".nvmrc"],
9
- "tokenize": "src/tokenizeNvmrc.js"
10
- }
11
- ]
12
- }
@@ -1,30 +0,0 @@
1
- /**
2
- * @enum number
3
- */
4
- export const TokenType = {
5
- Text: 1,
6
- Numeric: 2,
7
- }
8
-
9
- export const TokenMap = {
10
- [TokenType.Text]: 'Text',
11
- [TokenType.Numeric]: 'Numeric',
12
- }
13
-
14
- export const initialLineState = {
15
- state: 1,
16
- tokens: [],
17
- }
18
-
19
- export const hasArrayReturn = true
20
-
21
- /**
22
- * @param {string} line
23
- */
24
- export const tokenizeLine = (line) => {
25
- const tokens = [TokenType.Numeric, line.length]
26
- return {
27
- state: 1,
28
- tokens,
29
- }
30
- }
@@ -1,14 +0,0 @@
1
- # Language Basics Perl
2
-
3
- ## Contributing
4
-
5
- ```sh
6
- git clone git@github.com:lvce-editor/language-basics-perl.git &&
7
- cd language-basics-perl &&
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-perl)
@@ -1,13 +0,0 @@
1
- {
2
- "id": "builtin.language-basics-perl",
3
- "name": "Language Basics Perl",
4
- "description": "Provides syntax highlighting and bracket matching in Perl files.",
5
- "languages": [
6
- {
7
- "id": "perl",
8
- "extensions": [".pl", ".pm", ".pod", ".t", ".pL", ".psgi"],
9
- "tokenize": "src/tokenizePerl.js",
10
- "firstLine": "^#!.*\\bperl\\b"
11
- }
12
- ]
13
- }
@@ -1,200 +0,0 @@
1
- /**
2
- * @enum number
3
- */
4
- export const State = {
5
- TopLevelContent: 1,
6
- InsideString: 2,
7
- InsideLineComment: 3,
8
- InsideSingleQuoteString: 4,
9
- }
10
-
11
- export const StateMap = {
12
- [State.TopLevelContent]: 'TopLevelContent',
13
- }
14
-
15
- /**
16
- * @enum number
17
- */
18
- export const TokenType = {
19
- None: 1,
20
- Whitespace: 2,
21
- PunctuationString: 3,
22
- String: 4,
23
- Keyword: 5,
24
- Numeric: 6,
25
- Punctuation: 7,
26
- VariableName: 8,
27
- Comment: 885,
28
- Text: 9,
29
- KeywordControl: 10,
30
- KeywordReturn: 11,
31
- Function: 12,
32
- }
33
-
34
- export const TokenMap = {
35
- [TokenType.None]: 'None',
36
- [TokenType.Whitespace]: 'Whitespace',
37
- [TokenType.PunctuationString]: 'PunctuationString',
38
- [TokenType.String]: 'String',
39
- [TokenType.Keyword]: 'Keyword',
40
- [TokenType.Numeric]: 'Numeric',
41
- [TokenType.Punctuation]: 'Punctuation',
42
- [TokenType.VariableName]: 'VariableName',
43
- [TokenType.Comment]: 'Comment',
44
- [TokenType.Text]: 'Text',
45
- [TokenType.KeywordControl]: 'KeywordControl',
46
- [TokenType.KeywordReturn]: 'KeywordReturn',
47
- [TokenType.Function]: 'Function',
48
- }
49
-
50
- const RE_LINE_COMMENT = /^#.*/s
51
- const RE_SELECTOR = /^[\.a-zA-Z\d\-\:>]+/
52
- const RE_WHITESPACE = /^\s+/
53
- const RE_CURLY_OPEN = /^\{/
54
- const RE_CURLY_CLOSE = /^\}/
55
- const RE_PROPERTY_NAME = /^[a-zA-Z\-]+\b/
56
- const RE_COLON = /^:/
57
- const RE_PROPERTY_VALUE = /^[^;\}]+/
58
- const RE_SEMICOLON = /^;/
59
- const RE_COMMA = /^,/
60
- const RE_ANYTHING = /^.+/s
61
- const RE_ANYTHING_UNTIL_CLOSE_BRACE = /^[^\}]+/
62
- const RE_QUOTE_DOUBLE = /^"/
63
- const RE_STRING_DOUBLE_QUOTE_CONTENT = /^[^"]+/
64
- const RE_KEYWORD =
65
- /^(?:case|continue|default|die|my|no|else|elsif|eval|exit|for|foreach|given|goto|if|last|next|push|print|redo|require|return|select|shift|sub|switch|unless|unshift|until|use|wait|when|while)\b/
66
- const RE_STRING_SINGLE_QUOTE_CONTENT = /^[^']+/
67
- const RE_VARIABLE_NAME = /^[$a-zA-Z\_@%]+/
68
- const RE_PUNCTUATION =
69
- /^[:,;\{\}\[\]\.=\(\)<>\\\-\?~\|\/\[\\*\$\]^!&\+\{\}\(\)]/
70
- const RE_NUMERIC = /^\d+/
71
- const RE_QUOTE_BACKTICK = /^`/
72
- const RE_QUOTE_SINGLE = /^'/
73
- const RE_FUNCTION_NAME = /^\w+(?=\s*\()/
74
-
75
- export const initialLineState = {
76
- state: State.TopLevelContent,
77
- tokens: [],
78
- }
79
-
80
- /**
81
- *
82
- * @param {any} lineStateA
83
- * @param {any} lineStateB
84
- * @returns
85
- */
86
- export const isEqualLineState = (lineStateA, lineStateB) => {
87
- return lineStateA.state === lineStateB.state
88
- }
89
-
90
- export const hasArrayReturn = true
91
-
92
- /**
93
- * @param {string} line
94
- * @param {any} lineState
95
- */
96
- export const tokenizeLine = (line, lineState) => {
97
- let next = null
98
- let index = 0
99
- let tokens = []
100
- let token = TokenType.None
101
- let state = lineState.state
102
- while (index < line.length) {
103
- const part = line.slice(index)
104
- switch (state) {
105
- case State.TopLevelContent:
106
- if ((next = part.match(RE_WHITESPACE))) {
107
- token = TokenType.Whitespace
108
- state = State.TopLevelContent
109
- } else if ((next = part.match(RE_KEYWORD))) {
110
- switch (next[0]) {
111
- case 'unless':
112
- case 'foreach':
113
- case 'if':
114
- case 'while':
115
- case 'next':
116
- case 'else':
117
- case 'last':
118
- case 'elsif':
119
- token = TokenType.KeywordControl
120
- break
121
- case 'return':
122
- token = TokenType.KeywordReturn
123
- break
124
- case 'shift':
125
- case 'unshift':
126
- case 'push':
127
- case 'eval':
128
- case 'exit':
129
- case 'die':
130
- case 'print':
131
- token = TokenType.Function
132
- break
133
- default:
134
- token = TokenType.Keyword
135
- break
136
- }
137
- state = State.TopLevelContent
138
- } else if ((next = part.match(RE_PUNCTUATION))) {
139
- token = TokenType.Punctuation
140
- state = State.TopLevelContent
141
- } else if ((next = part.match(RE_FUNCTION_NAME))) {
142
- token = TokenType.Function
143
- state = State.TopLevelContent
144
- } else if ((next = part.match(RE_VARIABLE_NAME))) {
145
- token = TokenType.VariableName
146
- state = State.TopLevelContent
147
- } else if ((next = part.match(RE_NUMERIC))) {
148
- token = TokenType.Numeric
149
- state = State.TopLevelContent
150
- } else if ((next = part.match(RE_QUOTE_DOUBLE))) {
151
- token = TokenType.PunctuationString
152
- state = State.InsideString
153
- } else if ((next = part.match(RE_QUOTE_SINGLE))) {
154
- token = TokenType.Punctuation
155
- state = State.InsideSingleQuoteString
156
- } else if ((next = part.match(RE_LINE_COMMENT))) {
157
- token = TokenType.Comment
158
- state = State.TopLevelContent
159
- } else if ((next = part.match(RE_ANYTHING))) {
160
- token = TokenType.Text
161
- state = State.TopLevelContent
162
- } else {
163
- part //?
164
- throw new Error('no')
165
- }
166
- break
167
- case State.InsideString:
168
- if ((next = part.match(RE_QUOTE_DOUBLE))) {
169
- token = TokenType.PunctuationString
170
- state = State.TopLevelContent
171
- } else if ((next = part.match(RE_STRING_DOUBLE_QUOTE_CONTENT))) {
172
- token = TokenType.String
173
- state = State.InsideString
174
- } else {
175
- throw new Error('no')
176
- }
177
- break
178
- case State.InsideSingleQuoteString:
179
- if ((next = part.match(RE_QUOTE_SINGLE))) {
180
- token = TokenType.Punctuation
181
- state = State.TopLevelContent
182
- } else if ((next = part.match(RE_STRING_SINGLE_QUOTE_CONTENT))) {
183
- token = TokenType.String
184
- state = State.InsideSingleQuoteString
185
- } else {
186
- throw new Error('no')
187
- }
188
- break
189
- default:
190
- throw new Error('no')
191
- }
192
- const tokenLength = next[0].length
193
- index += tokenLength
194
- tokens.push(token, tokenLength)
195
- }
196
- return {
197
- state,
198
- tokens,
199
- }
200
- }
@@ -1,14 +0,0 @@
1
- # Language Basics Plaintext
2
-
3
- ## Contributing
4
-
5
- ```sh
6
- git clone git@github.com:lvce-editor/language-basics-plaintext.git &&
7
- cd language-basics-plaintext &&
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-plaintext)