rhamt-vscode-extension
Version:
RHAMT VSCode extension
38 lines (32 loc) • 1.39 kB
text/typescript
import * as vscode from 'vscode';
import { RhamtModelService } from 'raas-core';
import { RhamtTreeDataProvider } from '../tree-api/RhamtTreeDataProvider';
import { IRhamtNode } from '../tree-api';
export class RhamtExplorer {
private dataProvider: RhamtTreeDataProvider;
constructor(private context: vscode.ExtensionContext,
private modelService: RhamtModelService) {
this.dataProvider = this.createDataProvider();
this.createViewer();
this.createCommands();
}
private createCommands(): void {
this.context.subscriptions.push(vscode.commands.registerCommand('rhamt.createConfiguration', () => {
this.modelService.createConfiguration();
this.dataProvider.refresh();
// this.tree.reveal(config, {select: true});
// return true;
}));
}
private createViewer(): vscode.TreeView<IRhamtNode> {
const treeDataProvider = this.dataProvider;
const viewer = vscode.window.createTreeView('rhamtExplorerView', { treeDataProvider });
this.context.subscriptions.push(viewer);
return viewer;
}
private createDataProvider(): RhamtTreeDataProvider {
const provider: RhamtTreeDataProvider = new RhamtTreeDataProvider(this.modelService, 'rhamt.loadMore');
this.context.subscriptions.push(provider);
return provider;
}
}