@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,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)