reactive-vscode 0.0.1-beta.6 → 0.2.0-beta.1

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.
Files changed (3) hide show
  1. package/dist/index.d.ts +83 -15
  2. package/dist/index.js +833 -753
  3. package/package.json +2 -2
package/dist/index.d.ts CHANGED
@@ -14,10 +14,14 @@ import { Disposable as Disposable_2 } from 'vscode';
14
14
  import { DocumentSelector } from 'vscode';
15
15
  import { EffectScope } from '@vue/reactivity';
16
16
  import { Event as Event_2 } from 'vscode';
17
+ import { EventEmitter } from 'vscode';
17
18
  import { Extension } from 'vscode';
18
19
  import { ExtensionContext } from 'vscode';
20
+ import { ExtensionTerminalOptions } from 'vscode';
19
21
  import { FoldingRangeProvider } from 'vscode';
22
+ import { GlobPattern } from 'vscode';
20
23
  import { LogLevel } from 'vscode';
24
+ import { MaybeRef } from '@vue/reactivity';
21
25
  import { MaybeRefOrGetter } from '@vue/reactivity';
22
26
  import { NotebookEditor } from 'vscode';
23
27
  import { NotebookRange } from 'vscode';
@@ -33,6 +37,7 @@ import { Task } from 'vscode';
33
37
  import { TaskExecution } from 'vscode';
34
38
  import { TaskFilter } from 'vscode';
35
39
  import { Terminal } from 'vscode';
40
+ import { TerminalOptions } from 'vscode';
36
41
  import { TerminalState } from 'vscode';
37
42
  import { TextDocument } from 'vscode';
38
43
  import { TextEditor } from 'vscode';
@@ -40,6 +45,7 @@ import { TextEditorDecorationType } from 'vscode';
40
45
  import { TextEditorEdit } from 'vscode';
41
46
  import { TextEditorSelectionChangeKind } from 'vscode';
42
47
  import { TreeDataProvider } from 'vscode';
48
+ import { TreeItem } from 'vscode';
43
49
  import { TreeView } from 'vscode';
44
50
  import { TreeViewOptions } from 'vscode';
45
51
  import { Uri } from 'vscode';
