@@ -12,7 +12,7 @@ index 160c42ed74..0d544c495c 100644
12
12
coverage/
13
13
diff --git a/coder.js b/coder.js
14
14
new file mode 100644
15
- index 0000000000..fc18355f89
15
+ index 0000000000..6aee0e46bc
16
16
--- /dev/null
17
17
+++ b/coder.js
18
18
@@ -0,0 +1,70 @@
@@ -32,9 +32,9 @@ index 0000000000..fc18355f89
32
32
+ buildfile.workbenchWeb,
33
33
+ buildfile.workerExtensionHost,
34
34
+ buildfile.keyboardMaps,
35
- + buildfile.entrypoint(' vs/platform/files/node/watcher/unix/watcherApp' , ["vs/css", "vs/nls"]),
36
- + buildfile.entrypoint(' vs/platform/files/node/watcher/nsfw/watcherApp' , ["vs/css", "vs/nls"]),
37
- + buildfile.entrypoint(' vs/workbench/services/extensions/node/extensionHostProcess' , ["vs/css", "vs/nls"]),
35
+ + buildfile.entrypoint(" vs/platform/files/node/watcher/unix/watcherApp" , ["vs/css", "vs/nls"]),
36
+ + buildfile.entrypoint(" vs/platform/files/node/watcher/nsfw/watcherApp" , ["vs/css", "vs/nls"]),
37
+ + buildfile.entrypoint(" vs/workbench/services/extensions/node/extensionHostProcess" , ["vs/css", "vs/nls"]),
38
38
+ ]);
39
39
+
40
40
+ const vscodeResources = [
@@ -894,10 +894,10 @@ index 0000000000..eb62b87798
894
894
+ }
895
895
diff --git a/src/vs/server/entry.ts b/src/vs/server/entry.ts
896
896
new file mode 100644
897
- index 0000000000..9995e9f7fc
897
+ index 0000000000..0d7feaa24e
898
898
--- /dev/null
899
899
+++ b/src/vs/server/entry.ts
900
- @@ -0,0 +1,67 @@
900
+ @@ -0,0 +1,76 @@
901
901
+ import { field } from '@coder/logger';
902
902
+ import { setUnexpectedErrorHandler } from 'vs/base/common/errors';
903
903
+ import { CodeServerMessage, VscodeMessage } from 'vs/server/ipc';
@@ -953,6 +953,15 @@ index 0000000000..9995e9f7fc
953
953
+ exit(1);
954
954
+ }
955
955
+ break;
956
+ + case 'cli':
957
+ + try {
958
+ + await vscode.cli(message.args);
959
+ + exit(0);
960
+ + } catch (error) {
961
+ + logger.error(error.message);
962
+ + exit(1);
963
+ + }
964
+ + break;
956
965
+ case 'socket':
957
966
+ vscode.handleWebSocket(socket, message.query);
958
967
+ break;
@@ -976,10 +985,10 @@ index 0000000000..56331ff1fc
976
985
+ require('../../bootstrap-amd').load('vs/server/entry');
977
986
diff --git a/src/vs/server/ipc.d.ts b/src/vs/server/ipc.d.ts
978
987
new file mode 100644
979
- index 0000000000..a1047fff86
988
+ index 0000000000..82566066ff
980
989
--- /dev/null
981
990
+++ b/src/vs/server/ipc.d.ts
982
- @@ -0,0 +1,101 @@
991
+ @@ -0,0 +1,106 @@
983
992
+ /**
984
993
+ * External interfaces for integration into code-server over IPC. No vs imports
985
994
+ * should be made in this file.
@@ -998,7 +1007,12 @@ index 0000000000..a1047fff86
998
1007
+ query: Query;
999
1008
+ }
1000
1009
+
1001
- + export type CodeServerMessage = InitMessage | SocketMessage;
1010
+ + export interface CliMessage {
1011
+ + type: 'cli';
1012
+ + args: Args;
1013
+ + }
1014
+ +
1015
+ + export type CodeServerMessage = InitMessage | SocketMessage | CliMessage;
1002
1016
+
1003
1017
+ export interface ReadyMessage {
1004
1018
+ type: 'ready';
@@ -1032,8 +1046,8 @@ index 0000000000..a1047fff86
1032
1046
+ }
1033
1047
+
1034
1048
+ export interface VscodeOptions {
1035
- + readonly remoteAuthority: string;
1036
1049
+ readonly args: Args;
1050
+ + readonly remoteAuthority: string;
1037
1051
+ readonly startPath?: StartPath;
1038
1052
+ }
1039
1053
+
@@ -2152,10 +2166,10 @@ index 0000000000..3c74512192
2152
2166
+ }
2153
2167
diff --git a/src/vs/server/node/server.ts b/src/vs/server/node/server.ts
2154
2168
new file mode 100644
2155
- index 0000000000..13d71949ce
2169
+ index 0000000000..20dbca69b2
2156
2170
--- /dev/null
2157
2171
+++ b/src/vs/server/node/server.ts
2158
- @@ -0,0 +1,252 @@
2172
+ @@ -0,0 +1,257 @@
2159
2173
+ import * as net from 'net';
2160
2174
+ import * as path from 'path';
2161
2175
+ import { Emitter } from 'vs/base/common/event';
@@ -2165,6 +2179,7 @@ index 0000000000..13d71949ce
2165
2179
+ import { ClientConnectionEvent, IPCServer, IServerChannel } from 'vs/base/parts/ipc/common/ipc';
2166
2180
+ import { createChannelReceiver } from 'vs/base/parts/ipc/node/ipc';
2167
2181
+ import { LogsDataCleaner } from 'vs/code/electron-browser/sharedProcess/contrib/logsDataCleaner';
2182
+ + import { main } from "vs/code/node/cliProcessMain";
2168
2183
+ import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
2169
2184
+ import { ConfigurationService } from 'vs/platform/configuration/node/configurationService';
2170
2185
+ import { ExtensionHostDebugBroadcastChannel } from 'vs/platform/debug/common/extensionHostDebugIpc';
@@ -2222,6 +2237,10 @@ index 0000000000..13d71949ce
2222
2237
+ private readonly services = new ServiceCollection();
2223
2238
+ private servicesPromise?: Promise<void>;
2224
2239
+
2240
+ + public async cli(args: ParsedArgs): Promise<void> {
2241
+ + return main(args);
2242
+ + }
2243
+ +
2225
2244
+ public async initialize(options: VscodeOptions): Promise<WorkbenchOptions> {
2226
2245
+ const transformer = getUriTransformer(options.remoteAuthority);
2227
2246
+ if (!this.servicesPromise) {
0 commit comments