@opensumi/sumi 2.12.1-next-079c1930 → 2.13.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/sumi.d.ts CHANGED
@@ -8,7 +8,13 @@ declare module 'kaitian' {
8
8
  declare module 'sumi' {
9
9
  export * from 'vscode';
10
10
 
11
- import { ExtensionContext as VSCodeExtensionContext, Disposable, TextEditor, TextEditorEdit, ExtensionKind } from 'vscode';
11
+ import {
12
+ ExtensionContext as VSCodeExtensionContext,
13
+ Disposable,
14
+ TextEditor,
15
+ TextEditorEdit,
16
+ ExtensionKind,
17
+ } from 'vscode';
12
18
 
13
19
  /**
14
20
  * Represents an extension.
@@ -16,7 +22,6 @@ declare module 'sumi' {
16
22
  * To get an instance of an `Extension` use [getExtension](#extensions.getExtension).
17
23
  */
18
24
  export interface Extension<T> {
19
-
20
25
  /**
21
26
  * The canonical extension identifier in the form of: `publisher.name`.
22
27
  */
@@ -59,15 +64,14 @@ declare module 'sumi' {
59
64
  readonly extendExports: T;
60
65
 
61
66
  /**
62
- * Activates this extension and returns its public API.
63
- *
64
- * @return A promise that will resolve when this extension has been activated.
65
- */
67
+ * Activates this extension and returns its public API.
68
+ *
69
+ * @return A promise that will resolve when this extension has been activated.
70
+ */
66
71
  activate(): Thenable<T>;
67
72
  }
68
73
 
69
74
  export namespace extensions {
70
-
71
75
  /**
72
76
  * Get an extension by its full identifier in the form of: `publisher.name`.
73
77
  *
@@ -97,7 +101,6 @@ declare module 'sumi' {
97
101
  }
98
102
 
99
103
  export namespace event {
100
-
101
104
  /**
102
105
  * 事件响应的返回结果
103
106
  */
@@ -226,7 +229,7 @@ declare module 'sumi' {
226
229
  * 设置webview窗口大小
227
230
  * @param size
228
231
  */
229
- setSize(size: {width: number; height: number}): Promise<void>;
232
+ setSize(size: { width: number; height: number }): Promise<void>;
230
233
  /**
231
234
  * 设置webview窗口是否置顶
232
235
  * @param flag
@@ -258,7 +261,6 @@ declare module 'sumi' {
258
261
  }
259
262
 
260
263
  export namespace ideWindow {
261
-
262
264
  /**
263
265
  * 刷新当前 IDE 窗口
264
266
  */
@@ -266,7 +268,11 @@ declare module 'sumi' {
266
268
  /**
267
269
  * 打开新的窗口 仅支持 Electron 环境
268
270
  */
269
- export function createWebviewWindow(webviewId: string, options?: IIDEWindowWebviewOptions, env?: IIDEWindowWebviewEnv): Promise<IIDEWebviewWindow>;
271
+ export function createWebviewWindow(
272
+ webviewId: string,
273
+ options?: IIDEWindowWebviewOptions,
274
+ env?: IIDEWindowWebviewEnv,
275
+ ): Promise<IIDEWebviewWindow>;
270
276
  }
271
277
 
272
278
  export namespace lifecycle {
@@ -294,7 +300,6 @@ declare module 'sumi' {
294
300
  * 主题相关API
295
301
  */
296
302
  export namespace theme {
297
-
298
303
  /**
299
304
  * 当主题被改变时的通知
300
305
  */
@@ -311,7 +316,6 @@ declare module 'sumi' {
311
316
  * ```
312
317
  */
313
318
  export function getThemeColors(): Promise<{ [key: string]: string }>;
314
-
315
319
  }
316
320
 
317
321
  export enum ExtensionHostKind {
@@ -325,7 +329,6 @@ declare module 'sumi' {
325
329
  }
326
330
 
327
331
  export interface IPlainWebviewHandle {
328
-
329
332
  /**
330
333
  * 向webview内部发送消息
331
334
  * @param message
@@ -348,7 +351,6 @@ declare module 'sumi' {
348
351
  * 加载一个url
349
352
  */
350
353
  loadUrl(url: string): Promise<void>;
351
-
352
354
  }
353
355
 
354
356
  export interface IDisposable {
@@ -358,18 +360,13 @@ declare module 'sumi' {
358
360
  dispose(): void;
359
361
  }
360
362
 
361
- export interface Event<T> {
362
- (listener: (e: T) => any, thisArgs?: any): IDisposable;
363
- }
363
+ export type Event<T> = (listener: (e: T) => any, thisArgs?: any) => IDisposable;
364
364
 
365
365
  export interface IExtHostPlainWebview extends IPlainWebviewHandle, IDisposable {
366
-
367
366
  reveal(groupIndex: number): Promise<void>;
368
-
369
367
  }
370
368
 
371
369
  export namespace webview {
372
-
373
370
  /**
374
371
  * 获取一个使用<Webview id='xxx'>组件创造的plainWebview的Handle
375
372
  * @param id
@@ -382,7 +379,6 @@ declare module 'sumi' {
382
379
  * @param iconPath
383
380
  */
384
381
  export function createPlainWebview(title: string, iconPath?: string): IExtHostPlainWebview;
385
-
386
382
  }
387
383
 
388
384
  interface IProxy {
@@ -409,7 +405,6 @@ declare module 'sumi' {
409
405
  }
410
406
 
411
407
  export interface ITabbarHandle {
412
-
413
408
  setSize(size: number): void;
414
409
 
415
410
  /**
@@ -459,7 +454,6 @@ declare module 'sumi' {
459
454
  onInActivate: Event<void>;
460
455
 
461
456
  setVisible(visible: boolean): void;
462
-
463
457
  }
464
458
 
465
459
  interface IExtensionInfo {
@@ -473,7 +467,7 @@ declare module 'sumi' {
473
467
  */
474
468
  readonly extensionId: string;
475
469
  /**
476
- * 是否为内置插件
470
+ * 是否为内置插件
477
471
  */
478
472
  readonly isBuiltin: boolean;
479
473
  }
@@ -482,82 +476,88 @@ declare module 'sumi' {
482
476
 
483
477
  export namespace commands {
484
478
  /**
485
- * Registers a command that can be invoked via a keyboard shortcut,
486
- * a menu item, an action, or directly.
487
- *
488
- * Registering a command with an existing command identifier twice
489
- * will cause an error.
490
- *
491
- * @param command A unique identifier for the command.
492
- * @param callback A command handler function.
493
- * @param thisArg The `this` context used when invoking the handler function.
494
- * @return Disposable which unregisters this command on disposal.
495
- */
479
+ * Registers a command that can be invoked via a keyboard shortcut,
480
+ * a menu item, an action, or directly.
481
+ *
482
+ * Registering a command with an existing command identifier twice
483
+ * will cause an error.
484
+ *
485
+ * @param command A unique identifier for the command.
486
+ * @param callback A command handler function.
487
+ * @param thisArg The `this` context used when invoking the handler function.
488
+ * @return Disposable which unregisters this command on disposal.
489
+ */
496
490
  export function registerCommand(command: string, callback: (...args: any[]) => any, thisArg?: any): Disposable;
497
491
 
498
492
  /**
499
- * Executes the command denoted by the given command identifier.
500
- *
501
- * * *Note 1:* When executing an editor command not all types are allowed to
502
- * be passed as arguments. Allowed are the primitive types `string`, `boolean`,
503
- * `number`, `undefined`, and `null`, as well as [`Position`](#Position), [`Range`](#Range), [`Uri`](#Uri) and [`Location`](#Location).
504
- * * *Note 2:* There are no restrictions when executing commands that have been contributed
505
- * by extensions.
506
- *
507
- * @param command Identifier of the command to execute.
508
- * @param rest Parameters passed to the command function.
509
- * @return A thenable that resolves to the returned value of the given command. `undefined` when
510
- * the command handler function doesn't return anything.
511
- */
493
+ * Executes the command denoted by the given command identifier.
494
+ *
495
+ * * *Note 1:* When executing an editor command not all types are allowed to
496
+ * be passed as arguments. Allowed are the primitive types `string`, `boolean`,
497
+ * `number`, `undefined`, and `null`, as well as [`Position`](#Position), [`Range`](#Range), [`Uri`](#Uri) and [`Location`](#Location).
498
+ * * *Note 2:* There are no restrictions when executing commands that have been contributed
499
+ * by extensions.
500
+ *
501
+ * @param command Identifier of the command to execute.
502
+ * @param rest Parameters passed to the command function.
503
+ * @return A thenable that resolves to the returned value of the given command. `undefined` when
504
+ * the command handler function doesn't return anything.
505
+ */
512
506
  export function executeCommand<T>(command: string, ...rest: any[]): Thenable<T | undefined>;
513
507
 
514
508
  /**
515
- * Retrieve the list of all available commands. Commands starting an underscore are
516
- * treated as internal commands.
517
- *
518
- * @param filterInternal Set `true` to not see internal commands (starting with an underscore)
519
- * @return Thenable that resolves to a list of command ids.
520
- */
509
+ * Retrieve the list of all available commands. Commands starting an underscore are
510
+ * treated as internal commands.
511
+ *
512
+ * @param filterInternal Set `true` to not see internal commands (starting with an underscore)
513
+ * @return Thenable that resolves to a list of command ids.
514
+ */
521
515
  export function getCommands(filterInternal?: boolean): Thenable<string[]>;
522
516
  /**
523
- * Registers a text editor command that can be invoked via a keyboard shortcut,
524
- * a menu item, an action, or directly.
525
- *
526
- * Text editor commands are different from ordinary [commands](#commands.registerCommand) as
527
- * they only execute when there is an active editor when the command is called. Also, the
528
- * command handler of an editor command has access to the active editor and to an
529
- * [edit](#TextEditorEdit)-builder.
530
- *
531
- * @param command A unique identifier for the command.
532
- * @param callback A command handler function with access to an [editor](#TextEditor) and an [edit](#TextEditorEdit).
533
- * @param thisArg The `this` context used when invoking the handler function.
534
- * @return Disposable which unregisters this command on disposal.
535
- */
536
- export function registerTextEditorCommand(command: string, callback: (textEditor: TextEditor, edit: TextEditorEdit, ...args: any[]) => void, thisArg?: any): Disposable;
537
-
538
- /**
539
- * Register a command that requires authentication
540
- * This command is only registered in the extension host
541
- * Does not appear in the menu and command palette
517
+ * Registers a text editor command that can be invoked via a keyboard shortcut,
518
+ * a menu item, an action, or directly.
542
519
  *
543
- * @param command A unique identifier for the command.
544
- * @param callback A command handler function.
545
- * @param isPermitted Check if you have permission to execute command.It first argument is extension information to help you judge.
546
- * @return Disposable which unregisters this command on disposal.
547
- */
548
- export function registerCommandWithPermit(id: string, command: <T>(...args: any[]) => T | Promise<T>, isPermitted: PermittedHandler): Disposable;
520
+ * Text editor commands are different from ordinary [commands](#commands.registerCommand) as
521
+ * they only execute when there is an active editor when the command is called. Also, the
522
+ * command handler of an editor command has access to the active editor and to an
523
+ * [edit](#TextEditorEdit)-builder.
524
+ *
525
+ * @param command A unique identifier for the command.
526
+ * @param callback A command handler function with access to an [editor](#TextEditor) and an [edit](#TextEditorEdit).
527
+ * @param thisArg The `this` context used when invoking the handler function.
528
+ * @return Disposable which unregisters this command on disposal.
529
+ */
530
+ export function registerTextEditorCommand(
531
+ command: string,
532
+ callback: (textEditor: TextEditor, edit: TextEditorEdit, ...args: any[]) => void,
533
+ thisArg?: any,
534
+ ): Disposable;
535
+
536
+ /**
537
+ * Register a command that requires authentication
538
+ * This command is only registered in the extension host
539
+ * Does not appear in the menu and command palette
540
+ *
541
+ * @param command A unique identifier for the command.
542
+ * @param callback A command handler function.
543
+ * @param isPermitted Check if you have permission to execute command.It first argument is extension information to help you judge.
544
+ * @return Disposable which unregisters this command on disposal.
545
+ */
546
+ export function registerCommandWithPermit(
547
+ id: string,
548
+ command: <T>(...args: any[]) => T | Promise<T>,
549
+ isPermitted: PermittedHandler,
550
+ ): Disposable;
549
551
  }
550
552
 
551
553
  export namespace toolbar {
552
-
553
554
  export interface IToolbarButtonActionHandle {
554
-
555
555
  /**
556
556
  * 当按钮被点击时触发
557
557
  */
558
558
  onClick: Event<void>;
559
559
 
560
- /**
560
+ /**
561
561
  * 设置 Button 的 State
562
562
  * state 需要对应在 kaitianContributes 中配置
563
563
  * @param state
@@ -589,7 +589,7 @@ declare module 'sumi' {
589
589
  /**
590
590
  * State 改变时触发
591
591
  */
592
- onStateChanged: Event<{from: string, to: string}>;
592
+ onStateChanged: Event<{ from: string; to: string }>;
593
593
 
594
594
  /**
595
595
  * 显示 button 元素对应的 popover 元素,需要在 kaitianContributes 中配置
@@ -600,7 +600,6 @@ declare module 'sumi' {
600
600
  }
601
601
 
602
602
  export interface IToolbarSelectActionHandle<T> {
603
-
604
603
  /**
605
604
  * 设置 Select 的 State
606
605
  * state 需要对应在 kaitianContributes 中配置
@@ -614,12 +613,14 @@ declare module 'sumi' {
614
613
  * 那么它会引起 onSelect 被触发
615
614
  * @param options
616
615
  */
617
- setOptions(options: {
618
- iconPath?: string,
619
- iconMaskMode?: boolean,
620
- label?: string,
621
- value: T,
622
- }[]): void;
616
+ setOptions(
617
+ options: {
618
+ iconPath?: string;
619
+ iconMaskMode?: boolean;
620
+ label?: string;
621
+ value: T;
622
+ }[],
623
+ ): void;
623
624
 
624
625
  /**
625
626
  * Select 值改变时触发
@@ -629,7 +630,7 @@ declare module 'sumi' {
629
630
  /**
630
631
  * State 改变时触发
631
632
  */
632
- onStateChanged: Event<{from: string, to: string}>;
633
+ onStateChanged: Event<{ from: string; to: string }>;
633
634
 
634
635
  /**
635
636
  * 使用代码更改选择
@@ -646,12 +647,12 @@ declare module 'sumi' {
646
647
  export interface IToolbarActionBasicContribution {
647
648
  id: string;
648
649
  preferredPosition?: {
649
- location?: string,
650
- group?: string,
650
+ location?: string;
651
+ group?: string;
651
652
  };
652
653
  strictPosition?: {
653
- location: string,
654
- group: string,
654
+ location: string;
655
+ group: string;
655
656
  };
656
657
  description: string;
657
658
  }
@@ -718,7 +719,6 @@ declare module 'sumi' {
718
719
  }
719
720
 
720
721
  export interface IToolbarPopoverStyle {
721
-
722
722
  /**
723
723
  * 在上方还是在下方, 默认下方
724
724
  * // TODO: 暂时只支持 bottom;
@@ -759,7 +759,7 @@ declare module 'sumi' {
759
759
  */
760
760
  minHeight?: number;
761
761
  }
762
- export interface IToolbarButtonContribution extends IToolbarActionBasicContribution {
762
+ export interface IToolbarButtonContribution extends IToolbarActionBasicContribution {
763
763
  type: 'button';
764
764
  command?: string;
765
765
  title: string;
@@ -769,10 +769,10 @@ declare module 'sumi' {
769
769
  popoverStyle?: IToolbarPopoverStyle;
770
770
  states?: {
771
771
  [key: string]: {
772
- title?: string,
773
- iconPath?: string,
774
- iconMaskMode?: boolean ;
775
- } & IToolbarActionBtnStyle,
772
+ title?: string;
773
+ iconPath?: string;
774
+ iconMaskMode?: boolean;
775
+ } & IToolbarActionBtnStyle;
776
776
  };
777
777
  defaultState?: string;
778
778
  }
@@ -781,15 +781,15 @@ declare module 'sumi' {
781
781
  type: 'select';
782
782
  command?: string;
783
783
  options: {
784
- iconPath?: string,
784
+ iconPath?: string;
785
785
  iconMaskMode?: boolean;
786
- label?: string,
787
- value: T
786
+ label?: string;
787
+ value: T;
788
788
  }[];
789
789
  defaultValue: T;
790
790
  optionEqualityKey?: string;
791
791
  states?: {
792
- [key: string]: IToolbarSelectStyle,
792
+ [key: string]: IToolbarSelectStyle;
793
793
  };
794
794
  defaultState?: string;
795
795
  }
@@ -799,13 +799,17 @@ declare module 'sumi' {
799
799
  * @param contribution IToolbarSelectContribution
800
800
  * 返回一个用于操作和响应 toolbar 上对应 select 控件的 handle
801
801
  */
802
- export function registerToolbarAction<T>(contribution: IToolbarSelectContribution<T>): Promise<IToolbarSelectActionHandle<T>>;
802
+ export function registerToolbarAction<T>(
803
+ contribution: IToolbarSelectContribution<T>,
804
+ ): Promise<IToolbarSelectActionHandle<T>>;
803
805
  /**
804
806
  * 注册一个 button 类型的 toolbar action
805
807
  * @param contribution IToolbarButtonContribution
806
808
  * 返回一个用于操作和响应 toolbar 上对应 button 控件的 handle
807
809
  */
808
- export function registerToolbarAction(contribution: IToolbarButtonContribution): Promise<IToolbarButtonActionHandle>;
810
+ export function registerToolbarAction(
811
+ contribution: IToolbarButtonContribution,
812
+ ): Promise<IToolbarButtonActionHandle>;
809
813
 
810
814
  /**
811
815
  * 获得一个 toolbar action 的 handle, 用于操作和响应 toolbar 上的 button
@@ -2197,6 +2197,14 @@ declare module 'vscode' {
2197
2197
  dispose(): void;
2198
2198
  }
2199
2199
 
2200
+ export enum TextDocumentChangeReason {
2201
+ /** The text change is caused by an undo operation. */
2202
+ Undo = 1,
2203
+
2204
+ /** The text change is caused by an redo operation. */
2205
+ Redo = 2,
2206
+ }
2207
+
2200
2208
  /**
2201
2209
  * An event describing a transactional [document](#TextDocument) change.
2202
2210
  */
@@ -2211,6 +2219,12 @@ declare module 'vscode' {
2211
2219
  * An array of content changes.
2212
2220
  */
2213
2221
  readonly contentChanges: ReadonlyArray<TextDocumentContentChangeEvent>;
2222
+
2223
+ /**
2224
+ * The reason why the document was changed.
2225
+ * Is `undefined` if the reason is not known.
2226
+ */
2227
+ readonly reason: TextDocumentChangeReason | undefined;
2214
2228
  }
2215
2229
 
2216
2230
  /**
@@ -2469,6 +2483,13 @@ declare module 'vscode' {
2469
2483
  * @param value A value. MUST not contain cyclic references.
2470
2484
  */
2471
2485
  update(key: string, value: any): Thenable<void>;
2486
+
2487
+ /**
2488
+ * VS Code proposal API, maybe remove on latest version.
2489
+ * #region https://github.com/microsoft/vscode/issues/87110
2490
+ * The stored keys.
2491
+ */
2492
+ readonly keys: readonly string[];
2472
2493
  }
2473
2494
 
2474
2495
  /**
@@ -2876,39 +2897,6 @@ declare module 'vscode' {
2876
2897
  Test = 3,
2877
2898
  }
2878
2899
 
2879
- /**
2880
- * A memento represents a storage utility. It can store and retrieve
2881
- * values.
2882
- */
2883
- export interface Memento {
2884
-
2885
- /**
2886
- * Return a value.
2887
- *
2888
- * @param key A string.
2889
- * @return The stored value or `undefined`.
2890
- */
2891
- get<T>(key: string): T | undefined;
2892
-
2893
- /**
2894
- * Return a value.
2895
- *
2896
- * @param key A string.
2897
- * @param defaultValue A value that should be returned when there is no
2898
- * value (`undefined`) with the given key.
2899
- * @return The stored value or the defaultValue.
2900
- */
2901
- get<T>(key: string, defaultValue: T): T;
2902
-
2903
- /**
2904
- * Store a value. The value must be JSON-stringifyable.
2905
- *
2906
- * @param key A string.
2907
- * @param value A value. MUST not contain cyclic references.
2908
- */
2909
- update(key: string, value: any): Thenable<void>;
2910
- }
2911
-
2912
2900
  /**
2913
2901
  * A file system watcher notifies about changes to files and folders
2914
2902
  * on disk.
@@ -38,6 +38,12 @@ declare module 'vscode' {
38
38
  */
39
39
  readonly type: string;
40
40
 
41
+ /**
42
+ * The parent session of this debug session, if it was created as a child.
43
+ * @see DebugSessionOptions.parentSession
44
+ */
45
+ readonly parentSession?: DebugSession;
46
+
41
47
  /**
42
48
  * The debug session's name from the [debug configuration](#DebugConfiguration).
43
49
  */
@@ -62,13 +68,13 @@ declare module 'vscode' {
62
68
  customRequest(command: string, args?: any): Thenable<any>;
63
69
 
64
70
  /**
65
- * Maps a VS Code breakpoint to the corresponding Debug Adapter Protocol (DAP) breakpoint that is managed by the debug adapter of the debug session.
66
- * If no DAP breakpoint exists (either because the VS Code breakpoint was not yet registered or because the debug adapter is not interested in the breakpoint), the value `undefined` is returned.
67
- *
68
- * @param breakpoint A VS Code [breakpoint](#Breakpoint).
69
- * @return A promise that resolves to the Debug Adapter Protocol breakpoint or `undefined`.
70
- */
71
- getDebugProtocolBreakpoint(breakpoint: Breakpoint): Thenable<DebugProtocolBreakpoint | undefined>;
71
+ * Maps a VS Code breakpoint to the corresponding Debug Adapter Protocol (DAP) breakpoint that is managed by the debug adapter of the debug session.
72
+ * If no DAP breakpoint exists (either because the VS Code breakpoint was not yet registered or because the debug adapter is not interested in the breakpoint), the value `undefined` is returned.
73
+ *
74
+ * @param breakpoint A VS Code [breakpoint](#Breakpoint).
75
+ * @return A promise that resolves to the Debug Adapter Protocol breakpoint or `undefined`.
76
+ */
77
+ getDebugProtocolBreakpoint(breakpoint: Breakpoint): Thenable<DebugProtocolBreakpoint | undefined>;
72
78
  }
73
79
 
74
80
  /**
@@ -486,6 +492,13 @@ declare module 'vscode' {
486
492
  */
487
493
  parentSession?: DebugSession;
488
494
 
495
+ /**
496
+ * Controls whether lifecycle requests like 'restart' are sent to the newly created session or its parent session.
497
+ * By default (if the property is false or missing), lifecycle requests are sent to the new session.
498
+ * This property is ignored if the session has no parent session.
499
+ */
500
+ lifecycleManagedByParent?: boolean;
501
+
489
502
  /**
490
503
  * Controls whether this session should have a separate debug console or share it
491
504
  * with the parent session. Has no effect for sessions which do not have a parent session.
@@ -494,17 +507,17 @@ declare module 'vscode' {
494
507
  consoleMode?: DebugConsoleMode;
495
508
 
496
509
  /**
497
- * Controls whether this session should run without debugging, thus ignoring breakpoints.
498
- * When this property is not specified, the value from the parent session (if there is one) is used.
499
- */
500
- noDebug?: boolean;
510
+ * Controls whether this session should run without debugging, thus ignoring breakpoints.
511
+ * When this property is not specified, the value from the parent session (if there is one) is used.
512
+ */
513
+ noDebug?: boolean;
501
514
 
502
- /**
503
- * Controls if the debug session's parent session is shown in the CALL STACK view even if it has only a single child.
504
- * By default, the debug session will never hide its parent.
505
- * If compact is true, debug sessions with a single child are hidden in the CALL STACK view to make the tree more compact.
506
- */
507
- compact?: boolean;
515
+ /**
516
+ * Controls if the debug session's parent session is shown in the CALL STACK view even if it has only a single child.
517
+ * By default, the debug session will never hide its parent.
518
+ * If compact is true, debug sessions with a single child are hidden in the CALL STACK view to make the tree more compact.
519
+ */
520
+ compact?: boolean;
508
521
  }
509
522
 
510
523
  /**
@@ -532,11 +545,11 @@ declare module 'vscode' {
532
545
  }
533
546
 
534
547
  /**
535
- * A DebugProtocolBreakpoint is an opaque stand-in type for the [Breakpoint](https://microsoft.github.io/debug-adapter-protocol/specification#Types_Breakpoint) type defined in the Debug Adapter Protocol.
536
- */
537
- export interface DebugProtocolBreakpoint {
538
- // Properties: see details [here](https://microsoft.github.io/debug-adapter-protocol/specification#Types_Breakpoint).
539
- }
548
+ * A DebugProtocolBreakpoint is an opaque stand-in type for the [Breakpoint](https://microsoft.github.io/debug-adapter-protocol/specification#Types_Breakpoint) type defined in the Debug Adapter Protocol.
549
+ */
550
+ export interface DebugProtocolBreakpoint {
551
+ // Properties: see details [here](https://microsoft.github.io/debug-adapter-protocol/specification#Types_Breakpoint).
552
+ }
540
553
 
541
554
  /**
542
555
  * Namespace for debug functionality.
@@ -14,10 +14,21 @@ declare module 'vscode' {
14
14
  export const appName: string;
15
15
 
16
16
  /**
17
- * The application root folder from which the editor is running.
18
- */
17
+ * The application root folder from which the editor is running.
18
+ *
19
+ * *Note* that the value is the empty string when running in an
20
+ * environment that has no representation of an application root folder.
21
+ */
19
22
  export const appRoot: string;
20
23
 
24
+ /**
25
+ * The hosted location of the application
26
+ * On desktop this is 'desktop'
27
+ * In the web this is the specified embedder i.e. 'github.dev', 'codespaces', or 'web' if the embedder
28
+ * does not provide that information
29
+ */
30
+ export const appHost: string;
31
+
21
32
  /**
22
33
  * The custom uri scheme the editor registers to in the operating system.
23
34
  */
@@ -110,6 +110,17 @@ declare module 'vscode' {
110
110
  */
111
111
  static Test: TaskGroup;
112
112
 
113
+ /**
114
+ * Whether the task that is part of this group is the default for the group.
115
+ * This property cannot be set through API, and is controlled by a user's task configurations.
116
+ */
117
+ readonly isDefault?: boolean;
118
+
119
+ /**
120
+ * The ID of the task group. Is one of TaskGroup.Clean.id, TaskGroup.Build.id, TaskGroup.Rebuild.id, or TaskGroup.Test.id.
121
+ */
122
+ readonly id: string;
123
+
113
124
  private constructor(id: string, label: string);
114
125
  }
115
126