@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,133 +0,0 @@
1
- /**
2
- * @enum number
3
- */
4
- const State = {
5
- None: 0,
6
- TopLevelContent: 1,
7
- InsideSingleQuoteString: 2,
8
- InsideDoubleQuoteString: 3,
9
- }
10
-
11
- /**
12
- * @enum number
13
- */
14
- export const TokenType = {
15
- None: 99999999,
16
- Keyword: 951,
17
- Whitespace: 0,
18
- NewLine: 771,
19
- VariableName: 2,
20
- Punctuation: 3,
21
- String: 4,
22
- Numeric: 5,
23
- Attribute: 6,
24
- }
25
-
26
- export const TokenMap = {
27
- [TokenType.None]: 'None',
28
- [TokenType.Keyword]: 'Keyword',
29
- [TokenType.Whitespace]: 'Whitespace',
30
- [TokenType.NewLine]: 'NewLine',
31
- [TokenType.VariableName]: 'VariableName',
32
- [TokenType.Punctuation]: 'Punctuation',
33
- [TokenType.String]: 'String',
34
- [TokenType.Numeric]: 'Numeric',
35
- [TokenType.Attribute]: 'Attribute',
36
- }
37
-
38
- export const initialLineState = {
39
- state: State.TopLevelContent,
40
- }
41
-
42
- export const hasArrayReturn = true
43
-
44
- const RE_KEYWORD =
45
- /^(?:abstract|as|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extends|extension|external|factory|false|final|finally|for|Function|get|hide|if|implements|import|in|interface|is|late|library|mixin|new|null|on|operator|part|required|rethrow|return|set|show|static|super|switch|sync|this|throw|true|try|typedef|var|void|while|with|yield)\b/
46
-
47
- const RE_WHITESPACE = /^\s+/
48
- const RE_VARIABLE_NAME = /^[a-zA-Z]+/
49
- const RE_PUNCTUATION = /^[:,;\{\}\[\]\.=\(\)>+<]/
50
- const RE_QUOTE_SINGLE = /^'/
51
- const RE_QUOTE_DOUBLE = /^"/
52
- const RE_STRING_SINGLE_QUOTE_CONTENT = /^[^']+/
53
- const RE_STRING_DOUBLE_QUOTE_CONTENT = /^[^"]+/
54
- const RE_NUMERIC = /^\d+/
55
- const RE_TRIPLE_DOUBLE_QUOTE = /^"""/
56
- const RE_STRING_TRIPLE_CONTENT = /^.+?(?="""|$)/s
57
- const RE_ATTRIBUTE = /^@\w+/
58
-
59
- /**
60
- * @param {string} line
61
- * @param {any} lineState
62
- */
63
- export const tokenizeLine = (line, lineState) => {
64
- let next = null
65
- let index = 0
66
- let tokens = []
67
- let token = TokenType.None
68
- let state = lineState.state
69
- while (index < line.length) {
70
- const part = line.slice(index)
71
- switch (state) {
72
- case State.TopLevelContent:
73
- if ((next = part.match(RE_WHITESPACE))) {
74
- token = TokenType.Whitespace
75
- state = State.TopLevelContent
76
- } else if ((next = part.match(RE_KEYWORD))) {
77
- token = TokenType.Keyword
78
- state = State.TopLevelContent
79
- } else if ((next = part.match(RE_VARIABLE_NAME))) {
80
- token = TokenType.VariableName
81
- state = State.TopLevelContent
82
- } else if ((next = part.match(RE_PUNCTUATION))) {
83
- token = TokenType.Punctuation
84
- state = State.TopLevelContent
85
- } else if ((next = part.match(RE_NUMERIC))) {
86
- token = TokenType.Numeric
87
- state = State.TopLevelContent
88
- } else if ((next = part.match(RE_QUOTE_SINGLE))) {
89
- token = TokenType.Punctuation
90
- state = State.InsideSingleQuoteString
91
- } else if ((next = part.match(RE_QUOTE_DOUBLE))) {
92
- token = TokenType.Punctuation
93
- state = State.InsideDoubleQuoteString
94
- } else {
95
- part //?
96
- throw new Error('no')
97
- }
98
- break
99
- case State.InsideSingleQuoteString:
100
- if ((next = part.match(RE_QUOTE_SINGLE))) {
101
- token = TokenType.Punctuation
102
- state = State.TopLevelContent
103
- } else if ((next = part.match(RE_STRING_SINGLE_QUOTE_CONTENT))) {
104
- token = TokenType.String
105
- state = State.InsideSingleQuoteString
106
- } else {
107
- throw new Error('no')
108
- }
109
- break
110
- case State.InsideDoubleQuoteString:
111
- if ((next = part.match(RE_QUOTE_DOUBLE))) {
112
- token = TokenType.Punctuation
113
- state = State.TopLevelContent
114
- } else if ((next = part.match(RE_STRING_DOUBLE_QUOTE_CONTENT))) {
115
- token = TokenType.String
116
- state = State.InsideDoubleQuoteString
117
- } else {
118
- throw new Error('no')
119
- }
120
- break
121
- default:
122
- state
123
- throw new Error('no')
124
- }
125
- const tokenLength = next[0].length
126
- index += tokenLength
127
- tokens.push(token, tokenLength)
128
- }
129
- return {
130
- state,
131
- tokens,
132
- }
133
- }
@@ -1,14 +0,0 @@
1
- # Language Basics Desktop
2
-
3
- ## Contributing
4
-
5
- ```sh
6
- git clone git@github.com:lvce-editor/language-basics-desktop.git &&
7
- cd language-basics-desktop &&
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-desktop)
@@ -1,12 +0,0 @@
1
- {
2
- "id": "builtin.language-basics-desktop",
3
- "name": "Language Basics desktop",
4
- "description": "Provides syntax highlighting and bracket matching in desktop files.",
5
- "languages": [
6
- {
7
- "id": "desktop",
8
- "extensions": [".desktop"],
9
- "tokenize": "src/tokenizeDesktop.js"
10
- }
11
- ]
12
- }
@@ -1,166 +0,0 @@
1
- /**
2
- * @enum number
3
- */
4
- export const State = {
5
- TopLevelContent: 1,
6
- InsideLineComment: 2,
7
- AfterPropertyName: 3,
8
- AfterPropertyNameAfterEqualSign: 4,
9
- InsideString: 5,
10
- }
11
-
12
- export const StateMap = {
13
- [State.TopLevelContent]: 'TopLevelContent',
14
- [State.InsideLineComment]: 'InsideLineComment',
15
- }
16
-
17
- /**
18
- * @enum number
19
- */
20
- export const TokenType = {
21
- CssSelector: 1,
22
- Whitespace: 2,
23
- None: 57,
24
- Unknown: 881,
25
- NewLine: 884,
26
- Comment: 885,
27
- Query: 886,
28
- Text: 887,
29
- PropertyName: 12,
30
- PropertyValueString: 14,
31
- Punctuation: 13,
32
- LanguageConstant: 11,
33
- }
34
-
35
- export const TokenMap = {
36
- [TokenType.CssSelector]: 'CssSelector',
37
- [TokenType.Whitespace]: 'Whitespace',
38
- [TokenType.None]: 'None',
39
- [TokenType.Unknown]: 'Unknown',
40
- [TokenType.NewLine]: 'NewLine',
41
- [TokenType.Comment]: 'Comment',
42
- [TokenType.Query]: 'Query',
43
- [TokenType.Text]: 'Text',
44
- [TokenType.Punctuation]: 'Punctuation',
45
- [TokenType.LanguageConstant]: 'LanguageConstant',
46
- [TokenType.PropertyName]: 'JsonPropertyName',
47
- [TokenType.LanguageConstant]: 'LanguageConstant',
48
- [TokenType.Punctuation]: 'Punctuation',
49
- [TokenType.PropertyValueString]: 'YamlPropertyValueString',
50
- }
51
-
52
- const RE_LINE_COMMENT_START = /^#/
53
- const RE_WHITESPACE = /^ +/
54
- const RE_CURLY_OPEN = /^\{/
55
- const RE_CURLY_CLOSE = /^\}/
56
- const RE_PROPERTY_NAME = /^[a-zA-Z\-\_\d]+\b(?=\s*=)/
57
- const RE_COLON = /^:/
58
- const RE_PROPERTY_VALUE = /^[^;\}]+/
59
- const RE_SEMICOLON = /^;/
60
- const RE_COMMA = /^,/
61
- const RE_ANYTHING = /^.+/s
62
- const RE_NUMERIC = /^(([0-9]+\.?[0-9]*)|(\.[0-9]+))/
63
- const RE_ANYTHING_UNTIL_CLOSE_BRACE = /^[^\}]+/
64
- const RE_BLOCK_COMMENT_START = /^\/\*/
65
- const RE_BLOCK_COMMENT_END = /^\*\//
66
- const RE_BLOCK_COMMENT_CONTENT = /^.+?(?=\*\/|$)/s
67
- const RE_ROUND_OPEN = /^\(/
68
- const RE_ROUND_CLOSE = /^\)/
69
- const RE_PSEUDO_SELECTOR_CONTENT = /^[^\)]+/
70
- const RE_SQUARE_OPEN = /^\[/
71
- const RE_SQUARE_CLOSE = /^\]/
72
- const RE_ATTRIBUTE_SELECTOR_CONTENT = /^[^\]]+/
73
- const RE_QUERY = /^@[a-z\-]+/
74
- const RE_STAR = /^\*/
75
- const RE_QUERY_NAME = /^[a-z\-]+/
76
- const RE_QUERY_CONTENT = /^[^\)]+/
77
- const RE_COMBINATOR = /^[\+\>\~]/
78
- const RE_EQUAL_SIGN = /^=/
79
- const RE_QUOTE_DOUBLE = /^"/
80
- const RE_STRING_DOUBLE_QUOTE_CONTENT = /^[^"]+/
81
- const RE_LINE_COMMENT = /^#.*/s
82
- const RE_LANGUAGE_CONSTANT = /^(?:true|false)\b/
83
-
84
- export const initialLineState = {
85
- state: State.TopLevelContent,
86
- tokens: [],
87
- stack: [],
88
- }
89
-
90
- export const hasArrayReturn = true
91
-
92
- /**
93
- * @param {string} line
94
- * @param {any} lineState
95
- */
96
- export const tokenizeLine = (line, lineState) => {
97
- let next = null
98
- let index = 0
99
- let tokens = []
100
- let token = TokenType.None
101
- let state = lineState.state
102
- while (index < line.length) {
103
- const part = line.slice(index)
104
- switch (state) {
105
- case State.TopLevelContent:
106
- if ((next = part.match(RE_PROPERTY_NAME))) {
107
- token = TokenType.PropertyName
108
- state = State.AfterPropertyName
109
- } else if ((next = part.match(RE_LINE_COMMENT))) {
110
- token = TokenType.Comment
111
- state = State.TopLevelContent
112
- } else if ((next = part.match(RE_WHITESPACE))) {
113
- token = TokenType.Whitespace
114
- state = State.TopLevelContent
115
- } else if ((next = part.match(RE_ANYTHING))) {
116
- token = TokenType.Text
117
- state = State.TopLevelContent
118
- } else {
119
- part //?
120
- throw new Error('no')
121
- }
122
- break
123
- case State.AfterPropertyName:
124
- if ((next = part.match(RE_EQUAL_SIGN))) {
125
- token = TokenType.Punctuation
126
- state = State.AfterPropertyNameAfterEqualSign
127
- } else if ((next = part.match(RE_WHITESPACE))) {
128
- token = TokenType.Whitespace
129
- state = State.AfterPropertyName
130
- } else {
131
- throw new Error('no')
132
- }
133
- break
134
- case State.AfterPropertyNameAfterEqualSign:
135
- if ((next = part.match(RE_WHITESPACE))) {
136
- token = TokenType.Whitespace
137
- state = State.AfterPropertyNameAfterEqualSign
138
- } else if ((next = part.match(RE_LANGUAGE_CONSTANT))) {
139
- token = TokenType.LanguageConstant
140
- state = State.TopLevelContent
141
- } else if ((next = part.match(RE_LINE_COMMENT))) {
142
- token = TokenType.Comment
143
- state = State.TopLevelContent
144
- } else if ((next = part.match(RE_QUOTE_DOUBLE))) {
145
- token = TokenType.Punctuation
146
- state = State.InsideString
147
- } else if ((next = part.match(RE_ANYTHING))) {
148
- token = TokenType.PropertyValueString
149
- state = State.TopLevelContent
150
- } else {
151
- throw new Error('no')
152
- }
153
- break
154
- default:
155
- console.log({ state, line })
156
- throw new Error('no')
157
- }
158
- const tokenLength = next[0].length
159
- index += tokenLength
160
- tokens.push(token, tokenLength)
161
- }
162
- return {
163
- state,
164
- tokens,
165
- }
166
- }
@@ -1,14 +0,0 @@
1
- # Language Basics Docker
2
-
3
- ## Contributing
4
-
5
- ```sh
6
- git clone git@github.com:lvce-editor/language-basics-docker.git &&
7
- cd language-basics-docker &&
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-docker)
@@ -1,24 +0,0 @@
1
- {
2
- "id": "builtin.language-basics-docker",
3
- "version": "0.0.9",
4
- "name": "Language Basics Docker",
5
- "description": "Provides syntax highlighting and bracket matching in Dockerfile files.",
6
- "languages": [
7
- {
8
- "id": "dockerfile",
9
- "extensions": [
10
- ".dockerfile",
11
- ".containerfile"
12
- ],
13
- "fileNames": [
14
- "Dockerfile",
15
- "Containerfile"
16
- ],
17
- "fileNamePatterns": [
18
- "Dockerfile.*",
19
- "Containerfile.*"
20
- ],
21
- "tokenize": "src/tokenizeDockerfile.js"
22
- }
23
- ]
24
- }
@@ -1,131 +0,0 @@
1
- /**
2
- * @enum number
3
- */
4
- export const State = {
5
- TopLevelContent: 1,
6
- AfterSelector: 2,
7
- InsideSelector: 3,
8
- AfterPropertyName: 4,
9
- AfterPropertyNameAfterColon: 5,
10
- AfterPropertyValue: 6,
11
- InsideBlockComment: 7,
12
- InsidePseudoSelector: 8,
13
- InsideAttributeSelector: 9,
14
- AfterQuery: 10,
15
- InsideRound: 11,
16
- AfterQueryWithRules: 12,
17
- InsideLineComment: 5,
18
- InsideString: 2,
19
- }
20
-
21
- /**
22
- * @enum number
23
- */
24
- export const TokenType = {
25
- None: 0,
26
- Text: 1,
27
- VariableName: 2,
28
- Keyword: 3,
29
- Whitespace: 4,
30
- Comment: 885,
31
- String: 886,
32
- PunctuationString: 13,
33
- }
34
-
35
- export const TokenMap = {
36
- [TokenType.Text]: 'Text',
37
- [TokenType.VariableName]: 'VariableName',
38
- [TokenType.Whitespace]: 'Whitespace',
39
- [TokenType.Keyword]: 'Keyword',
40
- [TokenType.Comment]: 'Comment',
41
- [TokenType.String]: 'String',
42
- [TokenType.PunctuationString]: 'PunctuationString',
43
- }
44
-
45
- export const initialLineState = {
46
- state: 1,
47
- tokens: [],
48
- }
49
-
50
- const RE_WHITESPACE = /^ +/
51
- const RE_ANYTHING = /^.+/s
52
- const RE_KEYWORD =
53
- /^(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)\b/
54
- const RE_LINE_COMMENT_START = /^#/
55
- const RE_PLAIN_TEXT = /^[^"\\]+/
56
- const RE_QUOTE_DOUBLE = /^"/
57
- const RE_STRING_DOUBLE_QUOTE_CONTENT = /^[^"]+/
58
-
59
- export const hasArrayReturn = true
60
-
61
- /**
62
- * @param {string} line
63
- * @param {any} lineState
64
- */
65
- export const tokenizeLine = (line, lineState) => {
66
- let next = null
67
- let index = 0
68
- let tokens = []
69
- let token = TokenType.None
70
- let state = lineState.state
71
- while (index < line.length) {
72
- const part = line.slice(index)
73
- switch (state) {
74
- case State.TopLevelContent:
75
- if ((next = part.match(RE_KEYWORD))) {
76
- token = TokenType.Keyword
77
- state = State.TopLevelContent
78
- } else if ((next = part.match(RE_WHITESPACE))) {
79
- token = TokenType.Whitespace
80
- state = State.TopLevelContent
81
- } else if ((next = part.match(RE_LINE_COMMENT_START))) {
82
- token = TokenType.Comment
83
- state = State.InsideLineComment
84
- } else if ((next = part.match(RE_QUOTE_DOUBLE))) {
85
- token = TokenType.PunctuationString
86
- state = State.InsideString
87
- } else if ((next = part.match(RE_PLAIN_TEXT))) {
88
- token = TokenType.Text
89
- state = State.TopLevelContent
90
- } else if ((next = part.match(RE_ANYTHING))) {
91
- token = TokenType.Text
92
- state = State.TopLevelContent
93
- } else {
94
- throw new Error('no')
95
- }
96
- break
97
- case State.InsideLineComment:
98
- if ((next = part.match(RE_ANYTHING))) {
99
- token = TokenType.Comment
100
- state = State.TopLevelContent
101
- } else {
102
- throw new Error('no')
103
- }
104
- break
105
- case State.InsideString:
106
- if ((next = part.match(RE_QUOTE_DOUBLE))) {
107
- token = TokenType.PunctuationString
108
- state = State.TopLevelContent
109
- } else if ((next = part.match(RE_STRING_DOUBLE_QUOTE_CONTENT))) {
110
- token = TokenType.String
111
- state = State.InsideString
112
- } else {
113
- throw new Error('no')
114
- }
115
- break
116
- default:
117
- console.log({ state, line })
118
- throw new Error('no')
119
- }
120
- const tokenLength = next[0].length
121
- index += tokenLength
122
- tokens.push(token, tokenLength)
123
- }
124
- if (state === State.InsideLineComment) {
125
- state = State.TopLevelContent
126
- }
127
- return {
128
- state,
129
- tokens,
130
- }
131
- }
@@ -1,14 +0,0 @@
1
- # Language Basics Dotenv
2
-
3
- ## Contributing
4
-
5
- ```sh
6
- git clone git@github.com:lvce-editor/language-basics-dotenv.git &&
7
- cd language-basics-dotenv &&
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-dotenv)
@@ -1,26 +0,0 @@
1
- {
2
- "id": "builtin.language-basics-dotenv",
3
- "name": "Language Basics Dotenv",
4
- "description": "Provides syntax highlighting and bracket matching in dotenv files.",
5
- "languages": [
6
- {
7
- "id": "dotenv",
8
- "extensions": [".env"],
9
- "fileNames": [
10
- "sampledotenv",
11
- ".env.local",
12
- ".env.example",
13
- ".env.development.example",
14
- ".env.production.example",
15
- ".env.development",
16
- ".env.production",
17
- ".env.dev",
18
- ".env.sample",
19
- ".env.dist",
20
- ".env.test"
21
- ],
22
- "configuration": "./languageConfiguration.json",
23
- "tokenize": "src/tokenizeDotenv.js"
24
- }
25
- ]
26
- }