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