-
Notifications
You must be signed in to change notification settings - Fork 5.9k
/
Copy pathipc.d.ts
140 lines (119 loc) · 2.8 KB
/
ipc.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
/**
* External interfaces for integration into code-server over IPC. No vs imports
* should be made in this file.
*/
export interface Options {
base: string
disableTelemetry: boolean
disableUpdateCheck: boolean
}
export interface InitMessage {
type: 'init';
id: string;
options: VscodeOptions;
}
export type Query = { [key: string]: string | string[] | undefined | Query | Query[] };
export interface SocketMessage {
type: 'socket';
query: Query;
}
export interface CliMessage {
type: 'cli';
args: Args;
}
export interface OpenCommandPipeArgs {
type: 'open';
fileURIs?: string[];
folderURIs: string[];
forceNewWindow?: boolean;
diffMode?: boolean;
addMode?: boolean;
gotoLineMode?: boolean;
forceReuseWindow?: boolean;
waitMarkerFilePath?: string;
}
export type CodeServerMessage = InitMessage | SocketMessage | CliMessage;
export interface ReadyMessage {
type: 'ready';
}
export interface OptionsMessage {
id: string;
type: 'options';
options: WorkbenchOptions;
}
export type VscodeMessage = ReadyMessage | OptionsMessage;
export interface StartPath {
url: string;
workspace: boolean;
}
export interface Args {
'user-data-dir'?: string;
'enable-proposed-api'?: string[];
'extensions-dir'?: string;
'builtin-extensions-dir'?: string;
'extra-extensions-dir'?: string[];
'extra-builtin-extensions-dir'?: string[];
'ignore-last-opened'?: boolean;
locale?: string
log?: string;
verbose?: boolean;
home?: string;
_: string[];
}
export interface VscodeOptions {
readonly args: Args;
readonly remoteAuthority: string;
readonly startPath?: StartPath;
}
export interface VscodeOptionsMessage extends VscodeOptions {
readonly id: string;
}
export interface UriComponents {
readonly scheme: string;
readonly authority: string;
readonly path: string;
readonly query: string;
readonly fragment: string;
}
export interface NLSConfiguration {
locale: string;
availableLanguages: {
[key: string]: string;
};
pseudo?: boolean;
_languagePackSupport?: boolean;
}
export interface WorkbenchOptions {
readonly workbenchWebConfiguration: {
readonly remoteAuthority?: string;
readonly folderUri?: UriComponents;
readonly workspaceUri?: UriComponents;
readonly logLevel?: number;
readonly workspaceProvider?: {
payload: [
['userDataPath', string],
['enableProposedApi', string],
];
};
readonly homeIndicator?: {
href: string,
icon: string,
title: string,
},
};
readonly remoteUserDataUri: UriComponents;
readonly productConfiguration: {
codeServerVersion?: string;
readonly extensionsGallery?: {
readonly serviceUrl: string[];
readonly itemUrl: string;
readonly controlUrl: string;
readonly recommendationsUrl: string;
};
};
readonly nlsConfiguration: NLSConfiguration;
readonly commit: string;
}
export interface WorkbenchOptionsMessage {
id: string;
}