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