@@ -174,6 +180,7 @@ export declare type TextEditorCommandCallback = (textEditor: TextEditor, edit: T
174
180
 
175
181
  export declare interface TreeViewNode {
176
182
  readonly children?: this[];
183
+ readonly treeItem: TreeItem | Thenable<TreeItem>;
177
184
  }
178
185
 
179
186
  /**
@@ -250,6 +257,26 @@ export declare function useCommands(commands: Partial<Commands>): void;
250
257
  */
251
258
  export declare function useCommentController(id: string, label: string): CommentController;
252
259
 
260
+ /**
261
+ * Create terminal, and allows you to control the terminal lifecycle.
262
+ *
263
+ * @category terminal
264
+ */
265
+ export declare function useControlledTerminal(name?: string, shellPath?: string, shellArgs?: readonly string[] | string): UseControlledTerminalReturn;
266
+
267
+ export declare function useControlledTerminal(options: TerminalOptions): UseControlledTerminalReturn;
268
+
269
+ export declare function useControlledTerminal(options: ExtensionTerminalOptions): UseControlledTerminalReturn;
270
+
271
+ declare interface UseControlledTerminalReturn {
272
+ terminal: Ref<Terminal | null>;
273
+ getIsActive: () => boolean;
274
+ show: () => void;
275
+ sendText: (text: string) => void;
276
+ close: () => void;
277
+ state: ComputedRef<TerminalState | undefined>;
278
+ }
279
+
253
280
  /**
254
281
  * @reactive `env.shell`
255
282
  */
@@ -285,11 +312,15 @@ export declare function useEvent<T>(event: Event_2<T>, listeners?: ((e: T) => an
285
312
  * @category utilities
286
313
  * @reactive `EventEmitter`
287
314
  */
288
- export declare function useEventEmitter<T>(listeners?: ((e: T) => any)[]): {
315
+ export declare function useEventEmitter<T>(eventEmitter?: EventEmitter<T>, listeners?: ((e: T) => any)[]): UseEventEmitterReturn<T>;
316
+
317
+ export declare function useEventEmitter<T>(listeners?: ((e: T) => any)[]): UseEventEmitterReturn<T>;
318
+
319
+ declare interface UseEventEmitterReturn<T> {
289
320
  event: Event_2<T>;
290
321
  fire: (data: T) => void;
291
- addListener: Event_2<T>;
292
- };
322
+ addListener: (listener: (e: T) => any) => void;
323
+ }
293
324
 
294
325
  /**
295
326
  * @reactive `tasks.fetchTasks`
@@ -323,6 +354,18 @@ toJSON(): any;
323
354
  */
324
355
  export declare function useFoldingRangeProvider(selector: DocumentSelector, provideFoldingRanges: MaybeRefOrGetter<FoldingRangeProvider['provideFoldingRanges']>): void;
325
356
 
357
+ /**
358
+ * @reactive `workspace.createFileSystemWatcher`
359
+ */
360
+ export declare function useFsWatcher(globPattern: GlobPattern, ignoreCreateEvents?: boolean | undefined, ignoreChangeEvents?: boolean | undefined, ignoreDeleteEvents?: boolean | undefined): {
361
+ onDidCreate: Event_2<Uri>;
362
+ onDidChange: Event_2<Uri>;
363
+ onDidDelete: Event_2<Uri>;
364
+ ignoreCreateEvents: boolean;
365
+ ignoreChangeEvents: boolean;
366
+ ignoreDeleteEvents: boolean;
367
+ };
368
+
326
369
  /**
327
370
  * Determines if the current color theme is dark. See `vscode::ColorTheme.kind`.
328
371
  *
@@ -422,11 +465,26 @@ export declare interface UseStatusBarItemOptions {
422
465
  */
423
466
  export declare const useTaskExecutions: () => ComputedRef<readonly TaskExecution[]>;
424
467
 
468
+ /**
469
+ * @category terminal
470
+ * @reactive `window.createTerminal()`
471
+ */
472
+ export declare function useTerminal(name?: string, shellPath?: string, shellArgs?: readonly string[] | string): UseTerminalReturn;
473
+
474
+ export declare function useTerminal(options: TerminalOptions): UseTerminalReturn;
475
+
476
+ export declare function useTerminal(options: ExtensionTerminalOptions): UseTerminalReturn;
477
+
478
+ declare interface UseTerminalReturn extends Omit<Terminal, 'state' | 'dispose'> {
479
+ terminal: Terminal;
480
+ state: ComputedRef<TerminalState>;
481
+ }
482
+
425
483
  /**
426
484
  * @reactive `Terminal.state`
427
485
  * @category terminal
428
486
  */
429
- export declare const useTerminalState: (terminal: Terminal) => ComputedRef<TerminalState>;
487
+ export declare function useTerminalState(terminal: MaybeNullableRefOrGetter<Terminal>): ComputedRef<TerminalState | undefined>;
430
488
 
431
489
  /**
432
490
  * Register a text editor command. See `vscode::commands.registerTextEditorCommand`.
@@ -471,9 +529,16 @@ export declare function useTextEditorVisibleRanges(textEditor: MaybeNullableRefO
471
529
  *
472
530
  * @category view
473
531
  */
474
- export declare const useTreeView: <T extends TreeViewNode>(viewId: string, treeData: MaybeRefOrGetter<T[]>, options: UseTreeViewOptions<T>) => TreeView<T>;
532
+ export declare const useTreeView: <T extends TreeViewNode>(viewId: string, treeData: MaybeRefOrGetter<T[]>, options?: UseTreeViewOptions<T> | undefined) => TreeView<T>;
475
533
 
476
- export declare type UseTreeViewOptions<T> = (Omit<TreeViewOptions<T>, 'treeDataProvider'> & Pick<TreeDataProvider<T>, 'getTreeItem' | 'resolveTreeItem'>) | TreeDataProvider<T>['getTreeItem'];
534
+ export declare type UseTreeViewOptions<T> = Omit<TreeViewOptions<T>, 'treeDataProvider'> & Pick<TreeDataProvider<T>, 'resolveTreeItem'> & {
535
+ title?: MaybeRefOrGetter<string | undefined>;
536
+ badge?: MaybeRefOrGetter<ViewBadge | undefined>;
537
+ /**
538
+ * Additional watch source to trigger a change event. Useful when `treeItem` is a promise.
539
+ */
540
+ watchSource?: WatchSource<any>;
541
+ };
477
542
 
478
543
  /**
479
544
  * @reactive `Uri`
@@ -502,7 +567,7 @@ toJSON(): any;
502
567
  *
503
568
  * @category view
504
569
  */
505
- export declare function useViewBadge(view: MaybeRefOrGetter<Nullable<ViewWithBadge>>, title: MaybeRefOrGetter<ViewBadge | undefined>): void;
570
+ export declare function useViewBadge(view: MaybeRefOrGetter<Nullable<ViewWithBadge>>, badge: MaybeRefOrGetter<ViewBadge | undefined>): void;
506
571
 
507
572
  /**
508
573
  * Reactively set the title of a view (`vscode::TreeView` or `vscode::WebviewView`).
@@ -534,23 +599,18 @@ export declare function useVscodeContext<T>(name: string, value: ComputedRef<T>
534
599
 
535
600
  export declare function useVscodeContext<T>(name: string, value: WritableComputedRef<T>, shouldUpdate?: MaybeRefOrGetter<boolean>): WritableComputedRef<T>;
536
601
 
537
- export declare function useVscodeContext<T>(name: string, value: Ref<T>, shouldUpdate?: MaybeRefOrGetter<boolean>): Ref<T>;
602
+ export declare function useVscodeContext<T>(name: string, value: MaybeRef<T>, shouldUpdate?: MaybeRefOrGetter<boolean>): Ref<T>;
538
603
 
539
604
  /**
540
605
  * Register a webview view. See `vscode::window.registerWebviewViewProvider`.
541
606
  *
542
607
  * @category view
543
608
  */
544
- export declare const useWebviewView: (viewId: string, html: MaybeRefOrGetter<string>, webviewOptions?: MaybeRefOrGetter<WebviewOptions> | undefined, registerOptions?: ({
545
- readonly webviewOptions?: {
546
- readonly retainContextWhenHidden?: boolean | undefined;
547
- } | undefined;
548
- } & {
549
- onDidReceiveMessage?: ((message: any) => void) | undefined;
550
- }) | undefined) => {
609
+ export declare const useWebviewView: (viewId: string, html: MaybeRefOrGetter<string>, options?: WebviewRegisterOptions | undefined) => {
551
610
  view: ShallowRef<WebviewView | undefined>;
552
611
  context: ShallowRef<unknown>;
553
612
  postMessage: (message: any) => Thenable<boolean> | undefined;
613
+ forceRefresh: () => void;
554
614
  };
555
615
 
556
616
  /**
@@ -660,6 +720,14 @@ options?: DebuggerOptions,
660
720
  )
661
721
  }
662
722
 
723
+ declare interface WebviewRegisterOptions {
724
+ retainContextWhenHidden?: boolean;
725
+ onDidReceiveMessage?: (message: any) => void;
726
+ webviewOptions?: MaybeRefOrGetter<WebviewOptions>;
727
+ title?: MaybeRefOrGetter<string | undefined>;
728
+ badge?: MaybeRefOrGetter<ViewBadge | undefined>;
729
+ }
730
+
663
731
 
664
732
  export * from "@vue/reactivity";
665
733