@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,48 +0,0 @@
1
- {
2
- "id": "builtin.language-basics-ruby",
3
- "name": "Language Basics Ruby",
4
- "description": "Provides syntax highlighting and bracket matching in Ruby files.",
5
- "languages": [
6
- {
7
- "id": "ruby",
8
- "extensions": [
9
- ".rb",
10
- ".rbx",
11
- ".rjs",
12
- ".gemspec",
13
- ".rake",
14
- ".ru",
15
- ".erb",
16
- ".podspec",
17
- ".rbi"
18
- ],
19
- "fileNames": [
20
- "rakefile",
21
- "gemfile",
22
- "guardfile",
23
- "podfile",
24
- "capfile",
25
- "cheffile",
26
- "hobofile",
27
- "vagrantfile",
28
- "appraisals",
29
- "rantfile",
30
- "berksfile",
31
- "berksfile.lock",
32
- "thorfile",
33
- "puppetfile",
34
- "dangerfile",
35
- "brewfile",
36
- "fastfile",
37
- "appfile",
38
- "deliverfile",
39
- "matchfile",
40
- "scanfile",
41
- "snapfile",
42
- "gymfile"
43
- ],
44
- "firstLine": "^#!\\s*/.*\\bruby\\b",
45
- "tokenize": "src/tokenizeRuby.js"
46
- }
47
- ]
48
- }
@@ -1,248 +0,0 @@
1
- /**
2
- * @enum number
3
- */
4
- export const State = {
5
- TopLevelContent: 1,
6
- InsideDoubleQuoteString: 2,
7
- InsideSingleQuoteString: 3,
8
- InsideBackTickQuoteString: 4,
9
- InsideEof: 5,
10
- }
11
-
12
- export const StateMap = {
13
- [State.TopLevelContent]: 'TopLevelContent',
14
- }
15
-
16
- /**
17
- * @enum number
18
- */
19
- export const TokenType = {
20
- None: 1,
21
- Whitespace: 2,
22
- PunctuationString: 3,
23
- String: 4,
24
- Keyword: 5,
25
- Numeric: 6,
26
- Punctuation: 7,
27
- VariableName: 8,
28
- Comment: 9,
29
- KeywordControl: 10,
30
- LanguageConstant: 11,
31
- KeywordReturn: 12,
32
- Regex: 13,
33
- KeywordImport: 14,
34
- FunctionName: 15,
35
- }
36
-
37
- export const TokenMap = {
38
- [TokenType.None]: 'None',
39
- [TokenType.Whitespace]: 'Whitespace',
40
- [TokenType.PunctuationString]: 'PunctuationString',
41
- [TokenType.String]: 'String',
42
- [TokenType.Keyword]: 'Keyword',
43
- [TokenType.Numeric]: 'Numeric',
44
- [TokenType.Punctuation]: 'Punctuation',
45
- [TokenType.VariableName]: 'VariableName',
46
- [TokenType.Comment]: 'Comment',
47
- [TokenType.KeywordControl]: 'KeywordControl',
48
- [TokenType.LanguageConstant]: 'LanguageConstant',
49
- [TokenType.KeywordReturn]: 'KeywordReturn',
50
- [TokenType.Regex]: 'Regex',
51
- [TokenType.KeywordImport]: 'KeywordImport',
52
- [TokenType.FunctionName]: 'Function',
53
- }
54
-
55
- const RE_SELECTOR = /^[\.a-zA-Z\d\-\:>]+/
56
- const RE_WHITESPACE = /^ +/
57
- const RE_CURLY_OPEN = /^\{/
58
- const RE_CURLY_CLOSE = /^\}/
59
- const RE_PROPERTY_NAME = /^[a-zA-Z\-]+\b/
60
- const RE_COLON = /^:/
61
- const RE_PROPERTY_VALUE = /^[^;\}]+/
62
- const RE_SEMICOLON = /^;/
63
- const RE_COMMA = /^,/
64
- const RE_ANYTHING = /^.+/s
65
- const RE_ANYTHING_UNTIL_CLOSE_BRACE = /^[^\}]+/
66
- const RE_QUOTE_DOUBLE = /^"/
67
- const RE_QUOTE_SINGLE = /^'/
68
- const RE_QUOTE_BACKTICK = /^`/
69
- const RE_STRING_DOUBLE_QUOTE_CONTENT = /^[^"\\]+/
70
- const RE_STRING_SINGLE_QUOTE_CONTENT = /^[^'\\]+/
71
- const RE_STRING_BACKTICK_QUOTE_CONTENT = /^[^`]+/
72
- const RE_KEYWORD =
73
- /^(?:alias|and|begin|break|case|class|def|defined\?|do|else|elsif|end|ensure|false|for|if|in|module|next|nil|not|or|redo|require|rescue|retry|return|self|super|then|true|undef|unless|until|when|while|yield)\b/
74
- const RE_VARIABLE_NAME = /^[a-zA-Z\_\$]+/
75
- const RE_PUNCTUATION = /^[:,;\{\}\[\]\.=\(\)<>\-\|\&\+\?\!\%\*\/\@\~]/
76
- const RE_NUMERIC = /^\d+/
77
- const RE_LINE_COMMENT = /^#.*/s
78
- const RE_EOF_START = /^<<\-?\s*([\w\!]+)/
79
- const RE_EOF_CONTENT = /.*/s
80
- // const RE_REGEX = /^\/.+/
81
- const RE_REGEX = /^\/.*\//
82
- const RE_STRING_ESCAPE = /^\\./
83
- const RE_FUNCTION_CALL_NAME = /^[\w]+(?=(\s+(\"|\w|\-))|\(|!)/
84
-
85
- export const initialLineState = {
86
- state: State.TopLevelContent,
87
- tokens: [],
88
- stringEnd: '',
89
- }
90
-
91
- export const isEqualLineState = (lineStateA, lineStateB) => {
92
- return lineStateA.state === lineStateB.state
93
- }
94
-
95
- export const hasArrayReturn = true
96
-
97
- /**
98
- * @param {string} line
99
- */
100
- export const tokenizeLine = (line, lineState) => {
101
- let next = null
102
- let index = 0
103
- let tokens = []
104
- let token = TokenType.None
105
- let state = lineState.state
106
- let stringEnd = lineState.stringEnd
107
- while (index < line.length) {
108
- const part = line.slice(index)
109
- switch (state) {
110
- case State.TopLevelContent:
111
- if ((next = part.match(RE_WHITESPACE))) {
112
- token = TokenType.Whitespace
113
- state = State.TopLevelContent
114
- } else if ((next = part.match(RE_KEYWORD))) {
115
- switch (next[0]) {
116
- case 'break':
117
- case 'case':
118
- case 'do':
119
- case 'elsif':
120
- case 'else':
121
- case 'for':
122
- case 'if':
123
- case 'in':
124
- case 'then':
125
- case 'while':
126
- case 'end':
127
- case 'def':
128
- case 'begin':
129
- case 'rescue':
130
- case 'unless':
131
- token = TokenType.KeywordControl
132
- break
133
- case 'true':
134
- case 'false':
135
- case 'nil':
136
- token = TokenType.LanguageConstant
137
- break
138
- case 'return':
139
- token = TokenType.KeywordReturn
140
- break
141
- case 'require':
142
- token = TokenType.KeywordImport
143
- break
144
- default:
145
- token = TokenType.Keyword
146
- break
147
- }
148
- state = State.TopLevelContent
149
- } else if ((next = part.match(RE_EOF_START))) {
150
- token = TokenType.Punctuation
151
- state = State.InsideEof
152
- stringEnd = next[1]
153
- } else if ((next = part.match(RE_FUNCTION_CALL_NAME))) {
154
- token = TokenType.FunctionName
155
- state = State.TopLevelContent
156
- } else if ((next = part.match(RE_REGEX))) {
157
- token = TokenType.Regex
158
- state = State.TopLevelContent
159
- } else if ((next = part.match(RE_PUNCTUATION))) {
160
- token = TokenType.Punctuation
161
- state = State.TopLevelContent
162
- } else if ((next = part.match(RE_VARIABLE_NAME))) {
163
- token = TokenType.VariableName
164
- state = State.TopLevelContent
165
- } else if ((next = part.match(RE_NUMERIC))) {
166
- token = TokenType.Numeric
167
- state = State.TopLevelContent
168
- } else if ((next = part.match(RE_QUOTE_DOUBLE))) {
169
- token = TokenType.PunctuationString
170
- state = State.InsideDoubleQuoteString
171
- } else if ((next = part.match(RE_QUOTE_SINGLE))) {
172
- token = TokenType.Punctuation
173
- state = State.InsideSingleQuoteString
174
- } else if ((next = part.match(RE_QUOTE_BACKTICK))) {
175
- token = TokenType.Punctuation
176
- state = State.InsideBackTickQuoteString
177
- } else if ((next = part.match(RE_LINE_COMMENT))) {
178
- token = TokenType.Comment
179
- state = State.TopLevelContent
180
- } else {
181
- console.log({ part })
182
- part //?
183
- throw new Error('no')
184
- }
185
- break
186
- case State.InsideDoubleQuoteString:
187
- if ((next = part.match(RE_QUOTE_DOUBLE))) {
188
- token = TokenType.PunctuationString
189
- state = State.TopLevelContent
190
- } else if ((next = part.match(RE_STRING_DOUBLE_QUOTE_CONTENT))) {
191
- token = TokenType.String
192
- state = State.InsideDoubleQuoteString
193
- } else if ((next = part.match(RE_STRING_ESCAPE))) {
194
- token = TokenType.String
195
- state = State.InsideDoubleQuoteString
196
- } else {
197
- throw new Error('no')
198
- }
199
- break
200
- case State.InsideSingleQuoteString:
201
- if ((next = part.match(RE_QUOTE_SINGLE))) {
202
- token = TokenType.PunctuationString
203
- state = State.TopLevelContent
204
- } else if ((next = part.match(RE_STRING_SINGLE_QUOTE_CONTENT))) {
205
- token = TokenType.String
206
- state = State.InsideSingleQuoteString
207
- } else if ((next = part.match(RE_STRING_ESCAPE))) {
208
- token = TokenType.String
209
- state = State.InsideSingleQuoteString
210
- } else {
211
- throw new Error('no')
212
- }
213
- break
214
- case State.InsideBackTickQuoteString:
215
- if ((next = part.match(RE_QUOTE_BACKTICK))) {
216
- token = TokenType.PunctuationString
217
- state = State.TopLevelContent
218
- } else if ((next = part.match(RE_STRING_BACKTICK_QUOTE_CONTENT))) {
219
- token = TokenType.String
220
- state = State.InsideBackTickQuoteString
221
- } else {
222
- throw new Error('no')
223
- }
224
- break
225
- case State.InsideEof:
226
- if ((next = part.match(stringEnd))) {
227
- token = TokenType.Punctuation
228
- state = State.TopLevelContent
229
- } else if ((next = part.match(RE_EOF_CONTENT))) {
230
- token = TokenType.String
231
- state = State.InsideEof
232
- } else {
233
- throw new Error('no')
234
- }
235
- break
236
- default:
237
- throw new Error('no')
238
- }
239
- const tokenLength = next[0].length
240
- index += tokenLength
241
- tokens.push(token, tokenLength)
242
- }
243
- return {
244
- state,
245
- tokens,
246
- stringEnd,
247
- }
248
- }
@@ -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 Rust
2
-
3
- ## Contributing
4
-
5
- ```sh
6
- git clone git@github.com:lvce-editor/language-basics-rust.git &&
7
- cd language-basics-rust &&
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-rust)
@@ -1,12 +0,0 @@
1
- {
2
- "id": "builtin.language-basics-rust",
3
- "name": "Language Basics Rust",
4
- "description": "Provides syntax highlighting and bracket matching in Rust files.",
5
- "languages": [
6
- {
7
- "id": "rust",
8
- "extensions": [".rs"],
9
- "tokenize": "src/tokenizeRust.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
- }
@@ -1,158 +0,0 @@
1
- /**
2
- * @enum number
3
- */
4
- export const State = {
5
- TopLevelContent: 1,
6
- InsideString: 2,
7
- InsideLineComment: 3,
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: 885,
27
- Text: 9,
28
- LanguageConstant: 10,
29
- }
30
-
31
- export const TokenMap = {
32
- [TokenType.None]: 'None',
33
- [TokenType.Whitespace]: 'Whitespace',
34
- [TokenType.PunctuationString]: 'PunctuationString',
35
- [TokenType.String]: 'String',
36
- [TokenType.Keyword]: 'Keyword',
37
- [TokenType.Numeric]: 'Numeric',
38
- [TokenType.Punctuation]: 'Punctuation',
39
- [TokenType.VariableName]: 'VariableName',
40
- [TokenType.Comment]: 'Comment',
41
- [TokenType.Text]: 'Text',
42
-
43
- [TokenType.LanguageConstant]: 'LanguageConstant',
44
- }
45
-
46
- const RE_LINE_COMMENT_START = /^\/\//
47
- const RE_SELECTOR = /^[\.a-zA-Z\d\-\:>]+/
48
- const RE_WHITESPACE = /^ +/
49
- const RE_CURLY_OPEN = /^\{/
50
- const RE_CURLY_CLOSE = /^\}/
51
- const RE_PROPERTY_NAME = /^[a-zA-Z\-]+\b/
52
- const RE_COLON = /^:/
53
- const RE_PROPERTY_VALUE = /^[^;\}]+/
54
- const RE_SEMICOLON = /^;/
55
- const RE_COMMA = /^,/
56
- const RE_ANYTHING = /^.+/s
57
- const RE_ANYTHING_UNTIL_CLOSE_BRACE = /^[^\}]+/
58
- const RE_QUOTE_DOUBLE = /^"/
59
- const RE_STRING_DOUBLE_QUOTE_CONTENT = /^[^"]+/
60
- const RE_KEYWORD =
61
- /^(?:as|break|const|continue|crate|else|enum|extern|false|fn|for|if|impl|in|let|loop|match|mod|move|mut|pub|ref|return|self|static|struct|super|trait|true|type|unsafe|where|while)\b/
62
-
63
- const RE_VARIABLE_NAME = /^[a-zA-Z\_]+/
64
- const RE_PUNCTUATION = /^[:,;\{\}\[\]\.=\(\)<>]/
65
- const RE_NUMERIC = /^\d+/
66
-
67
- export const initialLineState = {
68
- state: State.TopLevelContent,
69
- tokens: [],
70
- }
71
-
72
- export const hasArrayReturn = true
73
-
74
- /**
75
- * @param {string} line
76
- * @param {any} lineState
77
- */
78
- export const tokenizeLine = (line, lineState) => {
79
- let next = null
80
- let index = 0
81
- let tokens = []
82
- let token = TokenType.None
83
- let state = lineState.state
84
- while (index < line.length) {
85
- const part = line.slice(index)
86
- switch (state) {
87
- case State.TopLevelContent:
88
- if ((next = part.match(RE_WHITESPACE))) {
89
- token = TokenType.Whitespace
90
- state = State.TopLevelContent
91
- } else if ((next = part.match(RE_KEYWORD))) {
92
- switch (next[0]) {
93
- case 'true':
94
- case 'false':
95
- token = TokenType.LanguageConstant
96
- break
97
- default:
98
- token = TokenType.Keyword
99
- break
100
- }
101
- state = State.TopLevelContent
102
- } else if ((next = part.match(RE_PUNCTUATION))) {
103
- token = TokenType.Punctuation
104
- state = State.TopLevelContent
105
- } else if ((next = part.match(RE_VARIABLE_NAME))) {
106
- token = TokenType.VariableName
107
- state = State.TopLevelContent
108
- } else if ((next = part.match(RE_NUMERIC))) {
109
- token = TokenType.Numeric
110
- state = State.TopLevelContent
111
- } else if ((next = part.match(RE_QUOTE_DOUBLE))) {
112
- token = TokenType.PunctuationString
113
- state = State.InsideString
114
- } else if ((next = part.match(RE_LINE_COMMENT_START))) {
115
- token = TokenType.Comment
116
- state = State.InsideLineComment
117
- } else if ((next = part.match(RE_ANYTHING))) {
118
- token = TokenType.Text
119
- state = State.TopLevelContent
120
- } else {
121
- part //?
122
- throw new Error('no')
123
- }
124
- break
125
- case State.InsideString:
126
- if ((next = part.match(RE_QUOTE_DOUBLE))) {
127
- token = TokenType.PunctuationString
128
- state = State.TopLevelContent
129
- } else if ((next = part.match(RE_STRING_DOUBLE_QUOTE_CONTENT))) {
130
- token = TokenType.String
131
- state = State.InsideString
132
- } else {
133
- throw new Error('no')
134
- }
135
- break
136
- case State.InsideLineComment:
137
- if ((next = part.match(RE_ANYTHING))) {
138
- token = TokenType.Comment
139
- state = State.TopLevelContent
140
- } else {
141
- throw new Error('no')
142
- }
143
- break
144
- default:
145
- throw new Error('no')
146
- }
147
- const tokenLength = next[0].length
148
- index += tokenLength
149
- tokens.push(token, tokenLength)
150
- }
151
- if (state === State.InsideLineComment) {
152
- state = State.TopLevelContent
153
- }
154
- return {
155
- state,
156
- tokens,
157
- }
158
- }
@@ -1,14 +0,0 @@
1
- # Language Basics Scss
2
-
3
- ## Contributing
4
-
5
- ```sh
6
- git clone git@github.com:lvce-editor/language-basics-scss.git &&
7
- cd language-basics-scss &&
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-scss)
@@ -1,12 +0,0 @@
1
- {
2
- "id": "builtin.language-basics-scss",
3
- "name": "Language Basics Scss",
4
- "description": "Provides syntax highlighting and bracket matching in Scss files.",
5
- "languages": [
6
- {
7
- "id": "scss",
8
- "extensions": [".scss"],
9
- "tokenize": "src/tokenizeScss.js"
10
- }
11
- ]
12
- }
@@ -1,28 +0,0 @@
1
- /**
2
- * @enum number
3
- */
4
- export const TokenType = {
5
- Text: 1,
6
- }
7
-
8
- export const TokenMap = {
9
- [TokenType.Text]: 'Text',
10
- }
11
-
12
- export const initialLineState = {
13
- state: 1,
14
- tokens: [],
15
- }
16
-
17
- export const hasArrayReturn = true
18
-
19
- /**
20
- * @param {string} line
21
- */
22
- export const tokenizeLine = (line) => {
23
- const tokens = [TokenType.Text, line.length]
24
- return {
25
- state: 1,
26
- tokens,
27
- }
28
- }
@@ -1,14 +0,0 @@
1
- # Language Basics Shell Script
2
-
3
- ## Contributing
4
-
5
- ```sh
6
- git clone git@github.com:lvce-editor/language-basics-shellscript.git &&
7
- cd language-basics-shellscript &&
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-shellscript)
@@ -1,56 +0,0 @@
1
- {
2
- "id": "builtin.language-basics-shellscript",
3
- "name": "Language Basics Shell Script",
4
- "description": "Provides syntax highlighting and bracket matching in Shell Script files.",
5
- "languages": [
6
- {
7
- "id": "shellscript",
8
- "extensions": [
9
- ".sh",
10
- ".bash",
11
- ".bashrc",
12
- ".bash_aliases",
13
- ".bash_profile",
14
- ".bash_login",
15
- ".ebuild",
16
- ".profile",
17
- ".bash_logout",
18
- ".xprofile",
19
- ".xsession",
20
- ".xsessionrc",
21
- ".Xsession",
22
- ".zsh",
23
- ".zshrc",
24
- ".zprofile",
25
- ".zlogin",
26
- ".zlogout",
27
- ".zshenv",
28
- ".zsh-theme",
29
- ".fish",
30
- ".ksh",
31
- ".csh",
32
- ".cshrc",
33
- ".tcshrc",
34
- ".yashrc",
35
- ".yash_profile"
36
- ],
37
- "fileNames": [
38
- "APKBUILD",
39
- "PKGBUILD",
40
- ".INSTALL",
41
- ".envrc",
42
- ".hushlogin",
43
- "zshrc",
44
- "zshenv",
45
- "zlogin",
46
- "zprofile",
47
- "zlogout",
48
- "bashrc_Apple_Terminal",
49
- "zshrc_Apple_Terminal",
50
- "xvfb.init"
51
- ],
52
- "firstLine": "^#!.*\\b(bash|fish|zsh|sh|ksh|dtksh|pdksh|mksh|ash|dash|yash|sh|csh|jcsh|tcsh|itcsh).*|^#\\s*-\\*-[^*]*mode:\\s*shell-script[^*]*-\\*-",
53
- "tokenize": "src/tokenizeShellScript.js"
54
- }
55
- ]
56
- }