@theia/navigator
Version:
Theia - Navigator Extension
43 lines • 1.91 kB
TypeScript
import { FileTree, DirNode } from '@theia/filesystem/lib/browser';
import { FileStat } from '@theia/filesystem/lib/common/files';
import URI from '@theia/core/lib/common/uri';
import { TreeNode, CompositeTreeNode, SelectableTreeNode, CompressionToggle } from '@theia/core/lib/browser';
import { FileNavigatorFilter } from './navigator-filter';
import { FileNavigatorPreferences } from '../common/navigator-preferences';
export declare class FileNavigatorTree extends FileTree {
protected readonly filter: FileNavigatorFilter;
protected readonly navigatorPreferences: FileNavigatorPreferences;
protected readonly compressionToggle: CompressionToggle;
protected init(): void;
protected toggleCompression(): void;
resolveChildren(parent: CompositeTreeNode): Promise<TreeNode[]>;
protected toNodeId(uri: URI, parent: CompositeTreeNode): string;
createId(root: WorkspaceRootNode, uri: URI): string;
createWorkspaceRoot(rootFolder: FileStat, workspaceNode: WorkspaceNode): Promise<WorkspaceRootNode>;
}
/**
* File tree root node for multi-root workspaces.
*/
export interface WorkspaceNode extends CompositeTreeNode, SelectableTreeNode {
children: WorkspaceRootNode[];
}
export declare namespace WorkspaceNode {
const id = "WorkspaceNodeId";
const name = "WorkspaceNode";
function is(node: TreeNode | undefined): node is WorkspaceNode;
/**
* Create a `WorkspaceNode` that can be used as a `Tree` root.
*/
function createRoot(multiRootName?: string): WorkspaceNode;
}
/**
* A node representing a folder from a multi-root workspace.
*/
export interface WorkspaceRootNode extends DirNode {
parent: WorkspaceNode;
}
export declare namespace WorkspaceRootNode {
function is(node: unknown): node is WorkspaceRootNode;
function find(node: TreeNode | undefined): WorkspaceRootNode | undefined;
}
//# sourceMappingURL=navigator-tree.d.ts.map