@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,181 +0,0 @@
1
- /**
2
- * @enum number
3
- */
4
- const State = {
5
- None: 0,
6
- TopLevelContent: 1,
7
- InsideSingleQuoteString: 2,
8
- InsideDoubleQuoteString: 3,
9
- InsideTripleQuoteString: 4,
10
- }
11
-
12
- /**
13
- * @enum number
14
- */
15
- export const TokenType = {
16
- None: 99999999,
17
- Keyword: 951,
18
- Whitespace: 0,
19
- NewLine: 771,
20
- VariableName: 2,
21
- Punctuation: 3,
22
- String: 4,
23
- Numeric: 5,
24
- Attribute: 6,
25
- KeywordReturn: 8,
26
- LanguageConstant: 9,
27
- KeywordImport: 10,
28
- KeywordControl: 11,
29
- KeywordOperator: 12,
30
- KeywordFunction: 13,
31
- }
32
-
33
- export const TokenMap = {
34
- [TokenType.None]: 'None',
35
- [TokenType.Keyword]: 'Keyword',
36
- [TokenType.Whitespace]: 'Whitespace',
37
- [TokenType.NewLine]: 'NewLine',
38
- [TokenType.VariableName]: 'VariableName',
39
- [TokenType.Punctuation]: 'Punctuation',
40
- [TokenType.String]: 'String',
41
- [TokenType.Numeric]: 'Numeric',
42
- [TokenType.Attribute]: 'Attribute',
43
- [TokenType.KeywordReturn]: 'KeywordReturn',
44
- [TokenType.KeywordImport]: 'KeywordImport',
45
- [TokenType.LanguageConstant]: 'LanguageConstant',
46
- [TokenType.KeywordControl]: 'KeywordControl',
47
- [TokenType.KeywordOperator]: 'KeywordOperator',
48
- [TokenType.KeywordFunction]: 'KeywordFunction',
49
- }
50
-
51
- export const initialLineState = {
52
- state: State.TopLevelContent,
53
- }
54
-
55
- export const hasArrayReturn = true
56
-
57
- const RE_KEYWORD =
58
- /^(?:baremodule|begin|break|catch|ccall|const|continue|do|else|elseif|end|export|false|finally|for|function|global|if|import|in|isa|let|local|macro|module|quote|return|true|try|using|where|while)\b/
59
- const RE_WHITESPACE = /^\s+/
60
- const RE_VARIABLE_NAME = /^[A-Za-z_\u00A1-\uFFFF][A-Za-z_0-9\u00A1-\uFFFF]*/
61
- const RE_PUNCTUATION = /^[:,;\{\}\[\]\.=\(\)>\^\+\-\<\?]/
62
- const RE_QUOTE_SINGLE = /^'/
63
- const RE_QUOTE_DOUBLE = /^"/
64
- const RE_STRING_SINGLE_QUOTE_CONTENT = /^[^']+/
65
- const RE_STRING_DOUBLE_QUOTE_CONTENT = /^[^"]+/
66
- const RE_NUMERIC = /^\d+/
67
-
68
- /**
69
- * @param {string} line
70
- * @param {any} lineState
71
- */
72
- export const tokenizeLine = (line, lineState) => {
73
- let next = null
74
- let index = 0
75
- let tokens = []
76
- let token = TokenType.None
77
- let state = lineState.state
78
- while (index < line.length) {
79
- const part = line.slice(index)
80
- switch (state) {
81
- case State.TopLevelContent:
82
- if ((next = part.match(RE_WHITESPACE))) {
83
- token = TokenType.Whitespace
84
- state = State.TopLevelContent
85
- } else if ((next = part.match(RE_KEYWORD))) {
86
- switch (next[0]) {
87
- case 'true':
88
- case 'false':
89
- token = TokenType.LanguageConstant
90
- break
91
- case 'import':
92
- case 'export':
93
- token = TokenType.KeywordImport
94
- break
95
- case 'begin':
96
- case 'break':
97
- case 'catch':
98
- case 'continue':
99
- case 'do':
100
- case 'else':
101
- case 'elseif':
102
- case 'end':
103
- case 'finally':
104
- case 'for':
105
- case 'if':
106
- case 'try':
107
- case 'catch':
108
- case 'finally':
109
- case 'continue':
110
- case 'while':
111
- token = TokenType.KeywordControl
112
- break
113
- case 'return':
114
- token = TokenType.KeywordReturn
115
- break
116
- case 'in':
117
- token = TokenType.KeywordOperator
118
- break
119
- case 'function':
120
- token = TokenType.KeywordFunction
121
- break
122
- default:
123
- token = TokenType.Keyword
124
- break
125
- }
126
- state = State.TopLevelContent
127
- } else if ((next = part.match(RE_VARIABLE_NAME))) {
128
- token = TokenType.VariableName
129
- state = State.TopLevelContent
130
- } else if ((next = part.match(RE_PUNCTUATION))) {
131
- token = TokenType.Punctuation
132
- state = State.TopLevelContent
133
- } else if ((next = part.match(RE_NUMERIC))) {
134
- token = TokenType.Numeric
135
- state = State.TopLevelContent
136
- } else if ((next = part.match(RE_QUOTE_SINGLE))) {
137
- token = TokenType.Punctuation
138
- state = State.InsideSingleQuoteString
139
- } else if ((next = part.match(RE_QUOTE_DOUBLE))) {
140
- token = TokenType.Punctuation
141
- state = State.InsideDoubleQuoteString
142
- } else {
143
- part //?
144
- throw new Error('no')
145
- }
146
- break
147
- case State.InsideSingleQuoteString:
148
- if ((next = part.match(RE_QUOTE_SINGLE))) {
149
- token = TokenType.Punctuation
150
- state = State.TopLevelContent
151
- } else if ((next = part.match(RE_STRING_SINGLE_QUOTE_CONTENT))) {
152
- token = TokenType.String
153
- state = State.InsideSingleQuoteString
154
- } else {
155
- throw new Error('no')
156
- }
157
- break
158
- case State.InsideDoubleQuoteString:
159
- if ((next = part.match(RE_QUOTE_DOUBLE))) {
160
- token = TokenType.Punctuation
161
- state = State.TopLevelContent
162
- } else if ((next = part.match(RE_STRING_DOUBLE_QUOTE_CONTENT))) {
163
- token = TokenType.String
164
- state = State.InsideDoubleQuoteString
165
- } else {
166
- throw new Error('no')
167
- }
168
- break
169
- default:
170
- state
171
- throw new Error('no')
172
- }
173
- const tokenLength = next[0].length
174
- index += tokenLength
175
- tokens.push(token, tokenLength)
176
- }
177
- return {
178
- state,
179
- tokens,
180
- }
181
- }
@@ -1,14 +0,0 @@
1
- # Language Basics Kotlin
2
-
3
- ## Contributing
4
-
5
- ```sh
6
- git clone git@github.com:lvce-editor/language-basics-kotlin.git &&
7
- cd language-basics-kotlin &&
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-kotlin)
@@ -1,12 +0,0 @@
1
- {
2
- "id": "builtin.language-basics-kotlin",
3
- "name": "Language Basics Kotlin",
4
- "description": "Provides syntax highlighting and bracket matching in Kotlin files.",
5
- "languages": [
6
- {
7
- "id": "kotlin",
8
- "extensions": [".kt"],
9
- "tokenize": "src/tokenizeKotlin.js"
10
- }
11
- ]
12
- }
@@ -1,274 +0,0 @@
1
- /**
2
- * @enum number
3
- */
4
- export const State = {
5
- TopLevelContent: 1,
6
- InsideString: 2,
7
- InsideBlockComment: 10,
8
- }
9
-
10
- export const StateMap = {
11
- [State.TopLevelContent]: 'TopLevelContent',
12
- }
13
-
14
- /**
15
- * @enum number
16
- */
17
- export const TokenType = {
18
- None: 1,
19
- Whitespace: 2,
20
- PunctuationString: 3,
21
- String: 4,
22
- Keyword: 5,
23
- Numeric: 6,
24
- Punctuation: 7,
25
- VariableName: 8,
26
- Comment: 60,
27
- Error: 141,
28
- NewLine: 771,
29
- LanguageConstant: 13,
30
- Regex: 14,
31
- KeywordImport: 215,
32
- KeywordControl: 881,
33
- KeywordModifier: 882,
34
- KeywordReturn: 883,
35
- KeywordNew: 884,
36
- FunctionName: 885,
37
- KeywordThis: 886,
38
- KeywordOperator: 887,
39
- KeywordFunction: 889,
40
- Class: 890,
41
- KeywordVoid: 891,
42
- }
43
-
44
- export const TokenMap = {
45
- [TokenType.None]: 'None',
46
- [TokenType.Whitespace]: 'Whitespace',
47
- [TokenType.PunctuationString]: 'PunctuationString',
48
- [TokenType.String]: 'String',
49
- [TokenType.Keyword]: 'Keyword',
50
- [TokenType.Numeric]: 'Numeric',
51
- [TokenType.Punctuation]: 'Punctuation',
52
- [TokenType.VariableName]: 'VariableName',
53
- [TokenType.Comment]: 'Comment',
54
- [TokenType.Error]: 'Error',
55
- [TokenType.PunctuationString]: 'PunctuationString',
56
- [TokenType.NewLine]: 'NewLine',
57
- [TokenType.Keyword]: 'Keyword',
58
- [TokenType.VariableName]: 'VariableName',
59
- [TokenType.LanguageConstant]: 'LanguageConstant',
60
- [TokenType.Regex]: 'Regex',
61
- [TokenType.KeywordImport]: 'KeywordImport',
62
- [TokenType.KeywordControl]: 'KeywordControl',
63
- [TokenType.KeywordModifier]: 'KeywordModifier',
64
- [TokenType.KeywordReturn]: 'KeywordReturn',
65
- [TokenType.KeywordNew]: 'KeywordNew',
66
- [TokenType.FunctionName]: 'Function',
67
- [TokenType.KeywordThis]: 'KeywordThis',
68
- [TokenType.KeywordOperator]: 'KeywordOperator',
69
- [TokenType.KeywordFunction]: 'KeywordFunction',
70
- [TokenType.KeywordVoid]: 'KeywordVoid',
71
- [TokenType.Class]: 'Class',
72
- }
73
-
74
- const RE_SELECTOR = /^[\.a-zA-Z\d\-\:>]+/
75
- const RE_WHITESPACE = /^ +/
76
- const RE_CURLY_OPEN = /^\{/
77
- const RE_CURLY_CLOSE = /^\}/
78
- const RE_PROPERTY_NAME = /^[a-zA-Z\-]+\b/
79
- const RE_COLON = /^:/
80
- const RE_PROPERTY_VALUE = /^[^;\}]+/
81
- const RE_SEMICOLON = /^;/
82
- const RE_COMMA = /^,/
83
- const RE_ANYTHING = /^.+/s
84
- const RE_ANYTHING_UNTIL_CLOSE_BRACE = /^[^\}]+/
85
- const RE_QUOTE_DOUBLE = /^"/
86
- const RE_STRING_DOUBLE_QUOTE_CONTENT = /^[^"]+/
87
- const RE_KEYWORD =
88
- /^(?:while|when|var|val|typeof|typealias|try|true|throw|this|super|return|package|object|null|is|interface|in|if|fun|for|false|else|do|continue|class|break|as|enum|String)\b/
89
-
90
- const RE_VARIABLE_NAME = /^[a-zA-Z\_\$]+/
91
- const RE_NUMERIC = /^\d+/
92
- const RE_LINE_COMMENT = /^\/\/[^\n]*/
93
- const RE_BLOCK_COMMENT_START = /^\/\*/
94
- const RE_BLOCK_COMMENT_CONTENT = /^.+?(?=\*\/)/
95
- const RE_BLOCK_COMMENT_END = /^\*\//
96
- const RE_ANYTHING_UNTIL_END = /^.+/s
97
- const RE_PUNCTUATION = /^[\(\)=\+\-><\.:;\{\}\[\]!,&\|\^\?\*%~]/
98
- const RE_SLASH = /^\//
99
-
100
- export const initialLineState = {
101
- state: State.TopLevelContent,
102
- /**
103
- * @type {any[]}
104
- */
105
- tokens: [],
106
- }
107
-
108
- export const hasArrayReturn = true
109
-
110
- /**
111
- *
112
- * @param {any} lineStateA
113
- * @param {*} lineStateB
114
- * @returns
115
- */
116
- export const isEqualLineState = (lineStateA, lineStateB) => {
117
- return lineStateA.state === lineStateB.state
118
- }
119
-
120
- /**
121
- * @param {string} line
122
- * @param {any} lineState
123
- */
124
- export const tokenizeLine = (line, lineState) => {
125
- let next = null
126
- let index = 0
127
- let tokens = []
128
- let token = TokenType.None
129
- let state = lineState.state
130
- while (index < line.length) {
131
- const part = line.slice(index)
132
- switch (state) {
133
- case State.TopLevelContent:
134
- if ((next = part.match(RE_WHITESPACE))) {
135
- token = TokenType.Whitespace
136
- state = State.TopLevelContent
137
- } else if ((next = part.match(RE_KEYWORD))) {
138
- switch (next[0]) {
139
- case 'true':
140
- case 'false':
141
- case 'null':
142
- token = TokenType.LanguageConstant
143
- state = State.TopLevelContent
144
- break
145
- case 'switch':
146
- case 'default':
147
- case 'case':
148
- case 'else':
149
- case 'if':
150
- case 'break':
151
- case 'throw':
152
- case 'for':
153
- case 'try':
154
- case 'catch':
155
- case 'finally':
156
- case 'continue':
157
- case 'when':
158
- case 'while':
159
- case 'do':
160
- case 'in':
161
- token = TokenType.KeywordControl
162
- state = State.TopLevelContent
163
- break
164
- case 'return':
165
- token = TokenType.KeywordReturn
166
- state = State.TopLevelContent
167
- break
168
- case 'new':
169
- token = TokenType.KeywordNew
170
- state = State.TopLevelContent
171
- break
172
- case 'this':
173
- token = TokenType.KeywordThis
174
- state = State.TopLevelContent
175
- break
176
- case 'fun':
177
- token = TokenType.KeywordFunction
178
- state = State.TopLevelContent
179
- break
180
- case 'Infinity':
181
- token = TokenType.Numeric
182
- state = State.TopLevelContent
183
- break
184
- case 'of':
185
- token = TokenType.Keyword
186
- state = State.TopLevelContent
187
- break
188
- case 'class':
189
- case 'extends':
190
- token = TokenType.Keyword
191
- state = State.TopLevelContent
192
- break
193
- case 'var':
194
- case 'val':
195
- token = TokenType.Keyword
196
- state = State.TopLevelContent
197
- break
198
- default:
199
- token = TokenType.Keyword
200
- state = State.TopLevelContent
201
- break
202
- }
203
- } else if ((next = part.match(RE_PUNCTUATION))) {
204
- token = TokenType.Punctuation
205
- state = State.TopLevelContent
206
- } else if ((next = part.match(RE_VARIABLE_NAME))) {
207
- token = TokenType.VariableName
208
- state = State.TopLevelContent
209
- } else if ((next = part.match(RE_NUMERIC))) {
210
- token = TokenType.Numeric
211
- state = State.TopLevelContent
212
- } else if ((next = part.match(RE_QUOTE_DOUBLE))) {
213
- token = TokenType.PunctuationString
214
- state = State.InsideString
215
- } else if ((next = part.match(RE_LINE_COMMENT))) {
216
- token = TokenType.Comment
217
- state = State.TopLevelContent
218
- } else if ((next = part.match(RE_BLOCK_COMMENT_START))) {
219
- token = TokenType.Comment
220
- state = State.InsideBlockComment
221
- } else if ((next = part.match(RE_SLASH))) {
222
- if ((next = part.match(RE_BLOCK_COMMENT_START))) {
223
- token = TokenType.Comment
224
- state = State.InsideBlockComment
225
- } else if ((next = part.match(RE_LINE_COMMENT))) {
226
- token = TokenType.Comment
227
- state = State.TopLevelContent
228
- } else {
229
- next = part.match(RE_SLASH)
230
- token = TokenType.Punctuation
231
- state = State.TopLevelContent
232
- }
233
- } else {
234
- part //?
235
- throw new Error('no')
236
- }
237
- break
238
- case State.InsideString:
239
- if ((next = part.match(RE_QUOTE_DOUBLE))) {
240
- token = TokenType.PunctuationString
241
- state = State.TopLevelContent
242
- } else if ((next = part.match(RE_STRING_DOUBLE_QUOTE_CONTENT))) {
243
- token = TokenType.String
244
- state = State.InsideString
245
- } else {
246
- throw new Error('no')
247
- }
248
- break
249
- case State.InsideBlockComment:
250
- if ((next = part.match(RE_BLOCK_COMMENT_END))) {
251
- token = TokenType.Comment
252
- state = State.TopLevelContent
253
- } else if ((next = part.match(RE_BLOCK_COMMENT_CONTENT))) {
254
- token = TokenType.Comment
255
- state = State.InsideBlockComment
256
- } else if ((next = part.match(RE_ANYTHING_UNTIL_END))) {
257
- token = TokenType.Comment
258
- state = State.InsideBlockComment
259
- } else {
260
- throw new Error('no')
261
- }
262
- break
263
- default:
264
- throw new Error('no')
265
- }
266
- const tokenLength = next[0].length
267
- index += tokenLength
268
- tokens.push(token, tokenLength)
269
- }
270
- return {
271
- state,
272
- tokens,
273
- }
274
- }
@@ -1,21 +0,0 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2022-present, Lvce Editor
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in
13
- all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- THE SOFTWARE.
@@ -1,14 +0,0 @@
1
- # Language Basics Less
2
-
3
- ## Contributing
4
-
5
- ```sh
6
- git clone git@github.com:lvce-editor/language-basics-less.git &&
7
- cd language-basics-less &&
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-less)
@@ -1,12 +0,0 @@
1
- {
2
- "id": "builtin.language-basics-less",
3
- "name": "Language Basics Less",
4
- "description": "Provides syntax highlighting and bracket matching in Less files.",
5
- "languages": [
6
- {
7
- "id": "less",
8
- "extensions": [".less"],
9
- "tokenize": "src/tokenizeLess.js"
10
- }
11
- ]
12
- }
@@ -1,17 +0,0 @@
1
- {
2
- "comments": {
3
- "blockComment": ["/*", "*/"]
4
- },
5
- "brackets": [
6
- ["{", "}"],
7
- ["[", "]"],
8
- ["(", ")"]
9
- ],
10
- "autoClosingPairs": [
11
- { "open": "{", "close": "}", "notIn": ["string", "comment"] },
12
- { "open": "[", "close": "]", "notIn": ["string", "comment"] },
13
- { "open": "(", "close": ")", "notIn": ["string", "comment"] },
14
- { "open": "\"", "close": "\"", "notIn": ["string", "comment"] },
15
- { "open": "'", "close": "'", "notIn": ["string", "comment"] }
16
- ]
17
- }