@lvce-editor/shared-process 0.11.1 → 0.11.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/extensions/builtin.language-basics-xml/README.md +1 -1
- package/extensions/builtin.language-basics-xml/extension.json +14 -12
- package/extensions/builtin.language-basics-xml/src/tokenizeXml.js +6 -6
- package/extensions/builtin.vscode-icons/icon-theme.json +24 -0
- package/extensions/builtin.vscode-icons/icons/file_type_datadog.svg +1 -0
- package/extensions/builtin.vscode-icons/icons/file_type_esphome.svg +1 -0
- package/extensions/builtin.vscode-icons/icons/file_type_light_esphome.svg +1 -0
- package/extensions/builtin.vscode-icons/icons/file_type_light_mailing.svg +1 -0
- package/extensions/builtin.vscode-icons/icons/file_type_mailing.svg +1 -0
- package/extensions/builtin.vscode-icons/icons/file_type_pythowo.svg +1 -0
- package/extensions/builtin.vscode-icons/icons/folder_type_datadog.svg +66 -0
- package/extensions/builtin.vscode-icons/icons/folder_type_datadog_opened.svg +1 -0
- package/package.json +7 -64
- package/src/parts/Command/Command.js +23 -17
- package/src/parts/ExtensionHostHelperProcessIpc/ExtensionHostHelperProcessIpc.js +2 -2
- package/src/parts/ExtensionInstall/ExtensionInstall.ipc.js +3 -1
- package/src/parts/GetResponse/GetResponse.js +60 -0
- package/src/parts/GitLsFiles/GitLsFiles.ipc.js +7 -0
- package/src/parts/GitLsFiles/GitLsFiles.js +9 -0
- package/src/parts/JoinLines/JoinLines.js +3 -0
- package/src/parts/JsonRpc/JsonRpc.js +4 -0
- package/src/parts/LimitString/LimitString.js +15 -0
- package/src/parts/Module/Module.js +2 -0
- package/src/parts/ModuleId/ModuleId.js +1 -0
- package/src/parts/ModuleMap/ModuleMap.js +3 -1
- package/src/parts/ParentIpc/ParentIpc.js +11 -84
- package/src/parts/Platform/Platform.js +8 -9
- package/src/parts/Process/Process.ipc.js +4 -2
- package/src/parts/SearchFile/SearchFile.js +10 -5
- package/src/parts/Socket/Socket.js +3 -55
- package/src/parts/Terminal/Terminal.js +1 -1
- package/src/parts/WebSocketServer/WebSocketServer.ipc.js +3 -1
- package/src/parts/Workspace/Workspace.ipc.js +4 -2
- package/src/sharedProcessMain.js +3 -0
|
@@ -6,23 +6,20 @@
|
|
|
6
6
|
{
|
|
7
7
|
"id": "xml",
|
|
8
8
|
"extensions": [
|
|
9
|
-
".xml",
|
|
10
|
-
".xsd",
|
|
11
9
|
".ascx",
|
|
12
10
|
".atom",
|
|
13
|
-
".axml",
|
|
14
11
|
".axaml",
|
|
12
|
+
".axml",
|
|
15
13
|
".bpmn",
|
|
16
14
|
".cpt",
|
|
17
15
|
".csl",
|
|
18
|
-
".csproj",
|
|
19
16
|
".csproj.user",
|
|
17
|
+
".csproj",
|
|
20
18
|
".dita",
|
|
21
19
|
".ditamap",
|
|
22
20
|
".dtd",
|
|
23
|
-
".ent",
|
|
24
|
-
".mod",
|
|
25
21
|
".dtml",
|
|
22
|
+
".ent",
|
|
26
23
|
".fsproj",
|
|
27
24
|
".fxml",
|
|
28
25
|
".iml",
|
|
@@ -30,16 +27,18 @@
|
|
|
30
27
|
".jmx",
|
|
31
28
|
".launch",
|
|
32
29
|
".menu",
|
|
30
|
+
".mod",
|
|
33
31
|
".mxml",
|
|
34
32
|
".nuspec",
|
|
35
33
|
".opml",
|
|
36
34
|
".owl",
|
|
35
|
+
".plist",
|
|
37
36
|
".proj",
|
|
38
37
|
".props",
|
|
39
38
|
".pt",
|
|
40
39
|
".publishsettings",
|
|
41
|
-
".pubxml",
|
|
42
40
|
".pubxml.user",
|
|
41
|
+
".pubxml",
|
|
43
42
|
".rbxlx",
|
|
44
43
|
".rbxmx",
|
|
45
44
|
".rdf",
|
|
@@ -51,10 +50,11 @@
|
|
|
51
50
|
".targets",
|
|
52
51
|
".tld",
|
|
53
52
|
".tmx",
|
|
54
|
-
".vbproj",
|
|
55
53
|
".vbproj.user",
|
|
56
|
-
".
|
|
54
|
+
".vbproj",
|
|
57
55
|
".vcxproj.filters",
|
|
56
|
+
".vcxproj",
|
|
57
|
+
".vsixmanifest",
|
|
58
58
|
".wsdl",
|
|
59
59
|
".wxi",
|
|
60
60
|
".wxl",
|
|
@@ -64,11 +64,13 @@
|
|
|
64
64
|
".xib",
|
|
65
65
|
".xlf",
|
|
66
66
|
".xliff",
|
|
67
|
-
".
|
|
68
|
-
".xul",
|
|
67
|
+
".xml",
|
|
69
68
|
".xoml",
|
|
70
|
-
".
|
|
69
|
+
".xpdl",
|
|
70
|
+
".xsd",
|
|
71
|
+
".xul"
|
|
71
72
|
],
|
|
73
|
+
"fileNames": [".project"],
|
|
72
74
|
"tokenize": "src/tokenizeXml.js"
|
|
73
75
|
}
|
|
74
76
|
]
|
|
@@ -58,7 +58,7 @@ const RE_ANGLE_BRACKET_ONLY = /^</
|
|
|
58
58
|
const RE_ANGLE_BRACKET_OPEN = /^</
|
|
59
59
|
const RE_ANGLE_BRACKET_OPEN_TAG = /^<(?!\s)/
|
|
60
60
|
const RE_ANY_TEXT = /^[^\n]+/
|
|
61
|
-
const RE_ATTRIBUTE_NAME = /^[a-zA-Z\d
|
|
61
|
+
const RE_ATTRIBUTE_NAME = /^[a-zA-Z\d\-\:]+/
|
|
62
62
|
const RE_BLOCK_COMMENT_CONTENT = /^.(?:.*?)(?=-->|$)/s
|
|
63
63
|
const RE_BLOCK_COMMENT_END = /^-->/
|
|
64
64
|
const RE_BLOCK_COMMENT_START = /^<!--/
|
|
@@ -98,6 +98,8 @@ export const isLineStateEqual = (lineStateA, lineStateB) => {
|
|
|
98
98
|
return lineStateA.state === lineStateB.state
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
+
export const hasArrayReturn = true
|
|
102
|
+
|
|
101
103
|
/**
|
|
102
104
|
*
|
|
103
105
|
* @param {string} line
|
|
@@ -285,11 +287,9 @@ export const tokenizeLine = (line, lineState) => {
|
|
|
285
287
|
state
|
|
286
288
|
throw new Error('no')
|
|
287
289
|
}
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
length: next[0].length,
|
|
292
|
-
})
|
|
290
|
+
const tokenLength = next[0].length
|
|
291
|
+
index += tokenLength
|
|
292
|
+
tokens.push(token, tokenLength)
|
|
293
293
|
}
|
|
294
294
|
return {
|
|
295
295
|
state,
|
|
@@ -78,6 +78,8 @@
|
|
|
78
78
|
"_fd_light_cypress_open": "/icons/folder_type_light_cypress_opened.svg",
|
|
79
79
|
"_fd_dapr": "/icons/folder_type_dapr.svg",
|
|
80
80
|
"_fd_dapr_open": "/icons/folder_type_dapr_opened.svg",
|
|
81
|
+
"_fd_datadog": "/icons/folder_type_datadog.svg",
|
|
82
|
+
"_fd_datadog_open": "/icons/folder_type_datadog_opened.svg",
|
|
81
83
|
"_fd_db": "/icons/folder_type_db.svg",
|
|
82
84
|
"_fd_db_open": "/icons/folder_type_db_opened.svg",
|
|
83
85
|
"_fd_debian": "/icons/folder_type_debian.svg",
|
|
@@ -439,6 +441,7 @@
|
|
|
439
441
|
"_f_dartlang": "/icons/file_type_dartlang.svg",
|
|
440
442
|
"_f_dartlang_generated": "/icons/file_type_dartlang_generated.svg",
|
|
441
443
|
"_f_dartlang_ignore": "/icons/file_type_dartlang_ignore.svg",
|
|
444
|
+
"_f_datadog": "/icons/file_type_datadog.svg",
|
|
442
445
|
"_f_db": "/icons/file_type_db.svg",
|
|
443
446
|
"_f_light_db": "/icons/file_type_light_db.svg",
|
|
444
447
|
"_f_delphi": "/icons/file_type_delphi.svg",
|
|
@@ -487,6 +490,8 @@
|
|
|
487
490
|
"_f_erlang": "/icons/file_type_erlang.svg",
|
|
488
491
|
"_f_esbuild": "/icons/file_type_esbuild.svg",
|
|
489
492
|
"_f_eslint": "/icons/file_type_eslint.svg",
|
|
493
|
+
"_f_esphome": "/icons/file_type_esphome.svg",
|
|
494
|
+
"_f_light_esphome": "/icons/file_type_light_esphome.svg",
|
|
490
495
|
"_f_excel": "/icons/file_type_excel.svg",
|
|
491
496
|
"_f_expo": "/icons/file_type_expo.svg",
|
|
492
497
|
"_f_light_expo": "/icons/file_type_light_expo.svg",
|
|
@@ -662,6 +667,8 @@
|
|
|
662
667
|
"_f_lua": "/icons/file_type_lua.svg",
|
|
663
668
|
"_f_luau": "/icons/file_type_luau.svg",
|
|
664
669
|
"_f_lync": "/icons/file_type_lync.svg",
|
|
670
|
+
"_f_mailing": "/icons/file_type_mailing.svg",
|
|
671
|
+
"_f_light_mailing": "/icons/file_type_light_mailing.svg",
|
|
665
672
|
"_f_manifest": "/icons/file_type_manifest.svg",
|
|
666
673
|
"_f_manifest_bak": "/icons/file_type_manifest_bak.svg",
|
|
667
674
|
"_f_manifest_skip": "/icons/file_type_manifest_skip.svg",
|
|
@@ -802,6 +809,7 @@
|
|
|
802
809
|
"_f_light_purescript": "/icons/file_type_light_purescript.svg",
|
|
803
810
|
"_f_pyret": "/icons/file_type_pyret.svg",
|
|
804
811
|
"_f_python": "/icons/file_type_python.svg",
|
|
812
|
+
"_f_pythowo": "/icons/file_type_pythowo.svg",
|
|
805
813
|
"_f_pytyped": "/icons/file_type_pytyped.svg",
|
|
806
814
|
"_f_pyup": "/icons/file_type_pyup.svg",
|
|
807
815
|
"_f_q": "/icons/file_type_q.svg",
|
|
@@ -1149,6 +1157,8 @@
|
|
|
1149
1157
|
"cypress.config.mjs": "_f_cypress",
|
|
1150
1158
|
".boringignore": "_f_darcs",
|
|
1151
1159
|
".pubignore": "_f_dartlang_ignore",
|
|
1160
|
+
"service.datadog.yaml": "_f_datadog",
|
|
1161
|
+
"datadog-ci.json": "_f_datadog",
|
|
1152
1162
|
"deno.json": "_f_deno",
|
|
1153
1163
|
"deno.jsonc": "_f_deno",
|
|
1154
1164
|
"dependabot.yml": "_f_dependabot",
|
|
@@ -1418,6 +1428,7 @@
|
|
|
1418
1428
|
"lint-staged.config.mjs": "_f_lintstagedrc",
|
|
1419
1429
|
"lint-staged.config.js": "_f_lintstagedrc",
|
|
1420
1430
|
"lint-staged.config.cjs": "_f_lintstagedrc",
|
|
1431
|
+
"mailing.config.json": "_f_mailing",
|
|
1421
1432
|
"manifest": "_f_manifest",
|
|
1422
1433
|
"manifest.bak": "_f_manifest_bak",
|
|
1423
1434
|
"manifest.skip": "_f_manifest_skip",
|
|
@@ -2064,6 +2075,8 @@
|
|
|
2064
2075
|
"cypress": "_fd_cypress",
|
|
2065
2076
|
".dapr": "_fd_dapr",
|
|
2066
2077
|
"dapr": "_fd_dapr",
|
|
2078
|
+
"datadog": "_fd_datadog",
|
|
2079
|
+
".datadog": "_fd_datadog",
|
|
2067
2080
|
"db": "_fd_db",
|
|
2068
2081
|
"database": "_fd_db",
|
|
2069
2082
|
"sql": "_fd_db",
|
|
@@ -2322,6 +2335,7 @@
|
|
|
2322
2335
|
".tools": "_fd_tools",
|
|
2323
2336
|
"util": "_fd_tools",
|
|
2324
2337
|
"utils": "_fd_tools",
|
|
2338
|
+
"utilities": "_fd_tools",
|
|
2325
2339
|
".travis": "_fd_travis",
|
|
2326
2340
|
".trunk": "_fd_trunk",
|
|
2327
2341
|
"typescript": "_fd_typescript",
|
|
@@ -2458,6 +2472,8 @@
|
|
|
2458
2472
|
"cypress": "_fd_cypress_open",
|
|
2459
2473
|
".dapr": "_fd_dapr_open",
|
|
2460
2474
|
"dapr": "_fd_dapr_open",
|
|
2475
|
+
"datadog": "_fd_datadog_open",
|
|
2476
|
+
".datadog": "_fd_datadog_open",
|
|
2461
2477
|
"db": "_fd_db_open",
|
|
2462
2478
|
"database": "_fd_db_open",
|
|
2463
2479
|
"sql": "_fd_db_open",
|
|
@@ -2716,6 +2732,7 @@
|
|
|
2716
2732
|
".tools": "_fd_tools_open",
|
|
2717
2733
|
"util": "_fd_tools_open",
|
|
2718
2734
|
"utils": "_fd_tools_open",
|
|
2735
|
+
"utilities": "_fd_tools_open",
|
|
2719
2736
|
".travis": "_fd_travis_open",
|
|
2720
2737
|
".trunk": "_fd_trunk_open",
|
|
2721
2738
|
"typescript": "_fd_typescript_open",
|
|
@@ -3077,6 +3094,7 @@
|
|
|
3077
3094
|
"pro": "_f_prolog",
|
|
3078
3095
|
"pub": "_f_publisher",
|
|
3079
3096
|
"puz": "_f_publisher",
|
|
3097
|
+
"pyowo": "_f_pythowo",
|
|
3080
3098
|
"q": "_f_q",
|
|
3081
3099
|
"qbs": "_f_qbs",
|
|
3082
3100
|
"qvd": "_f_qlikview",
|
|
@@ -3129,12 +3147,16 @@
|
|
|
3129
3147
|
"spec.mjs": "_f_testjs",
|
|
3130
3148
|
"test.ts": "_f_testts",
|
|
3131
3149
|
"test.tsx": "_f_testts",
|
|
3150
|
+
"test.mts": "_f_testts",
|
|
3132
3151
|
"spec.ts": "_f_testts",
|
|
3133
3152
|
"spec.tsx": "_f_testts",
|
|
3153
|
+
"spec.mts": "_f_testts",
|
|
3134
3154
|
"e2e-test.ts": "_f_testts",
|
|
3135
3155
|
"e2e-test.tsx": "_f_testts",
|
|
3156
|
+
"e2e-test.mts": "_f_testts",
|
|
3136
3157
|
"e2e-spec.ts": "_f_testts",
|
|
3137
3158
|
"e2e-spec.tsx": "_f_testts",
|
|
3159
|
+
"e2e-spec.mts": "_f_testts",
|
|
3138
3160
|
"texi": "_f_tex",
|
|
3139
3161
|
"tikz": "_f_tex",
|
|
3140
3162
|
"csv": "_f_text",
|
|
@@ -3320,6 +3342,7 @@
|
|
|
3320
3342
|
"erb": "_f_erb",
|
|
3321
3343
|
"html.erb": "_f_erb",
|
|
3322
3344
|
"erlang": "_f_erlang",
|
|
3345
|
+
"esphome": "_f_esphome",
|
|
3323
3346
|
"falcon": "_f_falcon",
|
|
3324
3347
|
"fql": "_f_fauna",
|
|
3325
3348
|
"fortran": "_f_fortran",
|
|
@@ -3490,6 +3513,7 @@
|
|
|
3490
3513
|
"purescript": "_f_purescript",
|
|
3491
3514
|
"pyret": "_f_pyret",
|
|
3492
3515
|
"python": "_f_python",
|
|
3516
|
+
"pythowo": "_f_pythowo",
|
|
3493
3517
|
"qlik": "_f_qlikview",
|
|
3494
3518
|
"qml": "_f_qml",
|
|
3495
3519
|
"qsharp": "_f_qsharp",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg version="1.1" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><title>file_type_rust</title><g transform="matrix(.032852 0 0 .032852 3.022 1.8624)"><path d="m584.65 49.556-506.77 58.406-11.799 132.15s43.067 494.97 42.477 493.2c-0.58996-1.7699 60.578 39.195 60.578 39.195s23.451 83.457 107.98 61.068c84.531-22.389 37.507-124.43 30.75-137.67-6.7572-13.246 31.953 36.231 31.953 36.231l46.845-5.6177 7.3802 61.543 372.65-67.16-22.19-268.56z" fill="#fff"/><path class="st0" d="m670.38 608.27-71.24-46.99-59.43 99.27-69.12-20.21-60.86 92.89 3.12 29.24 330.9-60.97-19.22-206.75zm-308.59-89.14 53.09-7.3c8.59 3.86 14.57 5.33 24.87 7.95 16.04 4.18 34.61 8.19 62.11-5.67 6.4-3.17 19.73-15.36 25.12-22.31l217.52-39.46 22.19 268.56-372.65 67.16zm404.06-96.77-21.47 4.09-41.25-426.18-702.86 81.5 86.59 702.68 82.27-11.94c-6.57-9.38-16.8-20.73-34.27-35.26-24.23-20.13-15.66-54.32-1.37-75.91 18.91-36.48 116.34-82.84 110.82-141.15-1.98-21.2-5.35-48.8-25.03-67.71-0.74 7.85 0.59 15.41 0.59 15.41s-8.08-10.31-12.11-24.37c-4-5.39-7.14-7.11-11.39-14.31-3.03 8.33-2.63 17.99-2.63 17.99s-6.61-15.62-7.68-28.8c-3.92 5.9-4.91 17.11-4.91 17.11s-8.59-24.62-6.63-37.88c-3.92-11.54-15.54-34.44-12.25-86.49 21.45 15.03 68.67 11.46 87.07-15.66 6.11-8.98 10.29-33.5-3.05-81.81-8.57-30.98-29.79-77.11-38.06-94.61l-0.99 0.71c4.36 14.1 13.35 43.66 16.8 57.99 10.44 43.47 13.24 58.6 8.34 78.64-4.17 17.42-14.17 28.82-39.52 41.56-25.35 12.78-58.99-18.32-61.12-20.04-24.63-19.62-43.68-51.63-45.81-67.18-2.21-17.02 9.81-27.24 15.87-41.16-8.67 2.48-18.34 6.88-18.34 6.88s11.54-11.94 25.77-22.27c5.89-3.9 9.35-6.38 15.56-11.54-8.99-0.15-16.29 0.11-16.29 0.11s14.99-8.1 30.53-14c-11.37-0.5-22.25-0.08-22.25-0.08s33.45-14.96 59.87-25.94c18.17-7.45 35.92-5.25 45.89 9.17 13.09 18.89 26.84 29.15 55.98 35.51 17.89-7.93 23.33-12.01 45.81-18.13 19.79-21.76 35.33-24.58 35.33-24.58s-7.71 7.07-9.77 18.18c11.22-8.84 23.52-16.22 23.52-16.22s-4.76 5.88-9.2 15.22l1.03 1.53c13.09-7.85 28.48-14.04 28.48-14.04s-4.4 5.56-9.56 12.76c9.87-0.08 29.89 0.42 37.66 1.3 45.87 1.01 55.39-48.99 72.99-55.26 22.04-7.87 31.89-12.63 69.45 24.26 32.23 31.67 57.41 88.36 44.91 101.06-10.48 10.54-31.16-4.11-54.08-32.68-12.11-15.13-21.27-33.01-25.56-55.74-3.62-19.18-17.71-30.31-17.71-30.31s8.18 18.18 8.18 34.24c0 8.77 1.1 41.56 15.16 59.96-1.39 2.69-2.04 13.31-3.58 15.34-16.36-19.77-51.49-33.92-57.22-38.09 19.39 15.89 63.96 52.39 81.08 87.37 16.19 33.08 6.65 63.4 14.84 71.25 2.33 2.25 34.82 42.73 41.07 63.07 10.9 35.45 0.65 72.7-13.62 95.81l-39.85 6.21c-5.83-1.62-9.76-2.43-14.99-5.46 2.88-5.1 8.61-17.82 8.67-20.44l-2.25-3.95c-12.4 17.57-33.18 34.63-50.44 44.43-22.59 12.8-48.63 10.83-65.58 5.58-48.11-14.84-93.6-47.35-104.57-55.89 0 0-0.34 6.82 1.73 8.35 12.13 13.68 39.92 38.43 66.78 55.68l-57.26 6.3 27.07 210.78c-12 1.72-13.87 2.56-27.01 4.43-11.58-40.91-33.73-67.62-57.94-83.18-21.35-13.72-50.8-16.81-78.99-11.23l-1.81 2.1c19.6-2.04 42.74 0.8 66.51 15.85 23.33 14.75 42.13 52.85 49.05 75.79 8.86 29.32 14.99 60.68-8.86 93.92-16.97 23.63-66.51 36.69-106.53 8.44 10.69 17.19 25.14 31.25 44.59 33.9 28.88 3.92 56.29-1.09 75.16-20.46 16.11-16.56 24.65-51.19 22.4-87.66l25.49-3.7 9.2 65.46 421.98-50.81zm-256.73-177.77c-1.18 2.69-3.03 4.45-0.25 13.2l0.17 0.5 0.44 1.13 1.16 2.62c5.01 10.24 10.51 19.9 19.7 24.83 2.38-0.4 4.84-0.67 7.39-0.8 8.63-0.38 14.08 0.99 17.54 2.85 0.31-1.72 0.38-4.24 0.19-7.95-0.67-12.97 2.57-35.03-22.36-46.64-9.41-4.37-22.61-3.02-27.01 2.43 0.8 0.1 1.52 0.27 2.08 0.46 6.65 2.33 2.14 4.62 0.95 7.37m69.87 121.02c-3.27-1.8-18.55-1.09-29.29 0.19-20.46 2.41-42.55 9.51-47.39 13.29-8.8 6.8-4.8 18.66 1.7 23.53 18.23 13.62 34.21 22.75 51.08 20.53 10.36-1.36 19.49-17.76 25.96-32.64 4.43-10.25 4.43-21.31-2.06-24.9m-181.14-104.96c5.77-5.48-28.74-12.68-55.52 5.58-19.75 13.47-20.38 42.35-1.47 58.72 1.89 1.62 3.45 2.77 4.91 3.71 5.52-2.6 11.81-5.23 19.05-7.58 12.23-3.97 22.4-6.02 30.76-7.11 4-4.47 8.65-12.34 7.49-26.59-1.58-19.33-16.23-16.26-5.22-26.73" clip-rule="evenodd" fill="#632ca6" fill-rule="evenodd"/></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><title>file_type_esphome</title><path d="M26.54,8.146v-1.6a1.027,1.027,0,1,1,2.017,0v1.6m-5.4,0v-1.6a1.016,1.016,0,0,1,.989-1.027.989.989,0,0,1,1.027.95q0,.039,0,.078v1.6m-5.441,0v-1.6a1.027,1.027,0,1,1,2.017,0v1.6m-5.4,0v-1.6a1.027,1.027,0,1,1,2.017,0v1.6m-5.441,0v-1.6a1.027,1.027,0,1,1,2.017,0v1.6m-5.441,0v-1.6a1.027,1.027,0,1,1,2.055,0v1.6M28.557,23.29v1.75a1.027,1.027,0,1,1-2.017,0V23.29m-1.37,0v1.75a1.027,1.027,0,1,1-2.017,0V23.29m-1.408,0v1.75a1.027,1.027,0,1,1-2.017,0V23.29m-1.37,0v1.75a1.027,1.027,0,1,1-2.017,0V23.29m-1.446,0v1.75a1.027,1.027,0,1,1-2.017,0V23.29m-1.37.076v1.712a1.027,1.027,0,1,1-2.017,0V23.366" style="fill:none;stroke:#eee;stroke-width:1.031628607691953px"/><path d="M29.089,8.146H9a.381.381,0,0,0-.381.381V22.986A.407.407,0,0,0,9,23.328H29.089a.409.409,0,0,0,.381-.381V8.488a.409.409,0,0,0-.381-.381Z" style="stroke:#eee;stroke-width:1.031628607691953px"/><path d="M22.354,15.452v-1.9H21.67v1.218l-2.587-2.587-4.376,4.376h1.1v2.968h6.545V16.555h1.1Z" style="fill:#eee"/><path d="M8.542,22.453H2.53V20.931H7.058V19.485H2.53V17.963H7.058V16.479H2.53V14.995H7.058V13.549H2.53V8.983" style="fill:none;stroke:#eee;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.031628607691953px"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><title>file_type_light_esphome</title><path d="M26.54,8.146v-1.6a1.027,1.027,0,1,1,2.017,0v1.6m-5.4,0v-1.6a1.016,1.016,0,0,1,.989-1.027.989.989,0,0,1,1.027.95q0,.039,0,.078v1.6m-5.441,0v-1.6a1.027,1.027,0,1,1,2.017,0v1.6m-5.4,0v-1.6a1.027,1.027,0,1,1,2.017,0v1.6m-5.441,0v-1.6a1.027,1.027,0,1,1,2.017,0v1.6m-5.441,0v-1.6a1.027,1.027,0,1,1,2.055,0v1.6M28.557,23.29v1.75a1.027,1.027,0,1,1-2.017,0V23.29m-1.37,0v1.75a1.027,1.027,0,1,1-2.017,0V23.29m-1.408,0v1.75a1.027,1.027,0,1,1-2.017,0V23.29m-1.37,0v1.75a1.027,1.027,0,1,1-2.017,0V23.29m-1.446,0v1.75a1.027,1.027,0,1,1-2.017,0V23.29m-1.37.076v1.712a1.027,1.027,0,1,1-2.017,0V23.366" style="fill:none;stroke:#000;stroke-width:1.031628607691953px"/><path d="M29.089,8.146H9a.381.381,0,0,0-.381.381V22.986A.407.407,0,0,0,9,23.328H29.089a.409.409,0,0,0,.381-.381V8.488a.409.409,0,0,0-.381-.381Z" style="fill:none;stroke:#000;stroke-width:1.031628607691953px"/><path d="M22.354,15.452v-1.9H21.67v1.218l-2.587-2.587-4.376,4.376h1.1v2.968h6.545V16.555h1.1Z"/><path d="M8.542,22.453H2.53V20.931H7.058V19.485H2.53V17.963H7.058V16.479H2.53V14.995H7.058V13.549H2.53V8.983" style="fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.031628607691953px"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32"><defs><mask id="mask" x="4.83" y="21.4" width="22.34" height="8.56" maskUnits="userSpaceOnUse"><g id="mask0_521_430" data-name="mask0 521 430"><rect x="4.83" y="25.5" width="22.34" height="4.47" style="fill:#c4c4c4"/></g></mask></defs><title>file_type_light_mailing</title><g style="mask:url(#mask)"><path d="M16,23.63a2.05,2.05,0,1,0,2,2.05A2,2,0,0,0,16,23.63Zm0-2.23a4.28,4.28,0,1,0,4.21,4.28A4.24,4.24,0,0,0,16,21.4Z" style="fill-rule:evenodd"/><path d="M23,23.63a2.05,2.05,0,1,0,2,2.05A2,2,0,0,0,23,23.63Zm0-2.23a4.28,4.28,0,1,0,4.21,4.28A4.24,4.24,0,0,0,23,21.4Z" style="fill-rule:evenodd"/><path d="M9,23.63a2.05,2.05,0,1,0,2,2.05A2,2,0,0,0,9,23.63ZM9,21.4a4.28,4.28,0,1,0,4.21,4.28A4.24,4.24,0,0,0,9,21.4Z" style="fill-rule:evenodd"/></g><circle cx="16" cy="12.65" r="10.61"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32"><defs><mask id="mask" x="4.83" y="21.4" width="22.34" height="8.56" maskUnits="userSpaceOnUse"><g id="mask0_521_430" data-name="mask0 521 430"><rect x="4.83" y="25.5" width="22.34" height="4.47" style="fill:#c4c4c4"/></g></mask></defs><title>file_type_mailing</title><g style="mask:url(#mask)"><path d="M16,23.63a2.05,2.05,0,1,0,2,2.05A2,2,0,0,0,16,23.63Zm0-2.23a4.28,4.28,0,1,0,4.21,4.28A4.24,4.24,0,0,0,16,21.4Z" style="fill-rule:evenodd;fill:#d2d2d2"/><path d="M23,23.63a2.05,2.05,0,1,0,2,2.05A2,2,0,0,0,23,23.63Zm0-2.23a4.28,4.28,0,1,0,4.21,4.28A4.24,4.24,0,0,0,23,21.4Z" style="fill-rule:evenodd;fill:#d2d2d2"/><path d="M9,23.63a2.05,2.05,0,1,0,2,2.05A2,2,0,0,0,9,23.63ZM9,21.4a4.28,4.28,0,1,0,4.21,4.28A4.24,4.24,0,0,0,9,21.4Z" style="fill-rule:evenodd;fill:#d2d2d2"/></g><circle cx="16" cy="12.65" r="10.61" style="fill:#d2d2d2"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><title>file_type_pythowo</title><path d="M23.082,10.625v2.755a3.979,3.979,0,0,1-3.875,3.933h-6.2a3.164,3.164,0,0,0-3.1,3.152v5.907c0,1.681,1.462,2.67,3.1,3.152a10.379,10.379,0,0,0,6.2,0c1.562-.452,3.1-1.362,3.1-3.152V24.008h-6.2v-.788h9.3c1.8,0,2.475-1.258,3.1-3.145a10.646,10.646,0,0,0,0-6.3c-.446-1.795-1.3-3.145-3.1-3.145ZM19.6,25.584a1.182,1.182,0,1,1-1.164,1.178A1.171,1.171,0,0,1,19.6,25.584ZM3.034,2" style="fill:#e94475"/><path d="M24.008,2a.215.215,0,0,0-.082.012,2.57,2.57,0,0,1-1.475,1c-.5.084-.979.239-1.483.28a2.612,2.612,0,0,0-1.885.887l.048.055c-.246-.04-.491-.074-.731-.1-.034,0,.172-.371.008-.338l-.2.041s.1-.228.06-.3c-.1.031-.3.343-.3.343s-.114-.168-.2-.168c-.055.1.022.358.022.358-.554-.049-1.1-.069-1.618-.075h-.2a17.713,17.713,0,0,0-2.964.253c-2.625.464-3.1,1.434-3.1,3.225V9.837h6.2v.788H7.58a3.872,3.872,0,0,0-2.729,1.063,1.875,1.875,0,0,0-.726-.492c.069.246.134.494.223.734a2.094,2.094,0,0,0-1.314.392,1.857,1.857,0,0,0,.884.055A1.024,1.024,0,0,0,3.38,13a1.534,1.534,0,0,0,.589-.018,4.8,4.8,0,0,0-.264.791,11.6,11.6,0,0,0,0,6.3C4.146,21.911,5.2,23.219,7,23.219H9.135V20.385a3.942,3.942,0,0,1,3.875-3.854h6.2a3.125,3.125,0,0,0,3.1-3.152V7.868l.013.015a.174.174,0,0,1-.013-.046V7.771c.039-.131.3-.167.4-.264.1-.216-.184-.286-.305-.4a2.2,2.2,0,0,0,.764-.421.234.234,0,0,0,.062-.292,1.85,1.85,0,0,0-.362-.21c.414-.251.566-.729.832-1.1.1-.134,0-.251-.106-.337.2-.268.4-.537.582-.817l-.081-.2q-.173.06-.343.126c.343-.418.1-.983.342-1.434C24.176,2.286,24.175,2.015,24.008,2Zm-.527,1.2c.074.4-.353.61-.486.937a4.366,4.366,0,0,1-.9,2.249,2.443,2.443,0,0,1-.219.217c-.043.029-.086.072-.133.1a.188.188,0,0,1-.113.038.144.144,0,0,1-.042-.009.979.979,0,0,1-.486-.538.353.353,0,0,1,.044-.086h0a.612.612,0,0,1,.216-.171l.06-.034A.878.878,0,0,0,21.6,5.8a.4.4,0,0,0,.061-.07,2.7,2.7,0,0,0-.654.109l-.11-.1c.124-.172.244-.349.353-.531.027-.045.057-.088.082-.134a1.483,1.483,0,0,0-.164.06h0c-.1.044-.2.095-.3.145l-.081.039-.067.03a1.493,1.493,0,0,1-.189.068c-.028.008-.056.015-.085.02l-.039.007a.832.832,0,0,1-.134.01.213.213,0,0,1-.034-.152.242.242,0,0,1,.024-.07h0a.365.365,0,0,1,.043-.065.694.694,0,0,1,.123-.113,1.364,1.364,0,0,1,.132-.085.7.7,0,0,1,.136-.071l.1-.04h0c.119-.049.232-.106.266-.238a1.467,1.467,0,0,0-.545.074c-.066.02-.13.044-.195.07-.178.07-.353.149-.53.221l-.216-.246.006-.024.012-.033a.825.825,0,0,1,.216-.284l0,0c.031-.028.062-.058.092-.08.845-.637,1.964-.537,2.938-.817.235-.055.4-.283.647-.287ZM12.62,5.9a1.182,1.182,0,1,1-1.164,1.186A1.177,1.177,0,0,1,12.62,5.9Z" style="fill:#2298d3"/></svg>
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<svg
|
|
3
|
+
viewBox="0 0 32 32"
|
|
4
|
+
version="1.1"
|
|
5
|
+
id="svg349"
|
|
6
|
+
sodipodi:docname="folder_type_datadogi.svg"
|
|
7
|
+
inkscape:version="1.2 (dc2aedaf03, 2022-05-15)"
|
|
8
|
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
9
|
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
10
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
11
|
+
xmlns:svg="http://www.w3.org/2000/svg"
|
|
12
|
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
13
|
+
xmlns:cc="http://creativecommons.org/ns#"
|
|
14
|
+
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
|
15
|
+
<defs
|
|
16
|
+
id="defs353" />
|
|
17
|
+
<sodipodi:namedview
|
|
18
|
+
id="namedview351"
|
|
19
|
+
pagecolor="#ffffff"
|
|
20
|
+
bordercolor="#000000"
|
|
21
|
+
borderopacity="0.25"
|
|
22
|
+
inkscape:showpageshadow="2"
|
|
23
|
+
inkscape:pageopacity="0.0"
|
|
24
|
+
inkscape:pagecheckerboard="0"
|
|
25
|
+
inkscape:deskcolor="#d1d1d1"
|
|
26
|
+
showgrid="false"
|
|
27
|
+
inkscape:zoom="14.75"
|
|
28
|
+
inkscape:cx="20.135593"
|
|
29
|
+
inkscape:cy="18.847458"
|
|
30
|
+
inkscape:window-width="1920"
|
|
31
|
+
inkscape:window-height="1129"
|
|
32
|
+
inkscape:window-x="-8"
|
|
33
|
+
inkscape:window-y="-8"
|
|
34
|
+
inkscape:window-maximized="1"
|
|
35
|
+
inkscape:current-layer="svg349" />
|
|
36
|
+
<title
|
|
37
|
+
id="title343">folder_type_circleci</title>
|
|
38
|
+
<path
|
|
39
|
+
d="M27.5,5.5H18.2L16.1,9.7H4.4V26.5H29.6V5.5Zm0,4.2H19.3l1.1-2.1h7.1Z"
|
|
40
|
+
style="fill:#632ca6;fill-opacity:1"
|
|
41
|
+
id="path345" />
|
|
42
|
+
<g
|
|
43
|
+
transform="matrix(0.02453872,0,0,0.02453872,11.25919,10.063413)"
|
|
44
|
+
id="g27">
|
|
45
|
+
<path
|
|
46
|
+
d="M 584.65,49.556 77.88,107.962 66.081,240.112 c 0,0 43.067,494.97 42.477,493.2 -0.58996,-1.7699 60.578,39.195 60.578,39.195 0,0 23.451,83.457 107.98,61.068 84.531,-22.389 37.507,-124.43 30.75,-137.67 -6.7572,-13.246 31.953,36.231 31.953,36.231 l 46.845,-5.6177 7.3802,61.543 372.65,-67.16 -22.19,-268.56 z"
|
|
47
|
+
fill="#ffffff"
|
|
48
|
+
id="path23" />
|
|
49
|
+
<path
|
|
50
|
+
class="st0"
|
|
51
|
+
d="m 670.38,608.27 -71.24,-46.99 -59.43,99.27 -69.12,-20.21 -60.86,92.89 3.12,29.24 330.9,-60.97 -19.22,-206.75 z m -308.59,-89.14 53.09,-7.3 c 8.59,3.86 14.57,5.33 24.87,7.95 16.04,4.18 34.61,8.19 62.11,-5.67 6.4,-3.17 19.73,-15.36 25.12,-22.31 L 744.5,452.34 766.69,720.9 394.04,788.06 Z M 765.85,422.36 744.38,426.45 703.13,0.27 0.27,81.77 86.86,784.45 169.13,772.51 c -6.57,-9.38 -16.8,-20.73 -34.27,-35.26 -24.23,-20.13 -15.66,-54.32 -1.37,-75.91 18.91,-36.48 116.34,-82.84 110.82,-141.15 -1.98,-21.2 -5.35,-48.8 -25.03,-67.71 -0.74,7.85 0.59,15.41 0.59,15.41 0,0 -8.08,-10.31 -12.11,-24.37 -4,-5.39 -7.14,-7.11 -11.39,-14.31 -3.03,8.33 -2.63,17.99 -2.63,17.99 0,0 -6.61,-15.62 -7.68,-28.8 -3.92,5.9 -4.91,17.11 -4.91,17.11 0,0 -8.59,-24.62 -6.63,-37.88 -3.92,-11.54 -15.54,-34.44 -12.25,-86.49 21.45,15.03 68.67,11.46 87.07,-15.66 6.11,-8.98 10.29,-33.5 -3.05,-81.81 -8.57,-30.98 -29.79,-77.11 -38.06,-94.61 l -0.99,0.71 c 4.36,14.1 13.35,43.66 16.8,57.99 10.44,43.47 13.24,58.6 8.34,78.64 -4.17,17.42 -14.17,28.82 -39.52,41.56 -25.35,12.78 -58.99,-18.32 -61.12,-20.04 -24.63,-19.62 -43.68,-51.63 -45.81,-67.18 -2.21,-17.02 9.81,-27.24 15.87,-41.16 -8.67,2.48 -18.34,6.88 -18.34,6.88 0,0 11.54,-11.94 25.77,-22.27 5.89,-3.9 9.35,-6.38 15.56,-11.54 -8.99,-0.15 -16.29,0.11 -16.29,0.11 0,0 14.99,-8.1 30.53,-14 -11.37,-0.5 -22.25,-0.08 -22.25,-0.08 0,0 33.45,-14.96 59.87,-25.94 18.17,-7.45 35.92,-5.25 45.89,9.17 13.09,18.89 26.84,29.15 55.98,35.51 17.89,-7.93 23.33,-12.01 45.81,-18.13 19.79,-21.76 35.33,-24.58 35.33,-24.58 0,0 -7.71,7.07 -9.77,18.18 11.22,-8.84 23.52,-16.22 23.52,-16.22 0,0 -4.76,5.88 -9.2,15.22 l 1.03,1.53 c 13.09,-7.85 28.48,-14.04 28.48,-14.04 0,0 -4.4,5.56 -9.56,12.76 9.87,-0.08 29.89,0.42 37.66,1.3 45.87,1.01 55.39,-48.99 72.99,-55.26 22.04,-7.87 31.89,-12.63 69.45,24.26 32.23,31.67 57.41,88.36 44.91,101.06 -10.48,10.54 -31.16,-4.11 -54.08,-32.68 -12.11,-15.13 -21.27,-33.01 -25.56,-55.74 -3.62,-19.18 -17.71,-30.31 -17.71,-30.31 0,0 8.18,18.18 8.18,34.24 0,8.77 1.1,41.56 15.16,59.96 -1.39,2.69 -2.04,13.31 -3.58,15.34 -16.36,-19.77 -51.49,-33.92 -57.22,-38.09 19.39,15.89 63.96,52.39 81.08,87.37 16.19,33.08 6.65,63.4 14.84,71.25 2.33,2.25 34.82,42.73 41.07,63.07 10.9,35.45 0.65,72.7 -13.62,95.81 l -39.85,6.21 c -5.83,-1.62 -9.76,-2.43 -14.99,-5.46 2.88,-5.1 8.61,-17.82 8.67,-20.44 l -2.25,-3.95 c -12.4,17.57 -33.18,34.63 -50.44,44.43 -22.59,12.8 -48.63,10.83 -65.58,5.58 -48.11,-14.84 -93.6,-47.35 -104.57,-55.89 0,0 -0.34,6.82 1.73,8.35 12.13,13.68 39.92,38.43 66.78,55.68 l -57.26,6.3 27.07,210.78 c -12,1.72 -13.87,2.56 -27.01,4.43 -11.58,-40.91 -33.73,-67.62 -57.94,-83.18 -21.35,-13.72 -50.8,-16.81 -78.99,-11.23 l -1.81,2.1 c 19.6,-2.04 42.74,0.8 66.51,15.85 23.33,14.75 42.13,52.85 49.05,75.79 8.86,29.32 14.99,60.68 -8.86,93.92 -16.97,23.63 -66.51,36.69 -106.53,8.44 10.69,17.19 25.14,31.25 44.59,33.9 28.88,3.92 56.29,-1.09 75.16,-20.46 16.11,-16.56 24.65,-51.19 22.4,-87.66 l 25.49,-3.7 9.2,65.46 421.98,-50.81 z M 509.12,244.59 c -1.18,2.69 -3.03,4.45 -0.25,13.2 l 0.17,0.5 0.44,1.13 1.16,2.62 c 5.01,10.24 10.51,19.9 19.7,24.83 2.38,-0.4 4.84,-0.67 7.39,-0.8 8.63,-0.38 14.08,0.99 17.54,2.85 0.31,-1.72 0.38,-4.24 0.19,-7.95 -0.67,-12.97 2.57,-35.03 -22.36,-46.64 -9.41,-4.37 -22.61,-3.02 -27.01,2.43 0.8,0.1 1.52,0.27 2.08,0.46 6.65,2.33 2.14,4.62 0.95,7.37 m 69.87,121.02 c -3.27,-1.8 -18.55,-1.09 -29.29,0.19 -20.46,2.41 -42.55,9.51 -47.39,13.29 -8.8,6.8 -4.8,18.66 1.7,23.53 18.23,13.62 34.21,22.75 51.08,20.53 10.36,-1.36 19.49,-17.76 25.96,-32.64 4.43,-10.25 4.43,-21.31 -2.06,-24.9 M 397.85,260.65 c 5.77,-5.48 -28.74,-12.68 -55.52,5.58 -19.75,13.47 -20.38,42.35 -1.47,58.72 1.89,1.62 3.45,2.77 4.91,3.71 5.52,-2.6 11.81,-5.23 19.05,-7.58 12.23,-3.97 22.4,-6.02 30.76,-7.11 4,-4.47 8.65,-12.34 7.49,-26.59 -1.58,-19.33 -16.23,-16.26 -5.22,-26.73"
|
|
52
|
+
clip-rule="evenodd"
|
|
53
|
+
fill="#632ca6"
|
|
54
|
+
fill-rule="evenodd"
|
|
55
|
+
id="path25" />
|
|
56
|
+
</g>
|
|
57
|
+
<metadata
|
|
58
|
+
id="metadata4202">
|
|
59
|
+
<rdf:RDF>
|
|
60
|
+
<cc:Work
|
|
61
|
+
rdf:about="">
|
|
62
|
+
<dc:title>folder_type_circleci</dc:title>
|
|
63
|
+
</cc:Work>
|
|
64
|
+
</rdf:RDF>
|
|
65
|
+
</metadata>
|
|
66
|
+
</svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg version="1.1" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><title>folder_type_circleci_opened</title><path d="M27.4,5.5H18.2L16.1,9.7H4.3V26.5H29.5V5.5Zm0,18.7H6.6V11.8H27.4Zm0-14.5H19.2l1-2.1h7.1V9.7Z" fill="#8b52d1"/><polygon points="25.7 13.7 0.5 13.7 4.3 26.5 29.5 26.5" fill="#8b52d1"/><g transform="matrix(.024539 0 0 .024539 11.259 10.063)"><path d="m584.65 49.556-506.77 58.406-11.799 132.15s43.067 494.97 42.477 493.2c-0.58996-1.7699 60.578 39.195 60.578 39.195s23.451 83.457 107.98 61.068c84.531-22.389 37.507-124.43 30.75-137.67-6.7572-13.246 31.953 36.231 31.953 36.231l46.845-5.6177 7.3802 61.543 372.65-67.16-22.19-268.56z" fill="#fff"/><path class="st0" d="m670.38 608.27-71.24-46.99-59.43 99.27-69.12-20.21-60.86 92.89 3.12 29.24 330.9-60.97-19.22-206.75zm-308.59-89.14 53.09-7.3c8.59 3.86 14.57 5.33 24.87 7.95 16.04 4.18 34.61 8.19 62.11-5.67 6.4-3.17 19.73-15.36 25.12-22.31l217.52-39.46 22.19 268.56-372.65 67.16zm404.06-96.77-21.47 4.09-41.25-426.18-702.86 81.5 86.59 702.68 82.27-11.94c-6.57-9.38-16.8-20.73-34.27-35.26-24.23-20.13-15.66-54.32-1.37-75.91 18.91-36.48 116.34-82.84 110.82-141.15-1.98-21.2-5.35-48.8-25.03-67.71-0.74 7.85 0.59 15.41 0.59 15.41s-8.08-10.31-12.11-24.37c-4-5.39-7.14-7.11-11.39-14.31-3.03 8.33-2.63 17.99-2.63 17.99s-6.61-15.62-7.68-28.8c-3.92 5.9-4.91 17.11-4.91 17.11s-8.59-24.62-6.63-37.88c-3.92-11.54-15.54-34.44-12.25-86.49 21.45 15.03 68.67 11.46 87.07-15.66 6.11-8.98 10.29-33.5-3.05-81.81-8.57-30.98-29.79-77.11-38.06-94.61l-0.99 0.71c4.36 14.1 13.35 43.66 16.8 57.99 10.44 43.47 13.24 58.6 8.34 78.64-4.17 17.42-14.17 28.82-39.52 41.56-25.35 12.78-58.99-18.32-61.12-20.04-24.63-19.62-43.68-51.63-45.81-67.18-2.21-17.02 9.81-27.24 15.87-41.16-8.67 2.48-18.34 6.88-18.34 6.88s11.54-11.94 25.77-22.27c5.89-3.9 9.35-6.38 15.56-11.54-8.99-0.15-16.29 0.11-16.29 0.11s14.99-8.1 30.53-14c-11.37-0.5-22.25-0.08-22.25-0.08s33.45-14.96 59.87-25.94c18.17-7.45 35.92-5.25 45.89 9.17 13.09 18.89 26.84 29.15 55.98 35.51 17.89-7.93 23.33-12.01 45.81-18.13 19.79-21.76 35.33-24.58 35.33-24.58s-7.71 7.07-9.77 18.18c11.22-8.84 23.52-16.22 23.52-16.22s-4.76 5.88-9.2 15.22l1.03 1.53c13.09-7.85 28.48-14.04 28.48-14.04s-4.4 5.56-9.56 12.76c9.87-0.08 29.89 0.42 37.66 1.3 45.87 1.01 55.39-48.99 72.99-55.26 22.04-7.87 31.89-12.63 69.45 24.26 32.23 31.67 57.41 88.36 44.91 101.06-10.48 10.54-31.16-4.11-54.08-32.68-12.11-15.13-21.27-33.01-25.56-55.74-3.62-19.18-17.71-30.31-17.71-30.31s8.18 18.18 8.18 34.24c0 8.77 1.1 41.56 15.16 59.96-1.39 2.69-2.04 13.31-3.58 15.34-16.36-19.77-51.49-33.92-57.22-38.09 19.39 15.89 63.96 52.39 81.08 87.37 16.19 33.08 6.65 63.4 14.84 71.25 2.33 2.25 34.82 42.73 41.07 63.07 10.9 35.45 0.65 72.7-13.62 95.81l-39.85 6.21c-5.83-1.62-9.76-2.43-14.99-5.46 2.88-5.1 8.61-17.82 8.67-20.44l-2.25-3.95c-12.4 17.57-33.18 34.63-50.44 44.43-22.59 12.8-48.63 10.83-65.58 5.58-48.11-14.84-93.6-47.35-104.57-55.89 0 0-0.34 6.82 1.73 8.35 12.13 13.68 39.92 38.43 66.78 55.68l-57.26 6.3 27.07 210.78c-12 1.72-13.87 2.56-27.01 4.43-11.58-40.91-33.73-67.62-57.94-83.18-21.35-13.72-50.8-16.81-78.99-11.23l-1.81 2.1c19.6-2.04 42.74 0.8 66.51 15.85 23.33 14.75 42.13 52.85 49.05 75.79 8.86 29.32 14.99 60.68-8.86 93.92-16.97 23.63-66.51 36.69-106.53 8.44 10.69 17.19 25.14 31.25 44.59 33.9 28.88 3.92 56.29-1.09 75.16-20.46 16.11-16.56 24.65-51.19 22.4-87.66l25.49-3.7 9.2 65.46 421.98-50.81zm-256.73-177.77c-1.18 2.69-3.03 4.45-0.25 13.2l0.17 0.5 0.44 1.13 1.16 2.62c5.01 10.24 10.51 19.9 19.7 24.83 2.38-0.4 4.84-0.67 7.39-0.8 8.63-0.38 14.08 0.99 17.54 2.85 0.31-1.72 0.38-4.24 0.19-7.95-0.67-12.97 2.57-35.03-22.36-46.64-9.41-4.37-22.61-3.02-27.01 2.43 0.8 0.1 1.52 0.27 2.08 0.46 6.65 2.33 2.14 4.62 0.95 7.37m69.87 121.02c-3.27-1.8-18.55-1.09-29.29 0.19-20.46 2.41-42.55 9.51-47.39 13.29-8.8 6.8-4.8 18.66 1.7 23.53 18.23 13.62 34.21 22.75 51.08 20.53 10.36-1.36 19.49-17.76 25.96-32.64 4.43-10.25 4.43-21.31-2.06-24.9m-181.14-104.96c5.77-5.48-28.74-12.68-55.52 5.58-19.75 13.47-20.38 42.35-1.47 58.72 1.89 1.62 3.45 2.77 4.91 3.71 5.52-2.6 11.81-5.23 19.05-7.58 12.23-3.97 22.4-6.02 30.76-7.11 4-4.47 8.65-12.34 7.49-26.59-1.58-19.33-16.23-16.26-5.22-26.73" clip-rule="evenodd" fill="#632ca6" fill-rule="evenodd"/></g></svg>
|
package/package.json
CHANGED
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lvce-editor/shared-process",
|
|
3
|
-
"version": "0.11.
|
|
3
|
+
"version": "0.11.3",
|
|
4
4
|
"description": "Utility package for @lvce-editor/server",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"type": "module",
|
|
7
|
-
"scripts": {
|
|
8
|
-
"test": "node --unhandled-rejections=warn --experimental-vm-modules ../../node_modules/jest/bin/jest.js --detectOpenHandles --forceExit",
|
|
9
|
-
"test:watch": "node --unhandled-rejections=warn --experimental-vm-modules ../../node_modules/jest/bin/jest.js --watch"
|
|
10
|
-
},
|
|
11
7
|
"keywords": [],
|
|
12
8
|
"author": "",
|
|
13
9
|
"license": "MIT",
|
|
@@ -20,8 +16,10 @@
|
|
|
20
16
|
"node": ">=16"
|
|
21
17
|
},
|
|
22
18
|
"dependencies": {
|
|
23
|
-
"@
|
|
24
|
-
"@lvce-editor/
|
|
19
|
+
"@babel/code-frame": "^7.18.6",
|
|
20
|
+
"@lvce-editor/extension-host": "0.11.3",
|
|
21
|
+
"@lvce-editor/extension-host-helper-process": "0.11.3",
|
|
22
|
+
"@lvce-editor/pty-host": "0.11.3",
|
|
25
23
|
"debug": "^4.3.4",
|
|
26
24
|
"execa": "^6.1.0",
|
|
27
25
|
"exit-hook": "^3.1.2",
|
|
@@ -40,63 +38,8 @@
|
|
|
40
38
|
"xdg-basedir": "^5.1.0"
|
|
41
39
|
},
|
|
42
40
|
"optionalDependencies": {
|
|
43
|
-
"
|
|
41
|
+
"extract-zip": "^2.0.1",
|
|
44
42
|
"keytar": "^7.9.0",
|
|
45
|
-
"vscode-ripgrep-with-github-api-error-fix": "^2.6.0"
|
|
46
|
-
"extract-zip": "^2.0.1"
|
|
47
|
-
},
|
|
48
|
-
"devDependencies": {
|
|
49
|
-
"@types/debug": "^4.1.7",
|
|
50
|
-
"@types/is-object": "^1.0.2",
|
|
51
|
-
"@types/tail": "^2.2.1",
|
|
52
|
-
"@types/tar-fs": "^2.0.1",
|
|
53
|
-
"@types/verror": "^1.10.6",
|
|
54
|
-
"@types/ws": "^8.5.3",
|
|
55
|
-
"get-port": "^6.1.2"
|
|
56
|
-
},
|
|
57
|
-
"xo": {
|
|
58
|
-
"rules": {
|
|
59
|
-
"unicorn/filename-case": "off",
|
|
60
|
-
"indent": "off",
|
|
61
|
-
"semi": "off",
|
|
62
|
-
"no-unused-vars": "off",
|
|
63
|
-
"unicorn/numeric-separators-style": "off",
|
|
64
|
-
"no-extra-semi": "off",
|
|
65
|
-
"arrow-body-style": "off",
|
|
66
|
-
"padded-blocks": "off",
|
|
67
|
-
"capitalized-comments": "off",
|
|
68
|
-
"padding-line-between-statements": "off",
|
|
69
|
-
"arrow-parens": "off",
|
|
70
|
-
"no-warning-comments": "off",
|
|
71
|
-
"array-bracket-spacing": "off",
|
|
72
|
-
"comma-spacing": "off",
|
|
73
|
-
"unicorn/no-array-callback-reference": "off",
|
|
74
|
-
"comma-dangle": "off",
|
|
75
|
-
"operator-linebreak": "off",
|
|
76
|
-
"no-case-declarations": "off",
|
|
77
|
-
"no-undef": "off",
|
|
78
|
-
"object-curly-spacing": "off",
|
|
79
|
-
"object-shorthand": "off",
|
|
80
|
-
"complexity": "off",
|
|
81
|
-
"no-labels": "off",
|
|
82
|
-
"no-multi-assign": "off",
|
|
83
|
-
"max-params": "off",
|
|
84
|
-
"no-bitwise": "off",
|
|
85
|
-
"unicorn/prefer-math-trunc": "off",
|
|
86
|
-
"no-await-in-loop": "off",
|
|
87
|
-
"unicorn/prefer-add-event-listener": "off",
|
|
88
|
-
"no-unused-expressions": "off",
|
|
89
|
-
"node/prefer-global/process": "off",
|
|
90
|
-
"unicorn/prevent-abbreviations": "off",
|
|
91
|
-
"unicorn/no-process-exit": "off",
|
|
92
|
-
"quotes": "off",
|
|
93
|
-
"n/prefer-global/process": [
|
|
94
|
-
"error",
|
|
95
|
-
"always"
|
|
96
|
-
]
|
|
97
|
-
},
|
|
98
|
-
"ignores": [
|
|
99
|
-
"distmin"
|
|
100
|
-
]
|
|
43
|
+
"vscode-ripgrep-with-github-api-error-fix": "^2.6.0"
|
|
101
44
|
}
|
|
102
45
|
}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import * as Module from '../Module/Module.js'
|
|
2
1
|
import * as ModuleMap from '../ModuleMap/ModuleMap.js'
|
|
3
2
|
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
export const state = {
|
|
4
|
+
commands: Object.create(null),
|
|
5
|
+
invocables: Object.create(null),
|
|
6
|
+
pendingModules: Object.create(null),
|
|
7
|
+
async load(moduleId) {},
|
|
8
|
+
}
|
|
7
9
|
|
|
8
10
|
const initializeModule = (module) => {
|
|
9
11
|
if (module.Commands) {
|
|
@@ -21,49 +23,49 @@ const initializeModule = (module) => {
|
|
|
21
23
|
}
|
|
22
24
|
|
|
23
25
|
const getOrLoadModule = (moduleId) => {
|
|
24
|
-
if (!pendingModules[moduleId]) {
|
|
25
|
-
const importPromise =
|
|
26
|
-
pendingModules[moduleId] = importPromise
|
|
26
|
+
if (!state.pendingModules[moduleId]) {
|
|
27
|
+
const importPromise = state.load(moduleId)
|
|
28
|
+
state.pendingModules[moduleId] = importPromise
|
|
27
29
|
.then(initializeModule)
|
|
28
30
|
.catch((error) => {
|
|
29
31
|
console.error(error)
|
|
30
32
|
})
|
|
31
33
|
}
|
|
32
|
-
return pendingModules[moduleId]
|
|
34
|
+
return state.pendingModules[moduleId]
|
|
33
35
|
}
|
|
34
36
|
|
|
35
37
|
const loadCommand = (command) => getOrLoadModule(ModuleMap.getModuleId(command))
|
|
36
38
|
|
|
37
39
|
export const register = (commandId, listener) => {
|
|
38
|
-
commands[commandId] = listener
|
|
40
|
+
state.commands[commandId] = listener
|
|
39
41
|
}
|
|
40
42
|
|
|
41
43
|
export const registerInvocable = (commandId, listener) => {
|
|
42
|
-
invocables[commandId] = listener
|
|
44
|
+
state.invocables[commandId] = listener
|
|
43
45
|
}
|
|
44
46
|
|
|
45
47
|
export const invoke = async (command, ...args) => {
|
|
46
|
-
if (!(command in commands)) {
|
|
48
|
+
if (!(command in state.commands)) {
|
|
47
49
|
await loadCommand(command)
|
|
48
|
-
if (!(command in commands)) {
|
|
50
|
+
if (!(command in state.commands)) {
|
|
49
51
|
console.warn(`[shared process] Unknown command "${command}"`)
|
|
50
52
|
throw new Error(`Command ${command} not found`)
|
|
51
53
|
}
|
|
52
54
|
}
|
|
53
|
-
if (typeof commands[command] !== 'function') {
|
|
55
|
+
if (typeof state.commands[command] !== 'function') {
|
|
54
56
|
throw new TypeError(`Command ${command} is not a function`)
|
|
55
57
|
}
|
|
56
|
-
return commands[command](...args)
|
|
58
|
+
return state.commands[command](...args)
|
|
57
59
|
}
|
|
58
60
|
|
|
59
61
|
export const execute = (command, ...args) => {
|
|
60
|
-
if (command in commands) {
|
|
61
|
-
commands[command](...args)
|
|
62
|
+
if (command in state.commands) {
|
|
63
|
+
state.commands[command](...args)
|
|
62
64
|
} else {
|
|
63
65
|
loadCommand(command)
|
|
64
66
|
// TODO can skip then block in prod (only to prevent endless loop in dev)
|
|
65
67
|
.then(() => {
|
|
66
|
-
if (!(command in commands)) {
|
|
68
|
+
if (!(command in state.commands)) {
|
|
67
69
|
console.warn(`Unknown command "${command}"`)
|
|
68
70
|
return
|
|
69
71
|
}
|
|
@@ -79,3 +81,7 @@ export const execute = (command, ...args) => {
|
|
|
79
81
|
})
|
|
80
82
|
}
|
|
81
83
|
}
|
|
84
|
+
|
|
85
|
+
export const setLoad = (load) => {
|
|
86
|
+
state.load = load
|
|
87
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as ChildProcess from '../ChildProcess/ChildProcess.js'
|
|
2
2
|
import * as Platform from '../Platform/Platform.js'
|
|
3
3
|
|
|
4
|
-
export const create = () => {
|
|
4
|
+
export const create = async () => {
|
|
5
5
|
const extensionHostHelperProcessPath =
|
|
6
|
-
Platform.getExtensionHostHelperProcessPath()
|
|
6
|
+
await Platform.getExtensionHostHelperProcessPath()
|
|
7
7
|
const childProcess = ChildProcess.fork(
|
|
8
8
|
extensionHostHelperProcessPath,
|
|
9
9
|
['--ipc-type=websocket', '--max-old-space-size=60', '--enable-source-maps'],
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import * as Command from '../Command/Command.js'
|
|
2
|
+
import * as ErrorCodes from '../ErrorCodes/ErrorCodes.js'
|
|
3
|
+
import * as JsonRpc from '../JsonRpc/JsonRpc.js'
|
|
4
|
+
import * as PrettyError from '../PrettyError/PrettyError.js'
|
|
5
|
+
import { requiresSocket } from '../RequiresSocket/RequiresSocket.js'
|
|
6
|
+
|
|
7
|
+
export const getResponse = async (message, handle) => {
|
|
8
|
+
try {
|
|
9
|
+
const result = requiresSocket(message.method)
|
|
10
|
+
? await Command.invoke(message.method, handle, ...message.params)
|
|
11
|
+
: await Command.invoke(message.method, ...message.params)
|
|
12
|
+
|
|
13
|
+
return {
|
|
14
|
+
jsonrpc: JsonRpc.Version,
|
|
15
|
+
id: message.id,
|
|
16
|
+
result: result ?? null,
|
|
17
|
+
}
|
|
18
|
+
} catch (error) {
|
|
19
|
+
if (
|
|
20
|
+
error &&
|
|
21
|
+
error instanceof Error &&
|
|
22
|
+
error.message &&
|
|
23
|
+
error.message.startsWith('method not found')
|
|
24
|
+
) {
|
|
25
|
+
return {
|
|
26
|
+
jsonrpc: JsonRpc.Version,
|
|
27
|
+
id: message.id,
|
|
28
|
+
error: {
|
|
29
|
+
code: JsonRpc.ErrorMethodNotFound,
|
|
30
|
+
message: error.message,
|
|
31
|
+
data: error.stack,
|
|
32
|
+
},
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
if (error && error instanceof Error && error.code === ErrorCodes.ENOENT) {
|
|
36
|
+
return {
|
|
37
|
+
jsonrpc: JsonRpc.Version,
|
|
38
|
+
id: message.id,
|
|
39
|
+
error: {
|
|
40
|
+
code: -32001,
|
|
41
|
+
message: `${error}`,
|
|
42
|
+
},
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
const prettyError = PrettyError.prepare(error)
|
|
46
|
+
PrettyError.print(prettyError)
|
|
47
|
+
return {
|
|
48
|
+
jsonrpc: JsonRpc.Version,
|
|
49
|
+
id: message.id,
|
|
50
|
+
error: {
|
|
51
|
+
code: -32001,
|
|
52
|
+
message: prettyError.message,
|
|
53
|
+
data: {
|
|
54
|
+
stack: prettyError.stack,
|
|
55
|
+
codeFrame: prettyError.codeFrame,
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export const limitString = (string, limit) => {
|
|
2
|
+
let lines = 0
|
|
3
|
+
let i = 0
|
|
4
|
+
while (i !== -1 && lines < limit) {
|
|
5
|
+
i = string.indexOf('\n', i + 1)
|
|
6
|
+
if (i === -1) {
|
|
7
|
+
break
|
|
8
|
+
}
|
|
9
|
+
lines++
|
|
10
|
+
}
|
|
11
|
+
if (i === -1) {
|
|
12
|
+
return string
|
|
13
|
+
}
|
|
14
|
+
return string.slice(0, i)
|
|
15
|
+
}
|
|
@@ -16,6 +16,8 @@ export const load = (moduleId) => {
|
|
|
16
16
|
return import('../ExtensionManagement/ExtensionManagement.ipc.js')
|
|
17
17
|
case ModuleId.FileSystem:
|
|
18
18
|
return import('../FileSystem/FileSystem.ipc.js')
|
|
19
|
+
case ModuleId.GitLsFiles:
|
|
20
|
+
return import('../GitLsFiles/GitLsFiles.ipc.js')
|
|
19
21
|
case ModuleId.Native:
|
|
20
22
|
return import('../Native/Native.ipc.js')
|
|
21
23
|
case ModuleId.OutputChannel:
|
|
@@ -92,6 +92,8 @@ export const getModuleId = (commandId) => {
|
|
|
92
92
|
case 'FileSystem.rename':
|
|
93
93
|
case 'FileSystem.writeFile':
|
|
94
94
|
return ModuleId.FileSystem
|
|
95
|
+
case 'GitLsFiles.gitLsFiles':
|
|
96
|
+
return ModuleId.GitLsFiles
|
|
95
97
|
case 'Native.openFolder':
|
|
96
98
|
return ModuleId.Native
|
|
97
99
|
case 'OutputChannel.close':
|
|
@@ -129,7 +131,7 @@ export const getModuleId = (commandId) => {
|
|
|
129
131
|
return ModuleId.Terminal
|
|
130
132
|
case 4820:
|
|
131
133
|
return ModuleId.TextDocument
|
|
132
|
-
case
|
|
134
|
+
case 'WebSocketServer.handleUpgrade':
|
|
133
135
|
return ModuleId.WebSocketServer
|
|
134
136
|
case 'Workspace.getHomeDir':
|
|
135
137
|
case 'Workspace.resolveRoot':
|
|
@@ -3,12 +3,11 @@ import VError from 'verror'
|
|
|
3
3
|
import * as Callback from '../Callback/Callback.js'
|
|
4
4
|
import * as Command from '../Command/Command.js'
|
|
5
5
|
import * as Debug from '../Debug/Debug.js'
|
|
6
|
-
import * as
|
|
7
|
-
import { requiresSocket } from '../RequiresSocket/RequiresSocket.js'
|
|
8
|
-
import * as Platform from '../Platform/Platform.js'
|
|
6
|
+
import * as ExtensionHostHelperProcessIpc from '../ExtensionHostHelperProcessIpc/ExtensionHostHelperProcessIpc.js'
|
|
9
7
|
import * as ExtensionHostIpc from '../ExtensionHostIpc/ExtensionHostIpc.js'
|
|
10
8
|
import * as ExtensionHostRpc from '../ExtensionHostRpc/ExtensionHostRpc.js'
|
|
11
|
-
import * as
|
|
9
|
+
import * as GetResponse from '../GetResponse/GetResponse.js'
|
|
10
|
+
|
|
12
11
|
// TODO add tests for this
|
|
13
12
|
|
|
14
13
|
// TODO handle structure: one shared process multiple extension hosts
|
|
@@ -43,7 +42,7 @@ const handleWebSocketSharedProcess = (message, handle) => {
|
|
|
43
42
|
console.info('[info shared process: handle error]', error)
|
|
44
43
|
})
|
|
45
44
|
Command.execute(
|
|
46
|
-
/* WebSocketServer.handleUpgrade */
|
|
45
|
+
/* WebSocketServer.handleUpgrade */ 'WebSocketServer.handleUpgrade',
|
|
47
46
|
/* message */ message,
|
|
48
47
|
/* handle */ handle
|
|
49
48
|
)
|
|
@@ -62,8 +61,8 @@ const handleWebSocketExtensionHost = async (message, handle) => {
|
|
|
62
61
|
// console.log(rpc)
|
|
63
62
|
}
|
|
64
63
|
|
|
65
|
-
const handleWebSocketExtensionHostHelperProcess = (message, handle) => {
|
|
66
|
-
const ipc = ExtensionHostHelperProcessIpc.create()
|
|
64
|
+
const handleWebSocketExtensionHostHelperProcess = async (message, handle) => {
|
|
65
|
+
const ipc = await ExtensionHostHelperProcessIpc.create()
|
|
67
66
|
ipc._process.send(message, handle)
|
|
68
67
|
}
|
|
69
68
|
|
|
@@ -84,7 +83,7 @@ const handleWebSocket = (message, handle) => {
|
|
|
84
83
|
case 'lvce.extension-host-helper-process':
|
|
85
84
|
return handleWebSocketExtensionHostHelperProcess(message, handle)
|
|
86
85
|
default:
|
|
87
|
-
|
|
86
|
+
console.warn(`unsupported sec-websocket-procotol ${protocol}`)
|
|
88
87
|
}
|
|
89
88
|
}
|
|
90
89
|
|
|
@@ -94,27 +93,8 @@ const handleJsonRpcResult = (message) => {
|
|
|
94
93
|
|
|
95
94
|
const handleJsonRpcMessage = async (message, handle) => {
|
|
96
95
|
if (message.id) {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
? await Command.invoke(message.method, handle, ...message.params)
|
|
100
|
-
: await Command.invoke(message.method, ...message.params)
|
|
101
|
-
electronSend({
|
|
102
|
-
jsonrpc: '2.0',
|
|
103
|
-
id: message.id,
|
|
104
|
-
result: result ?? null,
|
|
105
|
-
})
|
|
106
|
-
} catch (error) {
|
|
107
|
-
console.error('[shared process] command failed to execute')
|
|
108
|
-
console.error(error)
|
|
109
|
-
electronSend({
|
|
110
|
-
jsonrpc: '2.0',
|
|
111
|
-
code: /* ExpectedError */ -32000,
|
|
112
|
-
id: message.id,
|
|
113
|
-
error: 'ExpectedError',
|
|
114
|
-
// @ts-ignore
|
|
115
|
-
data: error.toString(),
|
|
116
|
-
})
|
|
117
|
-
}
|
|
96
|
+
const response = await GetResponse.getResponse(message, handle)
|
|
97
|
+
electronSend(response)
|
|
118
98
|
} else {
|
|
119
99
|
// TODO handle error
|
|
120
100
|
Command.execute(message.method, null, ...message.params)
|
|
@@ -163,61 +143,8 @@ const electronInitialize = (initializeMessage) => {
|
|
|
163
143
|
Callback.resolve(message.id, message.result)
|
|
164
144
|
} else if (message.method) {
|
|
165
145
|
if (message.id) {
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
? await Command.invoke(
|
|
169
|
-
message.method,
|
|
170
|
-
fakeSocket,
|
|
171
|
-
...message.params
|
|
172
|
-
)
|
|
173
|
-
: await Command.invoke(message.method, ...message.params)
|
|
174
|
-
|
|
175
|
-
port.postMessage({
|
|
176
|
-
jsonrpc: '2.0',
|
|
177
|
-
id: message.id,
|
|
178
|
-
result: result ?? null,
|
|
179
|
-
})
|
|
180
|
-
} catch (error) {
|
|
181
|
-
// TODO duplicate code with Socket.js, clean this up
|
|
182
|
-
if (error instanceof Error.OperationalError) {
|
|
183
|
-
// console.log({ error })
|
|
184
|
-
const rawCause = error.cause()
|
|
185
|
-
const errorCause = rawCause ? rawCause.message : ''
|
|
186
|
-
const errorMessage = rawCause
|
|
187
|
-
? error.message.slice(0, error.message.indexOf(errorCause))
|
|
188
|
-
: ''
|
|
189
|
-
|
|
190
|
-
// console.info('expected error', error)
|
|
191
|
-
port.postMessage({
|
|
192
|
-
jsonrpc: '2.0',
|
|
193
|
-
id: message.id,
|
|
194
|
-
error: {
|
|
195
|
-
code: /* ExpectedError */ -32000,
|
|
196
|
-
message: error.message,
|
|
197
|
-
data: {
|
|
198
|
-
stack: error.originalStack,
|
|
199
|
-
codeFrame: error.originalCodeFrame,
|
|
200
|
-
category: error.category,
|
|
201
|
-
// @ts-ignore
|
|
202
|
-
stderr: error.stderr,
|
|
203
|
-
},
|
|
204
|
-
},
|
|
205
|
-
})
|
|
206
|
-
} else {
|
|
207
|
-
console.error('[shared process] command failed to execute')
|
|
208
|
-
console.error(error)
|
|
209
|
-
// TODO check if socket is active
|
|
210
|
-
port.postMessage({
|
|
211
|
-
jsonrpc: '2.0',
|
|
212
|
-
id: message.id,
|
|
213
|
-
error: {
|
|
214
|
-
code: /* UnexpectedError */ -32001,
|
|
215
|
-
// @ts-ignore
|
|
216
|
-
message: error.toString(),
|
|
217
|
-
},
|
|
218
|
-
})
|
|
219
|
-
}
|
|
220
|
-
}
|
|
146
|
+
const response = await GetResponse.getResponse(message, fakeSocket)
|
|
147
|
+
port.postMessage(response)
|
|
221
148
|
} else {
|
|
222
149
|
Command.execute(message.method, fakeSocket, ...message.params)
|
|
223
150
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { extensionHostPath } from '@lvce-editor/extension-host'
|
|
2
2
|
import { homedir, tmpdir } from 'node:os'
|
|
3
|
-
import { join, resolve, sep } from 'node:path'
|
|
4
|
-
import { pathToFileURL } from 'node:url'
|
|
3
|
+
import { dirname, join, resolve, sep } from 'node:path'
|
|
4
|
+
import { fileURLToPath, pathToFileURL } from 'node:url'
|
|
5
5
|
import { xdgCache, xdgConfig, xdgData, xdgState } from 'xdg-basedir'
|
|
6
6
|
import * as Path from '../Path/Path.js'
|
|
7
7
|
import * as Root from '../Root/Root.js'
|
|
@@ -24,6 +24,8 @@ export const homeDir = isWindows ? '' : homedir()
|
|
|
24
24
|
|
|
25
25
|
export const appDir = Root.root
|
|
26
26
|
|
|
27
|
+
const __dirname = dirname(fileURLToPath(import.meta.url))
|
|
28
|
+
|
|
27
29
|
export const getExtensionsPath = () => {
|
|
28
30
|
return Path.join(dataDir, 'extensions')
|
|
29
31
|
}
|
|
@@ -101,14 +103,11 @@ export const getExtensionHostPath = () => {
|
|
|
101
103
|
return extensionHostPath
|
|
102
104
|
}
|
|
103
105
|
|
|
104
|
-
export const getExtensionHostHelperProcessPath = () => {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
'packages',
|
|
108
|
-
'extension-host-helper-process',
|
|
109
|
-
'src',
|
|
110
|
-
'extensionHostHelperProcessMain.js'
|
|
106
|
+
export const getExtensionHostHelperProcessPath = async () => {
|
|
107
|
+
const { extensionHostHelperProcessPath } = await import(
|
|
108
|
+
'@lvce-editor/extension-host-helper-process'
|
|
111
109
|
)
|
|
110
|
+
return extensionHostHelperProcessPath
|
|
112
111
|
}
|
|
113
112
|
|
|
114
113
|
export const getRecentlyOpenedPath = () => {
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as Assert from '../Assert/Assert.js'
|
|
2
|
+
import * as ErrorCodes from '../ErrorCodes/ErrorCodes.js'
|
|
2
3
|
import * as Exec from '../Exec/Exec.js'
|
|
4
|
+
import * as LimitString from '../LimitString/LimitString.js'
|
|
5
|
+
import * as RgPath from '../RgPath/RgPath.js'
|
|
3
6
|
|
|
4
7
|
const ripGrepPath = process.env.RIP_GREP_PATH || RgPath.rgPath
|
|
5
8
|
|
|
6
9
|
const isEnoentErrorLinux = (error) => {
|
|
7
|
-
return error.code ===
|
|
10
|
+
return error.code === ErrorCodes.ENOENT
|
|
8
11
|
}
|
|
9
12
|
|
|
10
13
|
const isEnoentErrorWindows = (error) => {
|
|
@@ -24,8 +27,11 @@ const isEnoentError = (error) => {
|
|
|
24
27
|
// do a delta comparison, so the first time it would send 100kB
|
|
25
28
|
// but the second time only a few hundred bytes of changes
|
|
26
29
|
|
|
27
|
-
export const searchFile = async (path, searchTerm) => {
|
|
30
|
+
export const searchFile = async (path, searchTerm, limit) => {
|
|
28
31
|
try {
|
|
32
|
+
Assert.string(path)
|
|
33
|
+
Assert.string(searchTerm)
|
|
34
|
+
Assert.number(limit)
|
|
29
35
|
const { stdout, stderr } = await Exec.exec(
|
|
30
36
|
ripGrepPath,
|
|
31
37
|
['--files', '--sort-files'],
|
|
@@ -33,8 +39,7 @@ export const searchFile = async (path, searchTerm) => {
|
|
|
33
39
|
cwd: path,
|
|
34
40
|
}
|
|
35
41
|
)
|
|
36
|
-
|
|
37
|
-
return lines
|
|
42
|
+
return LimitString.limitString(stdout, limit)
|
|
38
43
|
} catch (error) {
|
|
39
44
|
// @ts-ignore
|
|
40
45
|
if (isEnoentError(error)) {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import VError from 'verror'
|
|
2
2
|
import * as Command from '../Command/Command.js'
|
|
3
|
-
import * as
|
|
4
|
-
import { requiresSocket } from '../RequiresSocket/RequiresSocket.js'
|
|
3
|
+
import * as GetResponse from '../GetResponse/GetResponse.js'
|
|
5
4
|
|
|
6
5
|
export const state = {
|
|
7
6
|
/**
|
|
@@ -30,59 +29,8 @@ const handleMessage = async (event) => {
|
|
|
30
29
|
)
|
|
31
30
|
return
|
|
32
31
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
result = requiresSocket(object.method)
|
|
36
|
-
? await Command.invoke(object.method, state.socket, ...object.params)
|
|
37
|
-
: await Command.invoke(object.method, ...object.params)
|
|
38
|
-
} catch (error) {
|
|
39
|
-
if (error instanceof Error.OperationalError) {
|
|
40
|
-
// console.log({ error })
|
|
41
|
-
const rawCause = error.cause()
|
|
42
|
-
const errorCause = rawCause ? rawCause.message : ''
|
|
43
|
-
const errorMessage = rawCause
|
|
44
|
-
? error.message.slice(0, error.message.indexOf(errorCause))
|
|
45
|
-
: ''
|
|
46
|
-
|
|
47
|
-
// console.info('expected error', error)
|
|
48
|
-
send({
|
|
49
|
-
jsonrpc: '2.0',
|
|
50
|
-
id: object.id,
|
|
51
|
-
error: {
|
|
52
|
-
code: /* ExpectedError */ -32000,
|
|
53
|
-
message: error.message,
|
|
54
|
-
data: {
|
|
55
|
-
stack: error.originalStack,
|
|
56
|
-
codeFrame: error.originalCodeFrame,
|
|
57
|
-
category: error.category,
|
|
58
|
-
// @ts-ignore
|
|
59
|
-
stderr: error.stderr,
|
|
60
|
-
},
|
|
61
|
-
},
|
|
62
|
-
})
|
|
63
|
-
} else {
|
|
64
|
-
console.error(error)
|
|
65
|
-
// TODO check if socket is active
|
|
66
|
-
send({
|
|
67
|
-
jsonrpc: '2.0',
|
|
68
|
-
id: object.id,
|
|
69
|
-
error: {
|
|
70
|
-
code: /* UnexpectedError */ -32001,
|
|
71
|
-
// @ts-ignore
|
|
72
|
-
message: error.toString(),
|
|
73
|
-
data: {
|
|
74
|
-
code: error.code,
|
|
75
|
-
},
|
|
76
|
-
},
|
|
77
|
-
})
|
|
78
|
-
}
|
|
79
|
-
return
|
|
80
|
-
}
|
|
81
|
-
send({
|
|
82
|
-
jsonrpc: '2.0',
|
|
83
|
-
result,
|
|
84
|
-
id: object.id,
|
|
85
|
-
})
|
|
32
|
+
const response = await GetResponse.getResponse(object, state.socket)
|
|
33
|
+
send(response)
|
|
86
34
|
} else {
|
|
87
35
|
if (!object.params) {
|
|
88
36
|
console.warn('invalid message', typeof object, object.params, object)
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import * as Workspace from './Workspace.js'
|
|
2
2
|
|
|
3
|
+
export const name = 'Workspace'
|
|
4
|
+
|
|
3
5
|
export const Commands = {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
+
getHomeDir: Workspace.getHomeDir,
|
|
7
|
+
resolveRoot: Workspace.resolveRoot,
|
|
6
8
|
}
|
package/src/sharedProcessMain.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import * as Command from './parts/Command/Command.js'
|
|
2
|
+
import * as Module from './parts/Module/Module.js'
|
|
1
3
|
import * as ParentIpc from './parts/ParentIpc/ParentIpc.js'
|
|
2
4
|
import * as PrettyError from './parts/PrettyError/PrettyError.js'
|
|
3
5
|
|
|
@@ -48,6 +50,7 @@ const handleSigTerm = () => {
|
|
|
48
50
|
const knownCliArgs = ['install', 'list', 'link', 'unlink']
|
|
49
51
|
|
|
50
52
|
const main = async () => {
|
|
53
|
+
Command.setLoad(Module.load)
|
|
51
54
|
const argv = process.argv.slice(2)
|
|
52
55
|
const argv0 = argv[0]
|
|
53
56
|
if (knownCliArgs.includes(argv0)) {
|