From c8bbaaa507f9c8c3674a7cc013566f6a855e4f97 Mon Sep 17 00:00:00 2001 From: Pine Wu Date: Wed, 5 Oct 2016 10:53:31 -0700 Subject: [PATCH] Remove JSON as ITreeNode is all primitives --- src/vs/workbench/api/node/extHost.protocol.ts | 4 ++-- src/vs/workbench/api/node/extHostExplorers.ts | 10 +++++----- src/vs/workbench/api/node/mainThreadExplorers.ts | 8 ++------ .../parts/explorers/browser/views/treeViewer.ts | 3 +-- 4 files changed, 10 insertions(+), 15 deletions(-) diff --git a/src/vs/workbench/api/node/extHost.protocol.ts b/src/vs/workbench/api/node/extHost.protocol.ts index f84739f296f..c4c9bafd776 100644 --- a/src/vs/workbench/api/node/extHost.protocol.ts +++ b/src/vs/workbench/api/node/extHost.protocol.ts @@ -263,8 +263,8 @@ export abstract class ExtHostEditorsShape { } export abstract class ExtHostExplorersShape { - $provideTreeContent(treeContentProviderId: string): TPromise { throw ni(); }; - $resolveChildren(treeContentProviderId: string, node: vscode.ITreeNode): TPromise { throw ni(); } + $provideTreeContent(treeContentProviderId: string): TPromise { throw ni(); }; + $resolveChildren(treeContentProviderId: string, node: vscode.ITreeNode): TPromise { throw ni(); } } export abstract class ExtHostExtensionServiceShape { diff --git a/src/vs/workbench/api/node/extHostExplorers.ts b/src/vs/workbench/api/node/extHostExplorers.ts index fda9fc6ed4f..fe35e0142da 100644 --- a/src/vs/workbench/api/node/extHostExplorers.ts +++ b/src/vs/workbench/api/node/extHostExplorers.ts @@ -13,7 +13,7 @@ import {MainContext, ExtHostExplorersShape, MainThreadExplorersShape} from './ex export class ExtHostExplorers extends ExtHostExplorersShape { private _proxy: MainThreadExplorersShape; - private _treeContentProviders: { [treeContentProviderId: string]: vscode.TreeContentProvider; }; + private _treeContentProviders: { [treeContentProviderId: string]: vscode.TreeContentProvider }; constructor( threadService: IThreadService @@ -36,25 +36,25 @@ export class ExtHostExplorers extends ExtHostExplorersShape { }); } - $provideTreeContent(treeContentProviderId: string): TPromise { + $provideTreeContent(treeContentProviderId: string): TPromise { const provider = this._treeContentProviders[treeContentProviderId]; if (!provider) { throw new Error(`no TreeContentProvider registered with id '${treeContentProviderId}'`); } return TPromise.wrap(provider.provideTreeContent().then(treeContent => { - return JSON.stringify(treeContent); + return treeContent; })); } - $resolveChildren(treeContentProviderId: string, node: vscode.ITreeNode): TPromise { + $resolveChildren(treeContentProviderId: string, node: vscode.ITreeNode): TPromise { const provider = this._treeContentProviders[treeContentProviderId]; if (!provider) { throw new Error(`no TreeContentProvider registered with id '${treeContentProviderId}'`); } return TPromise.wrap(provider.resolveChildren(node).then(children => { - return JSON.stringify(children); + return children; })); } } diff --git a/src/vs/workbench/api/node/mainThreadExplorers.ts b/src/vs/workbench/api/node/mainThreadExplorers.ts index 3224c78c5bc..9241903c304 100644 --- a/src/vs/workbench/api/node/mainThreadExplorers.ts +++ b/src/vs/workbench/api/node/mainThreadExplorers.ts @@ -26,14 +26,10 @@ export class MainThreadExplorers extends MainThreadExplorersShape { $registerTreeContentProvider(providerId: string): void { this.treeExplorerViewletService.registerTreeContentProvider(providerId, { provideTreeContent: (): TPromise => { - return this._proxy.$provideTreeContent(providerId).then(jsonTree => { - return JSON.parse(jsonTree); - }) + return this._proxy.$provideTreeContent(providerId); }, resolveChildren: (node: ITreeNode): TPromise => { - return this._proxy.$resolveChildren(providerId, node).then(jsonChildren => { - return JSON.parse(jsonChildren); - }) + return this._proxy.$resolveChildren(providerId, node); } }); } diff --git a/src/vs/workbench/parts/explorers/browser/views/treeViewer.ts b/src/vs/workbench/parts/explorers/browser/views/treeViewer.ts index cc680bc4950..6b8ca83d8c5 100644 --- a/src/vs/workbench/parts/explorers/browser/views/treeViewer.ts +++ b/src/vs/workbench/parts/explorers/browser/views/treeViewer.ts @@ -4,7 +4,7 @@ import { $, Builder } from 'vs/base/browser/builder'; import { ITree, IDataSource, IRenderer, IElementCallback } from 'vs/base/parts/tree/browser/tree'; import { Tree } from 'vs/base/parts/tree/browser/treeImpl'; import { TreeViewNode } from 'vs/workbench/parts/explorers/common/treeViewModel'; -import { DefaultController } from 'vs/base/parts/tree/browser/treeDefaults'; +import { ClickBehavior, DefaultController } from 'vs/base/parts/tree/browser/treeDefaults'; import { IMouseEvent } from 'vs/base/browser/mouseEvent'; import { IActionRunner } from 'vs/base/common/actions'; @@ -15,7 +15,6 @@ import { IContextViewService, IContextMenuService } from 'vs/platform/contextvie import { IExtensionService } from 'vs/platform/extensions/common/extensions'; import { IModeService } from 'vs/editor/common/services/modeService'; import { ITreeExplorerViewletService } from 'vs/workbench/parts/explorers/browser/treeExplorerViewletService'; -import { ClickBehavior } from 'vs/base/parts/tree/browser/treeDefaults'; const providerId = 'pineTree'; -- GitLab