@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,441 +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
- const RE_ATTRIBUTE_VALUE_UNQUOTED = /^[^<>\s]+/
106
-
107
- /**
108
- *
109
- * @param {string} attribute
110
- * @returns {string}
111
- */
112
- const getEmbeddedLanguageId = (attribute) => {
113
- switch (attribute) {
114
- case 'js':
115
- return 'javascript'
116
- case 'shell':
117
- return 'shellscript'
118
- case 'md':
119
- return 'markdown'
120
- case 'text':
121
- return 'plaintext'
122
- default:
123
- if (attribute.includes(':')) {
124
- const parts = attribute.split(':')
125
- const firstPart = parts[0]
126
- return getEmbeddedLanguageId(firstPart)
127
- }
128
- return attribute
129
- }
130
- }
131
-
132
- export const initialLineState = {
133
- state: State.TopLevelContent,
134
- embeddedLanguage: '',
135
- embeddedLanguageStart: 0,
136
- embeddedLanguageEnd: 0,
137
- }
138
-
139
- /**
140
- *
141
- * @param {any} lineStateA
142
- * @param {any} lineStateB
143
- * @returns
144
- */
145
- export const isLineStateEqual = (lineStateA, lineStateB) => {
146
- return lineStateA.state === lineStateB.state
147
- }
148
-
149
- export const hasArrayReturn = true
150
-
151
- /**
152
- *
153
- * @param {string} line
154
- * @param {any} lineState
155
- * @returns
156
- */
157
- export const tokenizeLine = (line, lineState) => {
158
- let next = null
159
- let index = 0
160
- let tokens = []
161
- let token = TokenType.None
162
- let state = lineState.state
163
- let embeddedLanguage = lineState.embeddedLanguage
164
- let embeddedLanguageStart = lineState.embeddedLanguageStart
165
- let embeddedLanguageEnd = lineState.embeddedLanguageEnd
166
- while (index < line.length) {
167
- const part = line.slice(index)
168
- switch (state) {
169
- case State.TopLevelContent:
170
- if ((next = part.match(RE_BLOCK_COMMENT_START))) {
171
- token = TokenType.Comment
172
- state = State.InsideBlockComment
173
- } else if ((next = part.match(RE_ANGLE_BRACKET_OPEN_TAG))) {
174
- token = TokenType.PunctuationTag
175
- state = State.AfterOpeningAngleBracket
176
- } else if ((next = part.match(RE_HEADING))) {
177
- token = TokenType.Heading
178
- } else if ((next = part.match(RE_TRIPLE_BACKTICK))) {
179
- token = TokenType.PunctuationString
180
- state = State.AfterTripleBackTick
181
- } else if ((next = part.match(RE_TEXT))) {
182
- token = TokenType.Text
183
- state = State.TopLevelContent
184
- } else if ((next = part.match(RE_QUOTE_BACKTICK))) {
185
- token = TokenType.Punctuation
186
- state = State.InsideBackTickString
187
- } else if ((next = part.match(RE_ANGLE_BRACKET_CLOSE))) {
188
- token = TokenType.Text
189
- state = State.TopLevelContent
190
- } else if ((next = part.match(RE_ANGLE_BRACKET_OPEN))) {
191
- token = TokenType.Text
192
- state = State.TopLevelContent
193
- } else if ((next = part.match(RE_LINK))) {
194
- const tokenLength = next[0].length
195
- index += tokenLength
196
- const linkName = next[1]
197
- const linkUrl = next[2]
198
- tokens.push(
199
- TokenType.Punctuation,
200
- 1,
201
- TokenType.MarkdownLinkName,
202
- linkName.length,
203
- TokenType.Punctuation,
204
- 1,
205
- TokenType.Punctuation,
206
- 1,
207
- TokenType.MarkdownLinkUrl,
208
- linkUrl.length,
209
- TokenType.Punctuation,
210
- 1
211
- )
212
- tokens.push(token, tokenLength)
213
- continue
214
- } else if ((next = part.match(RE_ANYTHING_UNTIL_END))) {
215
- token = TokenType.Text
216
- state = State.TopLevelContent
217
- } else {
218
- part //?
219
- console.log({ part })
220
- throw new Error('no')
221
- }
222
- break
223
- case State.AfterOpeningAngleBracket:
224
- if ((next = part.match(RE_TAGNAME))) {
225
- token = TokenType.TagName
226
- state = State.InsideOpeningTag
227
- } else if ((next = part.match(RE_SLASH))) {
228
- token = TokenType.PunctuationTag
229
- state = State.AfterClosingTagAngleBrackets
230
- } else if ((next = part.match(RE_ANGLE_BRACKET_CLOSE))) {
231
- token = TokenType.PunctuationTag
232
- state = State.TopLevelContent
233
- } else if ((next = part.match(RE_ANY_TEXT))) {
234
- token = TokenType.Text
235
- state = State.TopLevelContent
236
- } else {
237
- part //?
238
- throw new Error('no')
239
- }
240
- break
241
- case State.InsideOpeningTag:
242
- if ((next = part.match(RE_ANGLE_BRACKET_CLOSE))) {
243
- token = TokenType.PunctuationTag
244
- state = State.TopLevelContent
245
- } else if ((next = part.match(RE_EXCLAMATION_MARK))) {
246
- token = TokenType.PunctuationTag
247
- state = State.InsideOpeningTag
248
- } else if ((next = part.match(RE_WHITESPACE))) {
249
- token = TokenType.Whitespace
250
- state = State.InsideOpeningTagAndHasSeenWhitespace
251
- } else if ((next = part.match(RE_DASH_DASH))) {
252
- token = TokenType.Comment
253
- state = State.InsideBlockComment
254
- } else if ((next = part.match(RE_TAG_TEXT))) {
255
- token = TokenType.Text
256
- state = State.InsideOpeningTag
257
- } else {
258
- part //?
259
- throw new Error('no')
260
- }
261
- break
262
- case State.AfterClosingTagAngleBrackets:
263
- if ((next = part.match(RE_TAGNAME))) {
264
- token = TokenType.TagName
265
- state = State.AfterClosingTagName
266
- } else if ((next = part.match(RE_ANY_TEXT))) {
267
- token = TokenType.Text
268
- state = State.TopLevelContent
269
- } else {
270
- part //?
271
- throw new Error('no')
272
- }
273
- break
274
- case State.AfterClosingTagName:
275
- if ((next = part.match(RE_ANGLE_BRACKET_CLOSE))) {
276
- token = TokenType.PunctuationTag
277
- state = State.TopLevelContent
278
- } else if ((next = part.match(RE_TEXT))) {
279
- token = TokenType.Text
280
- state = State.TopLevelContent
281
- } else {
282
- throw new Error('no')
283
- }
284
- break
285
- case State.InsideOpeningTagAndHasSeenWhitespace:
286
- if ((next = part.match(RE_ATTRIBUTE_NAME))) {
287
- token = TokenType.AttributeName
288
- state = State.AfterAttributeName
289
- } else if ((next = part.match(RE_SELF_CLOSING))) {
290
- token = TokenType.PunctuationTag
291
- state = State.TopLevelContent
292
- } else if ((next = part.match(RE_ANGLE_BRACKET_CLOSE))) {
293
- token = TokenType.PunctuationTag
294
- state = State.TopLevelContent
295
- } else if ((next = part.match(RE_TAG_TEXT))) {
296
- token = TokenType.Text
297
- state = State.TopLevelContent
298
- } else {
299
- part //?
300
- throw new Error('no')
301
- }
302
- break
303
- case State.AfterAttributeName:
304
- if ((next = part.match(RE_ANGLE_BRACKET_CLOSE))) {
305
- token = TokenType.PunctuationTag
306
- state = State.TopLevelContent
307
- } else if ((next = part.match(RE_EQUAL_SIGN))) {
308
- token = TokenType.Punctuation
309
- state = State.AfterAttributeEqualSign
310
- } else if ((next = part.match(RE_DOUBLE_QUOTE))) {
311
- token = TokenType.PunctuationString
312
- state = State.InsideDoubleQuoteString
313
- } else if ((next = part.match(RE_SINGLE_QUOTE))) {
314
- token = TokenType.PunctuationString
315
- state = State.InsideSingleQuoteString
316
- } else if ((next = part.match(RE_TAG_TEXT))) {
317
- token = TokenType.Text
318
- state = State.InsideOpeningTag
319
- } else if ((next = part.match(RE_WHITESPACE))) {
320
- token = TokenType.Whitespace
321
- state = State.InsideOpeningTagAndHasSeenWhitespace
322
- } else {
323
- // TODO check quotation mark
324
- part //?
325
- throw new Error('no')
326
- }
327
- break
328
- case State.AfterAttributeEqualSign:
329
- if ((next = part.match(RE_DOUBLE_QUOTE))) {
330
- token = TokenType.PunctuationString
331
- state = State.InsideDoubleQuoteString
332
- } else if ((next = part.match(RE_SINGLE_QUOTE))) {
333
- token = TokenType.PunctuationString
334
- state = State.InsideSingleQuoteString
335
- } else if ((next = part.match(RE_ANGLE_BRACKET_CLOSE))) {
336
- token = TokenType.PunctuationTag
337
- state = State.TopLevelContent
338
- } else if ((next = part.match(RE_ATTRIBUTE_VALUE_UNQUOTED))) {
339
- token = TokenType.String
340
- state = State.InsideOpeningTag
341
- } else {
342
- throw new Error('no')
343
- }
344
- break
345
- case State.InsideDoubleQuoteString:
346
- if ((next = part.match(RE_DOUBLE_QUOTE))) {
347
- token = TokenType.PunctuationString
348
- state = State.InsideOpeningTag
349
- } else if ((next = part.match(RE_STRING_DOUBLE_QUOTE_CONTENT))) {
350
- token = TokenType.String
351
- state = State.InsideDoubleQuoteString
352
- } else {
353
- throw new Error('no')
354
- }
355
- break
356
- case State.InsideSingleQuoteString:
357
- if ((next = part.match(RE_SINGLE_QUOTE))) {
358
- token = TokenType.PunctuationString
359
- state = State.InsideOpeningTag
360
- } else if ((next = part.match(RE_STRING_SINGLE_QUOTE_CONTENT))) {
361
- token = TokenType.String
362
- state = State.InsideSingleQuoteString
363
- } else {
364
- throw new Error('no')
365
- }
366
- break
367
- case State.InsideBlockComment:
368
- if ((next = part.match(RE_BLOCK_COMMENT_END))) {
369
- token = TokenType.Comment
370
- state = State.TopLevelContent
371
- } else if ((next = part.match(RE_BLOCK_COMMENT_CONTENT))) {
372
- token = TokenType.Comment
373
- state = State.InsideBlockComment
374
- } else {
375
- throw new Error('no')
376
- }
377
- break
378
- case State.AfterTripleBackTick:
379
- if ((next = part.match(RE_WORD))) {
380
- token = TokenType.String
381
- state = State.AfterTripleBackTickAfterLanguageId
382
- embeddedLanguage = getEmbeddedLanguageId(next[0])
383
- embeddedLanguageStart = index + next[0].length
384
- } else if ((next = part.match(RE_WHITESPACE))) {
385
- token = TokenType.Whitespace
386
- state = State.AfterTripleBackTick
387
- } else {
388
- throw new Error('no')
389
- }
390
- break
391
- case State.AfterTripleBackTickAfterLanguageId:
392
- if ((next = part.match(RE_TRIPLE_BACKTICK))) {
393
- token = TokenType.PunctuationString
394
- state = State.TopLevelContent
395
- embeddedLanguage = ''
396
- embeddedLanguageStart = 0
397
- embeddedLanguageEnd = 0
398
- } else if ((next = part.match(RE_TRIPLE_QUOTED_STRING_CONTENT))) {
399
- token = TokenType.String
400
- state = State.AfterTripleBackTickAfterLanguageId
401
- embeddedLanguageStart = Math.min(embeddedLanguageStart, index)
402
- embeddedLanguageEnd = index + next[0].length
403
- } else if ((next = part.match(RE_QUOTE_BACKTICK))) {
404
- token = TokenType.Text
405
- state = State.AfterTripleBackTickAfterLanguageId
406
- embeddedLanguageEnd = index + next[0].length
407
- } else {
408
- part
409
- throw new Error('no')
410
- }
411
- break
412
- case State.InsideBackTickString:
413
- if ((next = part.match(RE_QUOTE_BACKTICK))) {
414
- token = TokenType.Punctuation
415
- state = State.TopLevelContent
416
- } else if ((next = part.match(RE_STRING_BACKTICK_QUOTE_CONTENT))) {
417
- token = TokenType.MarkdownString
418
- state = State.InsideBackTickString
419
- } else if ((next = part.match(RE_STRING_ESCAPE))) {
420
- token = TokenType.String
421
- state = State.InsideBackTickString
422
- } else {
423
- throw new Error('no')
424
- }
425
- break
426
- default:
427
- state
428
- throw new Error('no')
429
- }
430
- const tokenLength = next[0].length
431
- index += tokenLength
432
- tokens.push(token, tokenLength)
433
- }
434
- return {
435
- state,
436
- tokens,
437
- embeddedLanguage,
438
- embeddedLanguageStart,
439
- embeddedLanguageEnd,
440
- }
441
- }
@@ -1,14 +0,0 @@
1
- # Language Basics Mdx
2
-
3
- ## Contributing
4
-
5
- ```sh
6
- git clone git@github.com:lvce-editor/language-basics-mdx.git &&
7
- cd language-basics-mdx &&
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-mdx)
@@ -1,12 +0,0 @@
1
- {
2
- "id": "builtin.language-basics-mdx",
3
- "name": "Language Basics Mdx",
4
- "description": "Provides syntax highlighting and bracket matching in Mdx files.",
5
- "languages": [
6
- {
7
- "id": "mdx",
8
- "extensions": [".mdx"],
9
- "tokenize": "src/tokenizeMdx.js"
10
- }
11
- ]
12
- }