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