@halcyontech/vscode-ibmi-types 2.15.2 → 2.16.0

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/Instance.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  import * as vscode from "vscode";
2
- import { ConnectionConfig, ConnectionData, IBMiEvent } from "./typings";
2
+ import { ILELibrarySettings } from "./api/CompileTools";
3
3
  import IBMi, { ConnectionResult } from "./api/IBMi";
4
4
  import { ConnectionStorage } from "./api/configuration/storage/ConnectionStorage";
5
+ import { ConnectionConfig, ConnectionData, IBMiEvent } from "./typings";
5
6
  export interface ConnectionOptions {
6
7
  data: ConnectionData;
7
8
  reconnecting?: boolean;
@@ -23,6 +24,7 @@ export default class Instance {
23
24
  disconnect(): Promise<void>;
24
25
  private setConnection;
25
26
  getConnection(): IBMi;
27
+ getLibraryList(connection: IBMi, workspaceFolder?: vscode.WorkspaceFolder): Promise<ILELibrarySettings>;
26
28
  setConfig(newConfig: ConnectionConfig): Promise<void>;
27
29
  /**
28
30
  * @deprecated Will be removed in `v3.0.0`; use {@link IBMi.getConfig()} instead
@@ -1,5 +1,5 @@
1
1
  import IBMi from './IBMi';
2
- import { RemoteCommand, CommandResult } from './types';
2
+ import { CommandResult, RemoteCommand } from './types';
3
3
  export interface ILELibrarySettings {
4
4
  currentLibrary: string;
5
5
  libraryList: string[];
package/api/IBMi.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import * as node_ssh from "node-ssh";
3
3
  import { IBMiComponent } from "./components/component";
4
+ import { ComponentManager, ComponentSearchProps } from "./components/manager";
4
5
  import IBMiContent from "./IBMiContent";
5
6
  import { CodeForIStorage } from './configuration/storage/CodeForIStorage';
6
7
  import { Tools } from './Tools';
@@ -168,8 +169,8 @@ export default class IBMi {
168
169
  * @param name
169
170
  */
170
171
  upperCaseName(name: string): string;
171
- getComponent<T extends IBMiComponent>(name: string, ignoreState?: boolean): T;
172
- getComponentStates(): import("./components/component").ComponentInstallState[];
172
+ getComponentManager(): ComponentManager;
173
+ getComponent<T extends IBMiComponent>(name: string, options?: ComponentSearchProps): T;
173
174
  /**
174
175
  * Run SQL statements.
175
176
  * Each statement must be separated by a semi-colon and a new line (i.e. ;\n).
@@ -5,7 +5,7 @@ import { EditorPath } from '../typings';
5
5
  import { FilterType } from './Filter';
6
6
  import { default as IBMi } from './IBMi';
7
7
  import { Tools } from './Tools';
8
- import { AttrOperands, IBMiError, IBMiMember, IBMiObject, IFSFile, ModuleExport, ProgramExportImportInfo, QsysPath, SpecialAuthorities } from './types';
8
+ import { AttrOperands, CommandResult, IBMiError, IBMiMember, IBMiObject, IFSFile, ModuleExport, ProgramExportImportInfo, QsysPath, SpecialAuthorities } from './types';
9
9
  declare type Authority = "*ADD" | "*DLT" | "*EXECUTE" | "*READ" | "*UPD" | "*NONE" | "*ALL" | "*CHANGE" | "*USE" | "*EXCLUDE" | "*AUTLMGT";
10
10
  export declare type SortOrder = `name` | `type`;
11
11
  export declare type SortOptions = {
@@ -34,7 +34,7 @@ export default class IBMiContent {
34
34
  * @param content Raw content
35
35
  * @param encoding Optional encoding to write.
36
36
  */
37
- writeStreamfileRaw(originalPath: string, content: Uint8Array, encoding?: string): Promise<string | void>;
37
+ writeStreamfileRaw(originalPath: string, content: string | Uint8Array, encoding?: string): Promise<string | void>;
38
38
  /**
39
39
  * Write utf8 content to a streamfile
40
40
  * @deprecated Use {@link IBMiContent.writeStreamfileRaw()} instead
@@ -226,5 +226,19 @@ export default class IBMiContent {
226
226
  downloadFile(localFile: EditorPath, remoteFile: string): Promise<void>;
227
227
  uploadDirectory(localDirectory: EditorPath, remoteDirectory: string, options?: node_ssh.SSHGetPutDirectoryOptions): Promise<boolean>;
228
228
  downloadDirectory(localDirectory: EditorPath, remoteDirectory: string, options?: node_ssh.SSHGetPutDirectoryOptions): Promise<boolean>;
229
+ /**
230
+ * Copy one or more folders or files into a directory. Uses QSH's `cp` to keep all the attributes of the original file into its copy.
231
+ * @param paths one or more files/folders to copy
232
+ * @param toDirectory the directory where the files/folders will be copied into
233
+ * @returns the {@link CommandResult} of the `cp` command execution
234
+ */
235
+ copy(paths: string | string[], toDirectory: string): Promise<CommandResult>;
236
+ /**
237
+ * Move one or more folders or files into a directory. Uses QSH's `mv` to ensures attributes are not altered during the opration.
238
+ * @param paths one or more files/folders to copy
239
+ * @param toDirectory the directory where the files/folders will be copied into
240
+ * @returns the {@link CommandResult} of the `mv` command execution
241
+ */
242
+ move(paths: string | string[], toDirectory: string): Promise<CommandResult>;
229
243
  }
230
244
  export {};
package/api/Search.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { IBMiMember, SearchResults } from './types';
2
1
  import IBMi from './IBMi';
2
+ import { IBMiMember, SearchResults } from './types';
3
3
  export declare namespace Search {
4
4
  function searchMembers(connection: IBMi, library: string, sourceFile: string, searchTerm: string, members: string | IBMiMember[], readOnly?: boolean): Promise<SearchResults>;
5
5
  function searchIFS(connection: IBMi, path: string, searchTerm: string): Promise<SearchResults | undefined>;
@@ -2,7 +2,8 @@ import IBMi from "../IBMi";
2
2
  export declare type ComponentState = `NotChecked` | `NotInstalled` | `Installed` | `NeedsUpdate` | `Error`;
3
3
  export declare type ComponentIdentification = {
4
4
  name: string;
5
- version: number;
5
+ version: number | string;
6
+ userManaged?: boolean;
6
7
  };
7
8
  export declare type ComponentInstallState = {
8
9
  id: ComponentIdentification;
@@ -55,4 +56,9 @@ export declare type IBMiComponent = {
55
56
  * Called when connecting to clear every persitent information related to the previous connection
56
57
  */
57
58
  reset?(): void | Promise<void>;
59
+ /**
60
+ * Called when the component should be uninstalled.
61
+ * Can only run against user-managed components.
62
+ */
63
+ uninstall?(connection: IBMi): Promise<void>;
58
64
  };
@@ -1,10 +1,14 @@
1
1
  import IBMi from "../IBMi";
2
- import { ComponentIdentification, ComponentInstallState, IBMiComponent } from "./component";
2
+ import { ComponentIdentification, ComponentInstallState, ComponentState, IBMiComponent } from "./component";
3
+ import { IBMiComponentRuntime } from "./runtime";
3
4
  interface ExtensionContextI {
4
5
  extension: {
5
6
  id: string;
6
7
  };
7
8
  }
9
+ export interface ComponentSearchProps {
10
+ ignoreState?: boolean;
11
+ }
8
12
  export declare class ComponentRegistry {
9
13
  private readonly components;
10
14
  registerComponent(context: ExtensionContextI | string, component: IBMiComponent): void;
@@ -16,8 +20,18 @@ export declare class ComponentManager {
16
20
  private readonly registered;
17
21
  constructor(connection: IBMi);
18
22
  getComponentIds(): ComponentIdentification[];
19
- getInstallState(): ComponentInstallState[];
23
+ getComponentStates(): ComponentInstallState[];
24
+ /**
25
+ * Returns all components, user managed or not
26
+ */
27
+ getAllAvailableComponents(): IBMiComponent[];
28
+ installComponent(key: string): Promise<ComponentInstallState>;
29
+ uninstallComponent(key: string): Promise<ComponentInstallState>;
30
+ getRemoteState(key: string): Promise<ComponentState | undefined>;
20
31
  startup(lastInstalled?: ComponentInstallState[]): Promise<void>;
21
- get<T extends IBMiComponent>(id: string, ignoreState?: boolean): T;
32
+ /**
33
+ * Returns the latest version of an installed component, or fetch a specific version
34
+ */
35
+ get<T extends IBMiComponent>(id: string, options?: ComponentSearchProps): T | undefined;
22
36
  }
23
- export {};
37
+ export { IBMiComponentRuntime };
@@ -0,0 +1,17 @@
1
+ import IBMi from "../IBMi";
2
+ import { ComponentState, IBMiComponent } from "./component";
3
+ export declare class IBMiComponentRuntime {
4
+ protected readonly connection: IBMi;
5
+ readonly component: IBMiComponent;
6
+ static readonly InstallDirectory = "$HOME/.vscode/";
7
+ private state;
8
+ private cachedInstallDirectory;
9
+ constructor(connection: IBMi, component: IBMiComponent);
10
+ getInstallDirectory(): Promise<string>;
11
+ getState(): ComponentState;
12
+ setState(newState: ComponentState): Promise<void>;
13
+ overrideState(newState: ComponentState): Promise<void>;
14
+ update(installDirectory: string): Promise<void>;
15
+ startupCheck(): Promise<this>;
16
+ toString(): string;
17
+ }
@@ -1,32 +1,26 @@
1
1
  import IBMi from "../IBMi";
2
2
  export declare const SERVICE_CERTIFICATE = "debug_service.pfx";
3
3
  export declare const CLIENT_CERTIFICATE = "debug_service.crt";
4
- export declare const LEGACY_CERT_DIRECTORY = "/QIBM/ProdData/IBMiDebugService/bin/certs";
5
4
  declare type ConfigLine = {
6
5
  key: string;
7
6
  value?: string;
8
7
  };
9
- export declare const DEBUG_CONFIG_FILE = "/QIBM/UserData/IBMiDebugService/C4iDebugService.env";
10
8
  export declare const ORIGINAL_DEBUG_CONFIG_FILE = "/QIBM/ProdData/IBMiDebugService/bin/DebugService.env";
11
9
  export declare class DebugConfiguration {
12
10
  private connection;
13
11
  constructor(connection: IBMi);
14
12
  readonly configLines: ConfigLine[];
15
- private readOnly;
16
13
  private getContent;
17
14
  getOrDefault(key: string, defaultValue: string): string;
18
15
  get(key: string): string;
19
- delete(key: string): void;
20
- set(key: string, value?: string): void;
21
16
  load(): Promise<this>;
22
- save(): Promise<void>;
23
17
  getRemoteServiceCertificatePath(): string;
24
18
  getRemoteClientCertificatePath(): string;
25
19
  getRemoteServiceRoot(): string;
26
20
  getRemoteServiceBin(): string;
27
21
  getRemoteServiceWorkDir(): string;
28
- getCode4iDebug(): string;
29
- setCode4iDebug(value: string): void;
22
+ getRemoteServiceWorkspace(): string;
23
+ getNavigatorLogFile(): string;
30
24
  }
31
25
  interface DebugServiceDetails {
32
26
  version: string;
@@ -1,6 +1,6 @@
1
- import { Config } from "./VirtualConfig";
2
1
  import { ConnectionData } from "../../types";
3
2
  import { ConnectionConfig } from "./types";
3
+ import { Config } from "./VirtualConfig";
4
4
  export declare class ConnectionManager {
5
5
  configMethod: Config;
6
6
  /**
@@ -51,6 +51,7 @@ export declare class CodeForIStorage {
51
51
  };
52
52
  setServerSettingsCache(name: string, serverSettings: CachedServerSettings): Promise<void>;
53
53
  setServerSettingsCacheSpecific(name: string, newSettings: Partial<CachedServerSettings>): Promise<void>;
54
+ storeComponentState(connectionName: string, component: ComponentInstallState): Promise<void>;
54
55
  deleteServerSettingsCache(name: string): Promise<void>;
55
56
  deleteStaleServerSettingsCache(connections: ConnectionData[]): Promise<void>;
56
57
  getPreviousSearchTerms(): string[];
@@ -0,0 +1,12 @@
1
+ import IBMi from "../../IBMi";
2
+ import { IBMiComponent, ComponentState, ComponentIdentification } from "../../components/component";
3
+ export declare class CustomCLI implements IBMiComponent {
4
+ static ID: string;
5
+ installPath: string;
6
+ getIdentification(): ComponentIdentification;
7
+ getFileName(): string;
8
+ setInstallDirectory(installDirectory: string): Promise<void>;
9
+ getRemoteState(connection: IBMi, installDirectory: string): Promise<ComponentState>;
10
+ update(connection: IBMi): Promise<ComponentState>;
11
+ uninstall(connection: IBMi): Promise<void>;
12
+ }
package/api/types.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
+ import { Variables } from "./variables";
3
4
  export declare type DeploymentMethod = "all" | "staged" | "unstaged" | "changed" | "compare";
4
5
  export interface StandardIO {
5
6
  onStdout?: (data: Buffer) => void;
@@ -12,7 +13,6 @@ export interface StandardIO {
12
13
  export declare type ActionType = "member" | "streamfile" | "object" | "file";
13
14
  export declare type ActionRefresh = "no" | "parent" | "filter" | "browser";
14
15
  export declare type ActionEnvironment = "ile" | "qsh" | "pase";
15
- export declare type Variable = Record<string, string>;
16
16
  export declare enum CcsidOrigin {
17
17
  User = "user",
18
18
  System = "system"
@@ -22,7 +22,7 @@ export interface RemoteCommand {
22
22
  command: string;
23
23
  environment?: ActionEnvironment;
24
24
  cwd?: string;
25
- env?: Record<string, string>;
25
+ env?: Record<string, string> | Variables;
26
26
  noLibList?: boolean;
27
27
  }
28
28
  export interface CommandData extends StandardIO {
@@ -46,6 +46,7 @@ export interface Action {
46
46
  postDownload?: string[];
47
47
  refresh?: ActionRefresh;
48
48
  runOnProtected?: boolean;
49
+ outputToFile?: string;
49
50
  }
50
51
  export interface ConnectionData {
51
52
  name: string;
@@ -138,6 +139,15 @@ export declare type IBMiMessages = {
138
139
  };
139
140
  export declare const OBJECT_BROWSER_MIMETYPE = "application/vnd.code.tree.objectbrowser";
140
141
  export declare const IFS_BROWSER_MIMETYPE = "application/vnd.code.tree.ifsbrowser";
142
+ export declare const LIBRARY_LIST_MIMETYPE = "application/vnd.code.tree.libraryListView";
143
+ export declare const URI_LIST_MIMETYPE = "text/uri-list";
144
+ export declare const URI_LIST_SEPARATOR = "\r\n";
145
+ export declare type ObjectBrowserDrag = {
146
+ library: string;
147
+ object: string;
148
+ type: string;
149
+ member?: string;
150
+ };
141
151
  export interface WrapResult {
142
152
  newStatements: string[];
143
153
  outStmf: string;
@@ -0,0 +1,8 @@
1
+ import IBMi from "./IBMi";
2
+ export declare class Variables extends Map<string, string> {
3
+ constructor(connection?: IBMi, variables?: Record<string, string> | Map<string, string>);
4
+ set(key: string, value: string): this;
5
+ private expandVariables;
6
+ expand(input: string, keysToOmit?: string[]): string;
7
+ toPaseVariables(): Record<string, string>;
8
+ }
@@ -1,3 +1,2 @@
1
1
  import { Disposable } from "vscode";
2
- import Instance from "../Instance";
3
- export declare function registerCompareCommands(instance: Instance): Disposable[];
2
+ export declare function registerCompareCommands(): Disposable[];
@@ -1,23 +1,12 @@
1
1
  import vscode from "vscode";
2
2
  import IBMi from "../api/IBMi";
3
- import IBMiContent from '../api/IBMiContent';
4
3
  import { DebugConfiguration } from '../api/configuration/DebugConfiguration';
5
4
  export declare type ImportedCertificate = {
6
5
  localFile?: vscode.Uri;
7
6
  remoteFile?: string;
8
7
  password: string;
9
8
  };
10
- /**
11
- * Generates or imports the debug service server certificate and generates the client certificate from it.
12
- * The keystore containing the certificate and its key must use the PKCS12 format.
13
- *
14
- * @param connection the IBM i where the certificate must be generated/imported
15
- * @param imported if defined, gives the location and password of a local or remote (i.e. on the IFS) service certificate to import
16
- */
17
- export declare function setup(connection: IBMi, imported?: ImportedCertificate): Promise<void>;
18
- export declare function debugKeyFileExists(connection: IBMi, debugConfig: DebugConfiguration): Promise<boolean>;
19
9
  export declare function remoteCertificatesExists(debugConfig?: DebugConfiguration): Promise<boolean>;
20
10
  export declare function downloadClientCert(connection: IBMi): Promise<void>;
21
11
  export declare function getLocalCertPath(connection: IBMi): string;
22
12
  export declare function checkClientCertificate(connection: IBMi, debugConfig?: DebugConfiguration): Promise<void>;
23
- export declare function sanityCheck(connection: IBMi, content: IBMiContent): Promise<void>;
package/debug/server.d.ts CHANGED
@@ -4,8 +4,8 @@ export declare type DebugJob = {
4
4
  name: string;
5
5
  ports: number[];
6
6
  };
7
- export declare function debugPTFInstalled(): boolean;
8
- export declare function isSEPSupported(connection: IBMi): Promise<boolean>;
7
+ export declare function debugPTFInstalled(connection: IBMi): boolean;
8
+ export declare function isDebugSupported(connection: IBMi): Promise<boolean>;
9
9
  export declare function startService(connection: IBMi): Promise<boolean>;
10
10
  export declare function stopService(connection: IBMi): Promise<boolean>;
11
11
  export declare function getDebugServiceJob(): Promise<DebugJob>;
@@ -1,4 +1,5 @@
1
1
  import { WorkspaceFolder } from "vscode";
2
2
  import { Action } from "../../api/types";
3
+ export declare function getLocalActionsFiles(currentWorkspace?: WorkspaceFolder): Promise<import("vscode").Uri[]>;
3
4
  export declare function getLocalActions(currentWorkspace: WorkspaceFolder): Promise<Action[]>;
4
5
  export declare function getEvfeventFiles(currentWorkspace: WorkspaceFolder): Promise<import("vscode").Uri[]>;
@@ -1,5 +1,6 @@
1
1
  import vscode from 'vscode';
2
2
  import IBMi from '../../api/IBMi';
3
+ import IBMiContent from '../../api/IBMiContent';
3
4
  import { DeploymentParameters } from '../../typings';
4
5
  export declare namespace Deployment {
5
6
  interface MD5Entry {
@@ -13,7 +14,7 @@ export declare namespace Deployment {
13
14
  const workspaceChanges: Map<vscode.WorkspaceFolder, Map<string, vscode.Uri>>;
14
15
  function initialize(context: vscode.ExtensionContext): void;
15
16
  function getConnection(): IBMi;
16
- function getContent(): import("../../api/IBMiContent").default;
17
+ function getContent(): IBMiContent;
17
18
  function createRemoteDirectory(remotePath: string): Promise<import("../../typings").CommandResult>;
18
19
  function showErrorButton(): Promise<void>;
19
20
  function getWorkspaceFolder(workspaceIndex?: number): Promise<vscode.WorkspaceFolder>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@halcyontech/vscode-ibmi-types",
3
- "version": "2.15.2",
3
+ "version": "2.16.0",
4
4
  "description": "Types for vscode-ibmi",
5
5
  "typings": "./typings.d.ts",
6
6
  "scripts": {
package/ui/Tools.d.ts CHANGED
@@ -49,4 +49,5 @@ export declare namespace VscodeTools {
49
49
  const parseAttrDate: typeof Tools.parseAttrDate;
50
50
  const normalizePath: typeof Tools.normalizePath;
51
51
  const resolvePath: typeof Tools.resolvePath;
52
+ const makeid: typeof Tools.makeid;
52
53
  }
package/ui/actions.d.ts CHANGED
@@ -1,6 +1,6 @@
1
+ import vscode, { WorkspaceFolder } from 'vscode';
1
2
  import Instance from '../Instance';
2
3
  import { Action, DeploymentMethod } from '../typings';
3
- import vscode, { WorkspaceFolder } from 'vscode';
4
4
  import { BrowserItem } from './types';
5
5
  export declare function registerActionTools(context: vscode.ExtensionContext): void;
6
- export declare function runAction(instance: Instance, uri: vscode.Uri, customAction?: Action, method?: DeploymentMethod, browserItem?: BrowserItem, workspaceFolder?: WorkspaceFolder): Promise<boolean>;
6
+ export declare function runAction(instance: Instance, uris: vscode.Uri | vscode.Uri[], customAction?: Action, method?: DeploymentMethod, browserItems?: BrowserItem[], workspaceFolder?: WorkspaceFolder): Promise<boolean>;
@@ -13,6 +13,6 @@ export declare function registerDiagnostics(): vscode.Disposable[];
13
13
  */
14
14
  export declare function clearDiagnostics(): void;
15
15
  export declare function clearDiagnostic(uri: vscode.Uri, changeRange: vscode.Range): void;
16
- export declare function refreshDiagnosticsFromServer(instance: Instance, evfeventInfo: EvfEventInfo): Promise<void>;
16
+ export declare function refreshDiagnosticsFromServer(instance: Instance, evfeventInfo: EvfEventInfo, keepDiagnostics?: boolean): Promise<void>;
17
17
  export declare function refreshDiagnosticsFromLocal(instance: Instance, evfeventInfo: EvfEventInfo): Promise<void>;
18
18
  export declare function handleEvfeventLines(lines: string[], instance: Instance, evfeventInfo: EvfEventInfo): void;
@@ -0,0 +1,6 @@
1
+ import vscode from "vscode";
2
+ import IBMi from "../api/IBMi";
3
+ export declare type Code4iUriHandler = {
4
+ canHandle(path: string): boolean;
5
+ handle(uri: vscode.Uri, connection?: IBMi): void | Promise<void>;
6
+ };
@@ -0,0 +1,14 @@
1
+ import { Code4iUriHandler } from "../handler";
2
+ /**
3
+ * Handles /open with the following query parameters:
4
+ * - `path`: an IFS path; supports /QSYS.LIB paths to open members
5
+ * - `host` (optional): the IBM i host to connect to; can be a host name, an IP or a server configuration name use current connection if not specified
6
+ * - `user`(optional): if specified with host, a connection with the specified user must exist
7
+ * - `readonly`: if specified, the member/file will be opened in read-only mode
8
+ *
9
+ * Examples:
10
+ * - /open?path=/tmp/test.txt
11
+ * - /open?path=/tmp/dontchange.txt&readonly
12
+ * - /open?host=PUB400.com&user=JOHNDOE&path=/tmp/dontchange.txt&readonly
13
+ */
14
+ export declare const openURIHandler: Code4iUriHandler;
@@ -0,0 +1,10 @@
1
+ import { Code4iUriHandler } from "../handler";
2
+ /**
3
+ * Handles /connect with the following query parameters:
4
+ * - `server`: the IBM i to connect to
5
+ * - `user`: an IBM i user profile
6
+ * - `pass`: the profile's password
7
+ * - `save` (optional): whether or not this connection should be saved
8
+ */
9
+ export declare const sandboxURIHandler: Code4iUriHandler;
10
+ export declare function initializeSandbox(): Promise<void>;
package/uri/index.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ import vscode from "vscode";
2
+ import { Code4iUriHandler } from "./handler";
3
+ export declare function registerURIHandler(context: vscode.ExtensionContext, ...handlers: Code4iUriHandler[]): void;
@@ -1,7 +1,10 @@
1
1
  import vscode from 'vscode';
2
2
  declare type PanelOptions = {
3
3
  fullWidth?: boolean;
4
+ fullPage?: boolean;
5
+ css?: string;
4
6
  };
7
+ declare type TreeLeafAction = "submit" | "browse";
5
8
  export interface Page<T> {
6
9
  panel: vscode.WebviewPanel;
7
10
  data?: T;
@@ -48,9 +51,10 @@ export declare class Section {
48
51
  addTabs(tabs: Tab[], selected?: number): this;
49
52
  addComplexTabs(tabs: ComplexTab[], selected?: number): this;
50
53
  addSelect(id: string, label: string, items: SelectItem[], description?: string): this;
51
- addTree(id: string, label: string, treeItems: TreeListItem[], description?: string): this;
54
+ addTree(id: string, label: string, treeItems: TreeListItem[], description?: string, onClick?: TreeLeafAction): this;
52
55
  addButtons(...buttons: (Button | undefined)[]): this;
53
56
  addField(field: Field): this;
57
+ addBrowser(id: string, items: TreeListItem[]): this;
54
58
  }
55
59
  export declare class CustomUI extends Section {
56
60
  private options?;
@@ -67,7 +71,7 @@ export declare class CustomUI extends Section {
67
71
  private createPage;
68
72
  private getHTML;
69
73
  }
70
- export declare type FieldType = "input" | "password" | "buttons" | "checkbox" | "file" | "complexTabs" | "tabs" | "tree" | "select" | "paragraph" | "hr" | "heading";
74
+ export declare type FieldType = "input" | "password" | "buttons" | "checkbox" | "file" | "complexTabs" | "tabs" | "tree" | "select" | "paragraph" | "hr" | "heading" | "browser";
71
75
  export interface TreeListItemIcon {
72
76
  branch?: string;
73
77
  open?: string;
@@ -108,6 +112,7 @@ export declare class Field {
108
112
  inputType?: InputType;
109
113
  min?: number;
110
114
  max?: number;
115
+ treeLeafAction?: TreeLeafAction;
111
116
  constructor(type: FieldType, id: string, label: string, description?: string);
112
117
  getHTML(): string;
113
118
  private renderLabel;
package/sandbox.d.ts DELETED
@@ -1,3 +0,0 @@
1
- import { ExtensionContext } from "vscode";
2
- export declare function registerUriHandler(context: ExtensionContext): Promise<void>;
3
- export declare function handleStartup(): Promise<void>;