@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,12 +0,0 @@
1
- {
2
- "id": "builtin.language-basics-plaintext",
3
- "name": "Language Basics Plaintext",
4
- "description": "Provides syntax highlighting and bracket matching in Plaintext files.",
5
- "languages": [
6
- {
7
- "id": "plaintext",
8
- "extensions": [".txt"],
9
- "tokenize": "src/tokenizePlaintext.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 Powershell
2
-
3
- ## Contributing
4
-
5
- ```sh
6
- git clone git@github.com:lvce-editor/language-basics-powershell.git &&
7
- cd language-basics-powershell &&
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-powershell)
@@ -1,12 +0,0 @@
1
- {
2
- "id": "builtin.language-basics-powershell",
3
- "name": "Language Basics powershell",
4
- "description": "Provides syntax highlighting and bracket matching in Windows powershellch files.",
5
- "languages": [
6
- {
7
- "id": "powershell",
8
- "extensions": [".ps1", ".psm1", ".psd1", ".pssc", ".psrc"],
9
- "tokenize": "src/tokenizePowershell.js"
10
- }
11
- ]
12
- }
@@ -1,141 +0,0 @@
1
- /**
2
- * @enum number
3
- */
4
- export const State = {
5
- TopLevelContent: 1,
6
- InsideLineComment: 2,
7
- InsideBlockComment: 3,
8
- }
9
-
10
- export const StateMap = {
11
- [State.TopLevelContent]: 'TopLevelContent',
12
- [State.InsideLineComment]: 'InsideLineComment',
13
- [State.InsideBlockComment]: 'InsideBlockComment',
14
- }
15
-
16
- /**
17
- * @enum number
18
- */
19
- export const TokenType = {
20
- CssSelector: 1,
21
- Whitespace: 2,
22
- None: 57,
23
- Unknown: 881,
24
- NewLine: 884,
25
- Comment: 885,
26
- Query: 886,
27
- Text: 887,
28
- }
29
-
30
- export const TokenMap = {
31
- [TokenType.CssSelector]: 'CssSelector',
32
- [TokenType.Whitespace]: 'Whitespace',
33
- [TokenType.None]: 'None',
34
- [TokenType.Unknown]: 'Unknown',
35
- [TokenType.NewLine]: 'NewLine',
36
- [TokenType.Comment]: 'Comment',
37
- [TokenType.Query]: 'Query',
38
- [TokenType.Text]: 'Text',
39
- }
40
-
41
- const RE_LINE_COMMENT_START = /^#/
42
- const RE_BLOCK_COMMENT_START = /^<#/
43
- const RE_WHITESPACE = /^ +/
44
- const RE_CURLY_OPEN = /^\{/
45
- const RE_CURLY_CLOSE = /^\}/
46
- const RE_PROPERTY_NAME = /^[a-zA-Z\-]+\b/
47
- const RE_COLON = /^:/
48
- const RE_PROPERTY_VALUE = /^[^;\}]+/
49
- const RE_SEMICOLON = /^;/
50
- const RE_COMMA = /^,/
51
- const RE_ANYTHING_UNTIL_END = /^.+/s
52
- const RE_NUMERIC = /^(([0-9]+\.?[0-9]*)|(\.[0-9]+))/
53
- const RE_ANYTHING_UNTIL_CLOSE_BRACE = /^[^\}]+/
54
- const RE_BLOCK_COMMENT_END = /^\*\//
55
- const RE_BLOCK_COMMENT_CONTENT = /^.+?(?=\*\/|$)/s
56
- const RE_ROUND_OPEN = /^\(/
57
- const RE_ROUND_CLOSE = /^\)/
58
- const RE_PSEUDO_SELECTOR_CONTENT = /^[^\)]+/
59
- const RE_SQUARE_OPEN = /^\[/
60
- const RE_SQUARE_CLOSE = /^\]/
61
- const RE_ATTRIBUTE_SELECTOR_CONTENT = /^[^\]]+/
62
- const RE_QUERY = /^@[a-z\-]+/
63
- const RE_STAR = /^\*/
64
- const RE_QUERY_NAME = /^[a-z\-]+/
65
- const RE_QUERY_CONTENT = /^[^\)]+/
66
- const RE_COMBINATOR = /^[\+\>\~]/
67
-
68
- export const initialLineState = {
69
- state: State.TopLevelContent,
70
- tokens: [],
71
- stack: [],
72
- }
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_LINE_COMMENT_START))) {
89
- token = TokenType.Comment
90
- state = State.InsideLineComment
91
- } else if ((next = part.match(RE_BLOCK_COMMENT_START))) {
92
- token = TokenType.Comment
93
- state = State.InsideBlockComment
94
- } else if ((next = part.match(RE_WHITESPACE))) {
95
- token = TokenType.Whitespace
96
- state = State.TopLevelContent
97
- } else if ((next = part.match(RE_ANYTHING_UNTIL_END))) {
98
- token = TokenType.Text
99
- state = State.TopLevelContent
100
- } else {
101
- part //?
102
- throw new Error('no')
103
- }
104
- break
105
- case State.InsideLineComment:
106
- if ((next = part.match(RE_ANYTHING_UNTIL_END))) {
107
- token = TokenType.Comment
108
- state = State.TopLevelContent
109
- } else {
110
- throw new Error('no')
111
- }
112
- break
113
- case State.InsideBlockComment:
114
- if ((next = part.match(RE_BLOCK_COMMENT_CONTENT))) {
115
- token = TokenType.Comment
116
- state = State.InsideBlockComment
117
- } else if ((next = part.match(RE_BLOCK_COMMENT_END))) {
118
- token = TokenType.Comment
119
- state = State.TopLevelContent
120
- } else if ((next = part.match(RE_ANYTHING_UNTIL_END))) {
121
- token = TokenType.Comment
122
- state = State.InsideBlockComment
123
- } else {
124
- throw new Error('no')
125
- }
126
- break
127
- default:
128
- console.log({ state, line })
129
- throw new Error('no')
130
- }
131
- index += next[0].length
132
- tokens.push({
133
- type: token,
134
- length: next[0].length,
135
- })
136
- }
137
- return {
138
- state,
139
- tokens,
140
- }
141
- }
@@ -1,14 +0,0 @@
1
- # Language Basics Python
2
-
3
- ## Contributing
4
-
5
- ```sh
6
- git clone git@github.com:lvce-editor/language-basics-python.git &&
7
- cd language-basics-python &&
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-python)
@@ -1,15 +0,0 @@
1
- {
2
- "id": "builtin.language-basics-python",
3
- "name": "Language Basics Python",
4
- "description": "Provides syntax highlighting and bracket matching in Python files.",
5
- "languages": [
6
- {
7
- "id": "python",
8
- "extensions": [".py"],
9
- "fileNames": ["SCsub", "SConstruct"],
10
- "configuration": "./languageConfiguration.json",
11
- "tokenize": "src/tokenizePython.js",
12
- "firstLine": "^#!\\s*/?.*\\bpython[0-9.-]*\\b"
13
- }
14
- ]
15
- }
@@ -1,5 +0,0 @@
1
- {
2
- "comments": {
3
- "lineComment": "#"
4
- }
5
- }
@@ -1,304 +0,0 @@
1
- /**
2
- * @enum number
3
- */
4
- export const State = {
5
- None: 0,
6
- TopLevelContent: 1,
7
- AfterOpeningAngleBracket: 2,
8
- InsideOpeningTag: 3,
9
- InsideOpeningTagAndHasSeenWhitespace: 4,
10
- AfterClosingTagAngleBrackets: 5,
11
- AfterClosingTagName: 6,
12
- AfterAttributeName: 7,
13
- AfterAttributeEqualSign: 8,
14
- InsideAttributeDoubleQuote: 9,
15
- InsideBlockComment: 10,
16
- InsideDoubleQuoteString: 11,
17
- InsideLineComment: 12,
18
- InsideSingleQuoteString: 13,
19
- InsideTripleDoubleQuoteString: 14,
20
- InsideTripleSingleQuoteString: 15,
21
- }
22
-
23
- /**
24
- * @enum number
25
- */
26
- export const TokenType = {
27
- None: 99999999,
28
- Numeric: 30,
29
- String: 50,
30
- Whitespace: 0,
31
- Comment: 60,
32
- Text: 117,
33
- PunctuationTag: 228,
34
- TagName: 118,
35
- AttributeName: 119,
36
- Punctuation: 10,
37
- Error: 141,
38
- PunctuationString: 11,
39
- NewLine: 771,
40
- Keyword: 951,
41
- VariableName: 952,
42
- LanguageConstant: 953,
43
- KeywordReturn: 954,
44
- KeywordImport: 955,
45
- KeywordControl: 956,
46
- Function: 957,
47
- KeywordOperator: 958,
48
- }
49
-
50
- export const TokenMap = {
51
- [TokenType.None]: 'None',
52
- [TokenType.Numeric]: 'Numeric',
53
- [TokenType.String]: 'String',
54
- [TokenType.Whitespace]: 'Whitespace',
55
- [TokenType.Comment]: 'Comment',
56
- [TokenType.Text]: 'Text',
57
- [TokenType.PunctuationTag]: 'PunctuationTag',
58
- [TokenType.TagName]: 'TagName',
59
- [TokenType.AttributeName]: 'AttributeName',
60
- [TokenType.Punctuation]: 'Punctuation',
61
- [TokenType.Error]: 'Error',
62
- [TokenType.PunctuationString]: 'PunctuationString',
63
- [TokenType.NewLine]: 'NewLine',
64
- [TokenType.Keyword]: 'Keyword',
65
- [TokenType.VariableName]: 'VariableName',
66
- [TokenType.LanguageConstant]: 'LanguageConstant',
67
- [TokenType.KeywordReturn]: 'KeywordReturn',
68
- [TokenType.KeywordImport]: 'KeywordImport',
69
- [TokenType.KeywordControl]: 'KeywordControl',
70
- [TokenType.Function]: 'Function',
71
- [TokenType.KeywordOperator]: 'KeywordOperator',
72
- }
73
-
74
- const RE_WHITESPACE = /^\s+/
75
- const RE_DOUBLE_QUOTE = /^"/
76
- const RE_TRIPLE_DOUBLE_QUOTE = /^"{3}/
77
- const RE_SINGLE_QUOTE = /^'/
78
- const RE_TEXT = /^.+/
79
- const RE_ANY_TEXT = /^[^\n]+/
80
- const RE_STRING_DOUBLE_QUOTE_CONTENT = /^[^"\\]+/
81
- const RE_STRING_SINGLE_QUOTE_CONTENT = /^[^'\\]+/
82
- const RE_STRING_TRIPLE_DOUBLE_QUOTE_CONTENT = /^.+(?=""")/
83
- const RE_LINE_COMMENT = /^#/
84
- const RE_KEYWORD =
85
- /^(?:__debug__|Ellipsis|yield|with|while|try|true|True|return|raise|pass|or|NotImplemented|not|nonlocal|None|lambda|is|in|import|if|global|from|for|finally|False|false|except|else|elif|del|def|continue|class|break|await|async|assert|as|and)\b/
86
- const RE_VARIABLE_NAME = /^[_a-zA-Z][a-zA-Z\d_]*/
87
- const RE_NUMERIC =
88
- /^((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)\b/
89
- const RE_PUNCTUATION = /^[\(\)\{\}:,\+\-\*&=\/\\\[\]!\.<>%\|\~]+/
90
- const RE_FUNCTION_CALL_NAME = /^[\w]+(?=\s*\()/
91
- const RE_DECORATOR = /^@[\w]+/
92
- const RE_TRIPLE_QUOTED_STRING_CONTENT_DOUBLE_QUOTES = /.*(?=""")/s
93
- const RE_TRIPLE_QUOTED_STRING_CONTENT_SINGLE_QUOTES = /.*(?=''')/s
94
- const RE_TRIPLE_QUOTED_STRING_CONTENT_COMMON = /.*/s
95
- const RE_STRING_ESCAPE = /^\\./
96
- const RE_BACKSLASH = /^\\/
97
- const RE_TRIPLE_SINGLE_QUOTE = /^'{3}/
98
- const RE_NUMERIC_OCTAL = /^0(?:o|O)?[0-7][0-7_]*(n)?\b/
99
-
100
- export const initialLineState = {
101
- state: State.TopLevelContent,
102
- }
103
-
104
- export const hasArrayReturn = true
105
-
106
- /**
107
- *
108
- * @param {string} line
109
- * @param {{state: State}} lineState
110
- * @returns
111
- */
112
- export const tokenizeLine = (line, lineState) => {
113
- let next = null
114
- let index = 0
115
- let tokens = []
116
- let token = TokenType.None
117
- let state = lineState.state
118
- while (index < line.length) {
119
- const part = line.slice(index)
120
- switch (state) {
121
- case State.TopLevelContent:
122
- if ((next = part.match(RE_WHITESPACE))) {
123
- token = TokenType.Whitespace
124
- state = State.TopLevelContent
125
- } else if ((next = part.match(RE_KEYWORD))) {
126
- switch (next[0]) {
127
- case 'True':
128
- case 'False':
129
- case 'None':
130
- token = TokenType.LanguageConstant
131
- break
132
- case 'return':
133
- token = TokenType.KeywordReturn
134
- break
135
- case 'from':
136
- case 'import':
137
- token = TokenType.KeywordImport
138
- break
139
- case 'if':
140
- case 'elif':
141
- case 'else':
142
- case 'try':
143
- case 'catch':
144
- case 'finally':
145
- case 'while':
146
- case 'for':
147
- case 'continue':
148
- case 'not':
149
- case 'except':
150
- case 'with':
151
- case 'as':
152
- case 'raise':
153
- case 'break':
154
- case 'pass':
155
- case 'assert':
156
- case 'is':
157
- token = TokenType.KeywordControl
158
- break
159
- case 'or':
160
- case 'not':
161
- case 'and':
162
- case 'in':
163
- token = TokenType.KeywordOperator
164
- break
165
- default:
166
- token = TokenType.Keyword
167
- break
168
- }
169
- state = State.TopLevelContent
170
- } else if ((next = part.match(RE_FUNCTION_CALL_NAME))) {
171
- token = TokenType.Function
172
- state = State.TopLevelContent
173
- } else if ((next = part.match(RE_VARIABLE_NAME))) {
174
- token = TokenType.VariableName
175
- state = State.TopLevelContent
176
- } else if ((next = part.match(RE_PUNCTUATION))) {
177
- token = TokenType.Punctuation
178
- state = State.TopLevelContent
179
- } else if ((next = part.match(RE_NUMERIC))) {
180
- token = TokenType.Numeric
181
- state = State.TopLevelContent
182
- } else if ((next = part.match(RE_NUMERIC_OCTAL))) {
183
- token = TokenType.Numeric
184
- state = State.TopLevelContent
185
- } else if ((next = part.match(RE_TRIPLE_DOUBLE_QUOTE))) {
186
- token = TokenType.Punctuation
187
- state = State.InsideTripleDoubleQuoteString
188
- } else if ((next = part.match(RE_TRIPLE_SINGLE_QUOTE))) {
189
- token = TokenType.Punctuation
190
- state = State.InsideTripleSingleQuoteString
191
- } else if ((next = part.match(RE_DOUBLE_QUOTE))) {
192
- token = TokenType.PunctuationString
193
- state = State.InsideDoubleQuoteString
194
- } else if ((next = part.match(RE_SINGLE_QUOTE))) {
195
- token = TokenType.PunctuationString
196
- state = State.InsideSingleQuoteString
197
- } else if ((next = part.match(RE_LINE_COMMENT))) {
198
- token = TokenType.Comment
199
- state = State.InsideLineComment
200
- } else if ((next = part.match(RE_DECORATOR))) {
201
- token = TokenType.VariableName
202
- state = State.TopLevelContent
203
- } else if ((next = part.match(RE_TEXT))) {
204
- token = TokenType.Text
205
- state = State.TopLevelContent
206
- } else {
207
- part //?
208
- throw new Error('no')
209
- }
210
- break
211
- case State.InsideDoubleQuoteString:
212
- if ((next = part.match(RE_STRING_DOUBLE_QUOTE_CONTENT))) {
213
- token = TokenType.String
214
- state = State.InsideDoubleQuoteString
215
- } else if ((next = part.match(RE_DOUBLE_QUOTE))) {
216
- token = TokenType.PunctuationString
217
- state = State.TopLevelContent
218
- } else if ((next = part.match(RE_STRING_ESCAPE))) {
219
- token = TokenType.String
220
- state = State.InsideDoubleQuoteString
221
- } else if ((next = part.match(RE_BACKSLASH))) {
222
- token = TokenType.String
223
- state = State.InsideDoubleQuoteString
224
- } else {
225
- throw new Error('no')
226
- }
227
- break
228
- case State.InsideSingleQuoteString:
229
- if ((next = part.match(RE_STRING_SINGLE_QUOTE_CONTENT))) {
230
- token = TokenType.String
231
- state = State.InsideSingleQuoteString
232
- } else if ((next = part.match(RE_SINGLE_QUOTE))) {
233
- token = TokenType.PunctuationString
234
- state = State.TopLevelContent
235
- } else if ((next = part.match(RE_STRING_ESCAPE))) {
236
- token = TokenType.String
237
- state = State.InsideSingleQuoteString
238
- } else if ((next = part.match(RE_BACKSLASH))) {
239
- token = TokenType.String
240
- state = State.InsideSingleQuoteString
241
- } else {
242
- throw new Error('no')
243
- }
244
- break
245
- case State.InsideTripleDoubleQuoteString:
246
- if ((next = part.match(RE_TRIPLE_DOUBLE_QUOTE))) {
247
- token = TokenType.Punctuation
248
- state = State.TopLevelContent
249
- } else if (
250
- (next = part.match(RE_TRIPLE_QUOTED_STRING_CONTENT_DOUBLE_QUOTES))
251
- ) {
252
- token = TokenType.String
253
- state = State.InsideTripleDoubleQuoteString
254
- } else if (
255
- (next = part.match(RE_TRIPLE_QUOTED_STRING_CONTENT_COMMON))
256
- ) {
257
- token = TokenType.String
258
- state = State.InsideTripleDoubleQuoteString
259
- } else {
260
- throw new Error('no')
261
- }
262
- break
263
- case State.InsideTripleSingleQuoteString:
264
- if ((next = part.match(RE_TRIPLE_SINGLE_QUOTE))) {
265
- token = TokenType.Punctuation
266
- state = State.TopLevelContent
267
- } else if (
268
- (next = part.match(RE_TRIPLE_QUOTED_STRING_CONTENT_SINGLE_QUOTES))
269
- ) {
270
- token = TokenType.String
271
- state = State.InsideTripleSingleQuoteString
272
- } else if (
273
- (next = part.match(RE_TRIPLE_QUOTED_STRING_CONTENT_COMMON))
274
- ) {
275
- next
276
- token = TokenType.String
277
- state = State.InsideTripleSingleQuoteString
278
- } else {
279
- throw new Error('no')
280
- }
281
- break
282
- case State.InsideLineComment:
283
- if ((next = part.match(RE_ANY_TEXT))) {
284
- token = TokenType.Comment
285
- state = State.TopLevelContent
286
- } else {
287
- throw new Error('no')
288
- }
289
- break
290
- default:
291
- state
292
- throw new Error('no')
293
- }
294
- const tokenLength = next[0].length
295
- index += tokenLength
296
- tokens.push(token, tokenLength)
297
- }
298
- return {
299
- state,
300
- tokens,
301
- }
302
- }
303
-
304
- tokenizeLine(`'''test'''`, initialLineState) //?
@@ -1,14 +0,0 @@
1
- # Language Basics R
2
-
3
- ## Contributing
4
-
5
- ```sh
6
- git clone git@github.com:lvce-editor/language-basics-r.git &&
7
- cd language-basics-r &&
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-r)
@@ -1,12 +0,0 @@
1
- {
2
- "id": "builtin.language-basics-r",
3
- "name": "Language Basics R",
4
- "description": "Provides syntax highlighting and bracket matching in R files.",
5
- "languages": [
6
- {
7
- "id": "r",
8
- "extensions": [".r", ".rhistory", ".rprofile", ".rt"],
9
- "tokenize": "src/tokenizeR.js"
10
- }
11
- ]
12
- }
@@ -1,71 +0,0 @@
1
- /**
2
- * @enum number
3
- */
4
- export const State = {
5
- TopLevelContent: 1,
6
- InsideString: 2,
7
- InsideLineComment: 3,
8
- }
9
-
10
- /**
11
- * @enum number
12
- */
13
- export const TokenType = {
14
- None: 0,
15
- Text: 1,
16
- Function: 2,
17
- }
18
-
19
- export const TokenMap = {
20
- [TokenType.Text]: 'Text',
21
- [TokenType.Function]: 'Function',
22
- }
23
-
24
- export const initialLineState = {
25
- state: State.TopLevelContent,
26
- tokens: [],
27
- }
28
-
29
- export const hasArrayReturn = true
30
-
31
- const RE_BUILTIN_FUNCTION =
32
- /^(?:abbreviate|abline|abs|acf2AR|acos|acosh|addmargins|addNA|addTaskCallback|addNextMethod|addNextCallback|adist|adjustcolor|aggregate|agrep|agrepl|alarm|alist|all\.equal|all|allGenerics|approx|approxfun|apropos|aregexc|argsAnywhere|arrows|as\.data\.frame|as\.Date|as\.double|as\.factor|as\.name|as\.numeric|as\.ordered|as\.single|assocplot|attach|attr|attributes|ave|axis|barplot|body|box|boxplot|browser|call|classLabel|classMetaName|className|completeSubclasses|doPrimitiveMethod|emptyMethodsList)\b/
33
- const RE_ANYTHING = /^.+/s
34
-
35
- /**
36
- * @param {string} line
37
- * @param {any} lineState
38
- */
39
- export const tokenizeLine = (line, lineState) => {
40
- let next = null
41
- let index = 0
42
- let tokens = []
43
- let token = TokenType.None
44
- let state = lineState.state
45
- while (index < line.length) {
46
- const part = line.slice(index)
47
- switch (state) {
48
- case State.TopLevelContent:
49
- if ((next = part.match(RE_BUILTIN_FUNCTION))) {
50
- token = TokenType.Function
51
- state = State.TopLevelContent
52
- } else if ((next = part.match(RE_ANYTHING))) {
53
- token = TokenType.Text
54
- state = State.TopLevelContent
55
- } else {
56
- part //?
57
- throw new Error('no')
58
- }
59
- break
60
- default:
61
- throw new Error('no')
62
- }
63
- const tokenLength = next[0].length
64
- index += tokenLength
65
- tokens.push(token, tokenLength)
66
- }
67
- return {
68
- state,
69
- tokens,
70
- }
71
- }
@@ -1,14 +0,0 @@
1
- # Language Basics Ruby
2
-
3
- ## Contributing
4
-
5
- ```sh
6
- git clone git@github.com:lvce-editor/language-basics-ruby.git &&
7
- cd language-basics-ruby &&
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-ruby)