@lvce-editor/shared-process 0.15.2 → 0.15.3
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.
- package/config/defaultSettings.json +2 -0
- package/extensions/builtin.language-basics-css/src/tokenizeCss.js +4 -0
- package/extensions/builtin.language-basics-html/src/tokenizeHtml.js +1 -1
- package/extensions/builtin.language-basics-python/languageConfiguration.json +5 -0
- package/extensions/builtin.language-basics-python/src/tokenizePython.js +9 -0
- package/extensions/builtin.theme-slime/color-theme.json +3 -0
- package/package.json +6 -6
- package/src/parts/ExtensionHostRpc/ExtensionHostRpc.js +4 -4
- package/src/parts/Module/Module.js +2 -2
- package/src/parts/ModuleId/ModuleId.js +1 -1
- package/src/parts/ModuleMap/ModuleMap.js +2 -1
- package/src/parts/OpenNativeFolder/OpenNativeFolder.ipc.js +7 -0
- package/src/parts/OutputChannel/OutputChannel.js +7 -2
- package/src/parts/Native/Native.ipc.js +0 -7
- /package/src/parts/{Native/Native.js → OpenNativeFolder/OpenNativeFolder.js} +0 -0
|
@@ -120,6 +120,7 @@ const RE_DOUBLE_QUOTE = /^"/
|
|
|
120
120
|
const RE_STRING_DOUBLE_QUOTE_CONTENT = /^[^"]+/
|
|
121
121
|
const RE_STRING_SINGLE_QUOTE_CONTENT = /^[^']+/
|
|
122
122
|
const RE_SINGLE_QUOTE = /^'/
|
|
123
|
+
const RE_ANYTHING_BUT_CURLY = /^[^\{\}]+/s
|
|
123
124
|
|
|
124
125
|
export const initialLineState = {
|
|
125
126
|
state: State.TopLevelContent,
|
|
@@ -231,6 +232,9 @@ export const tokenizeLine = (line, lineState) => {
|
|
|
231
232
|
} else if ((next = part.match(RE_STAR))) {
|
|
232
233
|
token = TokenType.CssSelector
|
|
233
234
|
state = State.AfterSelector
|
|
235
|
+
} else if ((next = part.match(RE_ANYTHING_BUT_CURLY))) {
|
|
236
|
+
token = TokenType.Unknown
|
|
237
|
+
state = State.AfterSelector
|
|
234
238
|
} else if ((next = part.match(RE_ANYTHING))) {
|
|
235
239
|
token = TokenType.Unknown
|
|
236
240
|
state = State.TopLevelContent
|
|
@@ -62,7 +62,7 @@ const RE_ANGLE_BRACKET_CLOSE = /^>/
|
|
|
62
62
|
const RE_ANGLE_BRACKET_OPEN = /^</
|
|
63
63
|
const RE_ANGLE_BRACKET_OPEN_TAG = /^<(?![\s!\%])/
|
|
64
64
|
const RE_ANY_TEXT = /^[^\n]+/
|
|
65
|
-
const RE_ATTRIBUTE_NAME = /^[a-zA-Z\d
|
|
65
|
+
const RE_ATTRIBUTE_NAME = /^[a-zA-Z\d\-\:\_]+/
|
|
66
66
|
const RE_BLOCK_COMMENT_CONTENT_1 = /^.+?(?=-->)/s
|
|
67
67
|
const RE_BLOCK_COMMENT_CONTENT_2 = /^.+$/s
|
|
68
68
|
const RE_BLOCK_COMMENT_END = /^-->/
|
|
@@ -44,6 +44,7 @@ export const TokenType = {
|
|
|
44
44
|
KeywordImport: 955,
|
|
45
45
|
KeywordControl: 956,
|
|
46
46
|
Function: 957,
|
|
47
|
+
KeywordOperator: 958,
|
|
47
48
|
}
|
|
48
49
|
|
|
49
50
|
export const TokenMap = {
|
|
@@ -67,6 +68,7 @@ export const TokenMap = {
|
|
|
67
68
|
[TokenType.KeywordImport]: 'KeywordImport',
|
|
68
69
|
[TokenType.KeywordControl]: 'KeywordControl',
|
|
69
70
|
[TokenType.Function]: 'Function',
|
|
71
|
+
[TokenType.KeywordOperator]: 'KeywordOperator',
|
|
70
72
|
}
|
|
71
73
|
|
|
72
74
|
const RE_WHITESPACE = /^\s+/
|
|
@@ -150,8 +152,15 @@ export const tokenizeLine = (line, lineState) => {
|
|
|
150
152
|
case 'raise':
|
|
151
153
|
case 'break':
|
|
152
154
|
case 'pass':
|
|
155
|
+
case 'assert':
|
|
153
156
|
token = TokenType.KeywordControl
|
|
154
157
|
break
|
|
158
|
+
case 'or':
|
|
159
|
+
case 'not':
|
|
160
|
+
case 'and':
|
|
161
|
+
case 'in':
|
|
162
|
+
token = TokenType.KeywordOperator
|
|
163
|
+
break
|
|
155
164
|
default:
|
|
156
165
|
token = TokenType.Keyword
|
|
157
166
|
break
|
|
@@ -9,6 +9,9 @@
|
|
|
9
9
|
"BadgeBackground": "#90599b",
|
|
10
10
|
"BadgeForeground": "#eeeeee",
|
|
11
11
|
|
|
12
|
+
"DropDownBackground": "#3c3c3c",
|
|
13
|
+
"DropDownForeground": "#f0f0f0",
|
|
14
|
+
|
|
12
15
|
"EditorBackGround": "#1e2324",
|
|
13
16
|
"EditorScrollBarBackground": "rgba(57, 71, 71, 0.6)",
|
|
14
17
|
"EditorCursorBackground": "#a8df5a",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lvce-editor/shared-process",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.3",
|
|
4
4
|
"description": "Utility package for @lvce-editor/server",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -17,16 +17,15 @@
|
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"@babel/code-frame": "^7.21.4",
|
|
20
|
-
"@lvce-editor/extension-host": "0.15.
|
|
21
|
-
"@lvce-editor/extension-host-helper-process": "0.15.
|
|
22
|
-
"@lvce-editor/pty-host": "0.15.
|
|
20
|
+
"@lvce-editor/extension-host": "0.15.3",
|
|
21
|
+
"@lvce-editor/extension-host-helper-process": "0.15.3",
|
|
22
|
+
"@lvce-editor/pty-host": "0.15.3",
|
|
23
23
|
"debug": "^4.3.4",
|
|
24
24
|
"execa": "^7.1.1",
|
|
25
25
|
"exit-hook": "^3.2.0",
|
|
26
26
|
"got": "^12.6.0",
|
|
27
27
|
"is-object": "^1.0.2",
|
|
28
28
|
"lines-and-columns": "^2.0.3",
|
|
29
|
-
"open": "^9.1.0",
|
|
30
29
|
"p-queue": "^7.3.4",
|
|
31
30
|
"parse-json": "^7.0.0",
|
|
32
31
|
"symlink-dir": "^5.1.1",
|
|
@@ -40,6 +39,7 @@
|
|
|
40
39
|
"optionalDependencies": {
|
|
41
40
|
"extract-zip": "^2.0.1",
|
|
42
41
|
"keytar": "^7.9.0",
|
|
43
|
-
"vscode-ripgrep-with-github-api-error-fix": "^2.8.0"
|
|
42
|
+
"vscode-ripgrep-with-github-api-error-fix": "^2.8.0",
|
|
43
|
+
"open": "^9.1.0"
|
|
44
44
|
}
|
|
45
45
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as Assert from '../Assert/Assert.js'
|
|
2
2
|
import * as Timeout from '../Timeout/Timeout.js'
|
|
3
3
|
import { VError } from '../VError/VError.js'
|
|
4
|
-
|
|
4
|
+
import * as Logger from '../Logger/Logger.js'
|
|
5
5
|
// TODO maybe rename to extension host management for clarity
|
|
6
6
|
|
|
7
7
|
const CONNECTION_TIMEOUT = 3000
|
|
@@ -10,15 +10,15 @@ export const create = async (ipc, socket) => {
|
|
|
10
10
|
Assert.object(socket)
|
|
11
11
|
|
|
12
12
|
const handleChildProcessError = (error) => {
|
|
13
|
-
|
|
13
|
+
Logger.error(`[Extension Host] ${error}`)
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
const handleChildProcessExit = (exitCode) => {
|
|
17
|
-
|
|
17
|
+
Logger.info(`[SharedProcess] Extension Host exited with code ${exitCode}`)
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
const handleSocketClose = () => {
|
|
21
|
-
|
|
21
|
+
Logger.info('[shared process] disposing extension host')
|
|
22
22
|
ipc.dispose()
|
|
23
23
|
}
|
|
24
24
|
|
|
@@ -20,8 +20,8 @@ export const load = (moduleId) => {
|
|
|
20
20
|
return import('../FileSystem/FileSystem.ipc.js')
|
|
21
21
|
case ModuleId.GitLsFiles:
|
|
22
22
|
return import('../GitLsFiles/GitLsFiles.ipc.js')
|
|
23
|
-
case ModuleId.
|
|
24
|
-
return import('../
|
|
23
|
+
case ModuleId.OpenNativeFolder:
|
|
24
|
+
return import('../OpenNativeFolder/OpenNativeFolder.ipc.js')
|
|
25
25
|
case ModuleId.OutputChannel:
|
|
26
26
|
return import('../OutputChannel/OutputChannel.ipc.js')
|
|
27
27
|
case ModuleId.Platform:
|
|
@@ -3,7 +3,7 @@ export const Developer = 2
|
|
|
3
3
|
export const ExtensionHost = 3
|
|
4
4
|
export const ExtensionManagement = 4
|
|
5
5
|
export const FileSystem = 5
|
|
6
|
-
export const
|
|
6
|
+
export const OpenNativeFolder = 6
|
|
7
7
|
export const OutputChannel = 7
|
|
8
8
|
export const Platform = 8
|
|
9
9
|
export const Preferences = 9
|
|
@@ -106,7 +106,8 @@ export const getModuleId = (commandId) => {
|
|
|
106
106
|
case 'IsAutoUpdateSupported.isAutoUpdateSupported':
|
|
107
107
|
return ModuleId.IsAutoUpdateSupported
|
|
108
108
|
case 'Native.openFolder':
|
|
109
|
-
|
|
109
|
+
case 'OpenNativeFolder.openFolder':
|
|
110
|
+
return ModuleId.OpenNativeFolder
|
|
110
111
|
case 'OutputChannel.close':
|
|
111
112
|
case 'OutputChannel.open':
|
|
112
113
|
return ModuleId.OutputChannel
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Tail } from 'tail'
|
|
2
|
+
import { VError } from '../VError/VError.js'
|
|
2
3
|
|
|
3
4
|
// TODO
|
|
4
5
|
// option 1: use tail child process
|
|
@@ -31,7 +32,11 @@ export const open = (path, onData, onError) => {
|
|
|
31
32
|
}
|
|
32
33
|
|
|
33
34
|
export const dispose = (state) => {
|
|
34
|
-
|
|
35
|
-
state.tail
|
|
35
|
+
try {
|
|
36
|
+
if (state.tail) {
|
|
37
|
+
state.tail.unwatch()
|
|
38
|
+
}
|
|
39
|
+
} catch (error) {
|
|
40
|
+
throw new VError(error, `Failed to dispose output channel`)
|
|
36
41
|
}
|
|
37
42
|
}
|
|
File without changes
|