@lvce-editor/shared-process 0.11.8 → 0.11.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.
- package/config/defaultKeyBindings.json +25 -0
- package/config/defaultSettings.json +2 -7
- package/extensions/builtin.language-basics-coffeescript/src/tokenizeCoffeeScript.js +232 -3
- package/extensions/builtin.language-basics-cpp/src/tokenizeCpp.js +14 -0
- package/extensions/builtin.language-basics-css/src/tokenizeCss.js +8 -0
- package/extensions/builtin.language-basics-javascript/src/tokenizeJavaScript.js +52 -4
- package/extensions/builtin.language-basics-perl/extension.json +2 -1
- package/extensions/builtin.language-basics-perl/src/tokenizePerl.js +53 -6
- package/extensions/builtin.language-basics-python/src/tokenizePython.js +86 -3
- package/extensions/builtin.language-basics-ruby/README.md +14 -0
- package/extensions/builtin.language-basics-ruby/extension.json +48 -0
- package/extensions/builtin.language-basics-ruby/src/tokenizeRuby.js +241 -0
- package/extensions/builtin.language-basics-scss/README.md +14 -0
- package/extensions/builtin.language-basics-scss/extension.json +12 -0
- package/extensions/builtin.language-basics-scss/src/tokenizeScss.js +28 -0
- package/extensions/builtin.language-basics-shellscript/extension.json +2 -1
- package/extensions/builtin.language-basics-shellscript/src/tokenizeShellScript.js +326 -13
- package/extensions/builtin.language-basics-toml/src/tokenizeToml.js +87 -13
- package/extensions/builtin.language-basics-xml/extension.json +2 -1
- package/extensions/builtin.language-basics-xml/src/tokenizeXml.js +7 -0
- package/extensions/builtin.language-basics-yaml/src/tokenizeYaml.js +8 -1
- package/extensions/builtin.theme-cobalt2/color-theme.json +4 -0
- package/extensions/builtin.theme-gruvbox/color-theme.json +4 -0
- package/extensions/builtin.theme-palenight/color-theme.json +4 -0
- package/extensions/builtin.theme-slime/color-theme.json +9 -1
- package/package.json +5 -5
- package/src/parts/Cli/Cli.js +2 -2
- package/src/parts/CliInstall/CliInstall.js +21 -6
- package/src/parts/CliList/CliList.js +3 -2
- package/src/parts/CliUnlink/CliUnlink.js +1 -1
- package/src/parts/DownloadAndExtract/DownloadAndExtract.js +18 -8
- package/src/parts/ErrorCodes/ErrorCodes.js +8 -18
- package/src/parts/ErrorHandling/ErrorHandling.js +4 -9
- package/src/parts/ExportStatic/ExportStatic.js +57 -330
- package/src/parts/ExtensionHost/ExtensionHost.js +4 -7
- package/src/parts/ExtensionInstallFromGitHub/ExtensionInstallFromGitHub.js +1 -4
- package/src/parts/ExtensionManagement/ExtensionManagementColorTheme.js +3 -4
- package/src/parts/FileSystem/FileSystem.js +5 -15
- package/src/parts/GetResponse/GetResponse.js +10 -14
- package/src/parts/JsonRpc/JsonRpc.js +3 -6
- package/src/parts/JsonRpcErrorCode/JsonRpcErrorCode.js +2 -0
- package/src/parts/JsonRpcVersion/JsonRpcVersion.js +1 -0
- package/src/parts/OutputChannel/OutputChannel.ipc.js +3 -2
- package/src/parts/Terminal/Terminal.js +5 -4
- package/src/sharedProcessMain.js +2 -5
|
@@ -30,6 +30,8 @@
|
|
|
30
30
|
|
|
31
31
|
"MainBackground": "#1e2324",
|
|
32
32
|
|
|
33
|
+
"MenuItemHoverBackground": "rgb(81, 95, 89)",
|
|
34
|
+
|
|
33
35
|
"PanelBackground": "#1b2020",
|
|
34
36
|
"PanelBorderTopColor": "rgba(128, 128, 128, 0.35)",
|
|
35
37
|
"PanelTabForeground": "rgba(231, 231, 231, 0.6)",
|
|
@@ -52,7 +54,9 @@
|
|
|
52
54
|
"TitleBarBackground": "rgb(40, 46, 47)",
|
|
53
55
|
"TitleBarBorderBottomColor": "#222",
|
|
54
56
|
"TitleBarColor": "#cccccc",
|
|
55
|
-
"TitleBarColorInactive": "rgba(204, 204, 204, 0.6)"
|
|
57
|
+
"TitleBarColorInactive": "rgba(204, 204, 204, 0.6)",
|
|
58
|
+
|
|
59
|
+
"WorkbenchForeground": "#cccccc"
|
|
56
60
|
},
|
|
57
61
|
"tokenColors": [
|
|
58
62
|
{
|
|
@@ -230,6 +234,10 @@
|
|
|
230
234
|
{
|
|
231
235
|
"name": "KeywordThis",
|
|
232
236
|
"foreground": "#BE9296"
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
"name": "KeywordOperator",
|
|
240
|
+
"foreground": "#B4B4B4"
|
|
233
241
|
}
|
|
234
242
|
]
|
|
235
243
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lvce-editor/shared-process",
|
|
3
|
-
"version": "0.11.
|
|
3
|
+
"version": "0.11.10",
|
|
4
4
|
"description": "Utility package for @lvce-editor/server",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"@babel/code-frame": "^7.18.6",
|
|
20
|
-
"@lvce-editor/extension-host": "0.11.
|
|
21
|
-
"@lvce-editor/extension-host-helper-process": "0.11.
|
|
22
|
-
"@lvce-editor/pty-host": "0.11.
|
|
20
|
+
"@lvce-editor/extension-host": "0.11.10",
|
|
21
|
+
"@lvce-editor/extension-host-helper-process": "0.11.10",
|
|
22
|
+
"@lvce-editor/pty-host": "0.11.10",
|
|
23
23
|
"debug": "^4.3.4",
|
|
24
24
|
"execa": "^6.1.0",
|
|
25
25
|
"exit-hook": "^3.1.4",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"open": "^8.4.0",
|
|
30
30
|
"p-queue": "^7.3.0",
|
|
31
31
|
"parse-json": "^6.0.2",
|
|
32
|
-
"tail": "^2.2.
|
|
32
|
+
"tail": "^2.2.5",
|
|
33
33
|
"tar-fs": "^2.1.1",
|
|
34
34
|
"tmp-promise": "^3.0.3",
|
|
35
35
|
"trash": "^8.1.0",
|
package/src/parts/Cli/Cli.js
CHANGED
|
@@ -16,12 +16,12 @@ const getModule = (argv0) => {
|
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
export const handleCliArgs = async (argv
|
|
19
|
+
export const handleCliArgs = async (argv) => {
|
|
20
20
|
const argv0 = argv[0]
|
|
21
21
|
const module = await getModule(argv0)
|
|
22
22
|
// console.log('handle cli args')
|
|
23
23
|
try {
|
|
24
|
-
await module.handleCliArgs(argv
|
|
24
|
+
await module.handleCliArgs(argv)
|
|
25
25
|
} catch (error) {
|
|
26
26
|
Logger.error(error)
|
|
27
27
|
Process.setExitCode(1)
|
|
@@ -1,11 +1,26 @@
|
|
|
1
1
|
import * as ExtensionInstall from '../ExtensionInstall/ExtensionInstall.js'
|
|
2
2
|
import * as Logger from '../Logger/Logger.js'
|
|
3
|
+
import * as Process from '../Process/Process.js'
|
|
3
4
|
|
|
4
|
-
export const handleCliArgs = async (argv
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
export const handleCliArgs = async (argv) => {
|
|
6
|
+
try {
|
|
7
|
+
const extension = argv[1]
|
|
8
|
+
if (!extension) {
|
|
9
|
+
Logger.error('extension argument is required')
|
|
10
|
+
return
|
|
11
|
+
}
|
|
12
|
+
await ExtensionInstall.install(extension)
|
|
13
|
+
} catch (error) {
|
|
14
|
+
if (error && error.message && error.message.includes('Response code')) {
|
|
15
|
+
Logger.error(error.message)
|
|
16
|
+
Process.setExitCode(128)
|
|
17
|
+
return
|
|
18
|
+
}
|
|
19
|
+
if (error && error.message && error.message.includes('getaddrinfo EAI_AGAIN')) {
|
|
20
|
+
Logger.error(error.message)
|
|
21
|
+
Process.setExitCode(128)
|
|
22
|
+
return
|
|
23
|
+
}
|
|
24
|
+
throw error
|
|
9
25
|
}
|
|
10
|
-
await ExtensionInstall.install(extension)
|
|
11
26
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as ExtensionList from '../ExtensionList/ExtensionList.js'
|
|
2
|
+
import * as Logger from '../Logger/Logger.js'
|
|
2
3
|
|
|
3
4
|
const getOutputLine = (extension) => {
|
|
4
5
|
return `${extension.id}: ${extension.version}`
|
|
@@ -8,8 +9,8 @@ const getOutput = (extensions) => {
|
|
|
8
9
|
return extensions.map(getOutputLine).join('\n')
|
|
9
10
|
}
|
|
10
11
|
|
|
11
|
-
export const handleCliArgs = async (argv
|
|
12
|
+
export const handleCliArgs = async (argv) => {
|
|
12
13
|
const extensions = await ExtensionList.list()
|
|
13
14
|
const output = getOutput(extensions)
|
|
14
|
-
|
|
15
|
+
Logger.info(output)
|
|
15
16
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as ExtensionUnlink from '../ExtensionUnlink/ExtensionUnlink.js'
|
|
2
2
|
import * as Process from '../Process/Process.js'
|
|
3
3
|
|
|
4
|
-
export const handleCliArgs = async (argv
|
|
4
|
+
export const handleCliArgs = async (argv) => {
|
|
5
5
|
const path = argv.length > 1 ? argv[1] : Process.cwd()
|
|
6
6
|
await ExtensionUnlink.unlink(path)
|
|
7
7
|
}
|
|
@@ -1,14 +1,24 @@
|
|
|
1
|
-
import got from 'got'
|
|
1
|
+
import got, { RequestError } from 'got'
|
|
2
2
|
import { pipeline } from 'stream/promises'
|
|
3
3
|
import tar from 'tar-fs'
|
|
4
4
|
import { createGunzip } from 'zlib'
|
|
5
|
+
import { VError } from '../VError/VError.js'
|
|
5
6
|
|
|
6
7
|
export const downloadAndExtractTarGz = async ({ url, outDir, strip }) => {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
try {
|
|
9
|
+
await pipeline(
|
|
10
|
+
got.stream(url),
|
|
11
|
+
createGunzip(),
|
|
12
|
+
tar.extract(outDir, {
|
|
13
|
+
strip,
|
|
14
|
+
})
|
|
15
|
+
)
|
|
16
|
+
} catch (error) {
|
|
17
|
+
// console.log({ error })
|
|
18
|
+
if (error && error instanceof RequestError) {
|
|
19
|
+
console.log('is req error')
|
|
20
|
+
throw new VError(`Failed to download ${url}: ${error.message}`)
|
|
21
|
+
}
|
|
22
|
+
throw error
|
|
23
|
+
}
|
|
14
24
|
}
|
|
@@ -1,23 +1,13 @@
|
|
|
1
|
-
export const ENOENT = 'ENOENT'
|
|
2
|
-
|
|
3
|
-
export const EXDEV = 'EXDEV'
|
|
4
|
-
|
|
5
|
-
export const EEXIST = 'EEXIST'
|
|
6
|
-
|
|
7
|
-
export const ENOTDIR = 'ENOTDIR'
|
|
8
|
-
|
|
9
|
-
export const E_MANIFEST_NOT_FOUND = 'E_MANIFEST_NOT_FOUND'
|
|
10
|
-
|
|
11
|
-
export const EPIPE = 'EPIPE'
|
|
12
|
-
|
|
13
|
-
export const ERR_IPC_CHANNEL_CLOSED = 'ERR_IPC_CHANNEL_CLOSED'
|
|
14
|
-
|
|
15
1
|
export const E_COLOR_THEME_NOT_FOUND = 'E_COLOR_THEME_NOT_FOUND'
|
|
16
|
-
|
|
17
2
|
export const E_ICON_THEME_NOT_FOUND = 'E_ICON_THEME_NOT_FOUND'
|
|
18
|
-
|
|
3
|
+
export const E_MANIFEST_NOT_FOUND = 'E_MANIFEST_NOT_FOUND'
|
|
19
4
|
export const ECONNRESET = 'ECONNRESET'
|
|
20
|
-
|
|
5
|
+
export const EEXIST = 'EEXIST'
|
|
6
|
+
export const ELOOP = 'ELOOP'
|
|
7
|
+
export const ENOENT = 'ENOENT'
|
|
8
|
+
export const ENOTDIR = 'ENOTDIR'
|
|
21
9
|
export const EPERM = 'EPERM'
|
|
22
|
-
|
|
10
|
+
export const EPIPE = 'EPIPE'
|
|
11
|
+
export const ERR_IPC_CHANNEL_CLOSED = 'ERR_IPC_CHANNEL_CLOSED'
|
|
23
12
|
export const ERR_MODULE_NOT_FOUND = 'ERR_MODULE_NOT_FOUND'
|
|
13
|
+
export const EXDEV = 'EXDEV'
|
|
@@ -2,6 +2,7 @@ import * as ErrorCodes from '../ErrorCodes/ErrorCodes.js'
|
|
|
2
2
|
import * as PrettyError from '../PrettyError/PrettyError.js'
|
|
3
3
|
import * as Socket from '../Socket/Socket.js'
|
|
4
4
|
import * as Process from '../Process/Process.js'
|
|
5
|
+
import * as JsonRpcVersion from '../JsonRpcVersion/JsonRpcVersion.js'
|
|
5
6
|
|
|
6
7
|
export const state = {
|
|
7
8
|
seenErrors: [],
|
|
@@ -17,9 +18,7 @@ const preparePrettyError = (error) => {
|
|
|
17
18
|
}
|
|
18
19
|
|
|
19
20
|
const printPrettyError = (prettyError) => {
|
|
20
|
-
console.error(
|
|
21
|
-
`${prettyError.message}\n${prettyError.codeFrame}\n${prettyError.stack}`
|
|
22
|
-
)
|
|
21
|
+
console.error(`${prettyError.message}\n${prettyError.codeFrame}\n${prettyError.stack}`)
|
|
23
22
|
}
|
|
24
23
|
|
|
25
24
|
export const handleError = (error) => {
|
|
@@ -29,7 +28,7 @@ export const handleError = (error) => {
|
|
|
29
28
|
state.seenErrors.push(error.message)
|
|
30
29
|
const prettyError = preparePrettyError(error)
|
|
31
30
|
Socket.send({
|
|
32
|
-
jsonrpc:
|
|
31
|
+
jsonrpc: JsonRpcVersion.Two,
|
|
33
32
|
method: /* Dialog.showErrorDialogWithOptions */ 'Dialog.showMessage',
|
|
34
33
|
params: [
|
|
35
34
|
{
|
|
@@ -62,11 +61,7 @@ export const handleUncaughtExceptionMonitor = (error, origin) => {
|
|
|
62
61
|
// parent process is disposed, ignore
|
|
63
62
|
return
|
|
64
63
|
}
|
|
65
|
-
if (
|
|
66
|
-
error &&
|
|
67
|
-
error.code === ErrorCodes.ERR_IPC_CHANNEL_CLOSED &&
|
|
68
|
-
!Process.isConnected()
|
|
69
|
-
) {
|
|
64
|
+
if (error && error.code === ErrorCodes.ERR_IPC_CHANNEL_CLOSED && !Process.isConnected()) {
|
|
70
65
|
// parent process is disposed, ignore
|
|
71
66
|
return
|
|
72
67
|
}
|