From 891a4e3da9c200cbf78e0f0757b688142e7476c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=A4der?= Date: Mon, 4 Feb 2019 10:03:33 +0100 Subject: [PATCH] Fix command conversions for code lens MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Thomas Mäder --- packages/plugin-ext/src/plugin/languages.ts | 5 ++--- packages/plugin-ext/src/plugin/languages/lens.ts | 7 +++---- packages/plugin-ext/src/plugin/plugin-context.ts | 2 +- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/packages/plugin-ext/src/plugin/languages.ts b/packages/plugin-ext/src/plugin/languages.ts index 4e2d29f026ebe..79dc178d99112 100644 --- a/packages/plugin-ext/src/plugin/languages.ts +++ b/packages/plugin-ext/src/plugin/languages.ts @@ -70,7 +70,6 @@ import { TypeDefinitionAdapter } from './languages/type-definition'; import { CodeActionAdapter } from './languages/code-action'; import { LinkProviderAdapter } from './languages/link-provider'; import { CodeLensAdapter } from './languages/lens'; -import { CommandRegistryImpl } from './command-registry'; import { OutlineAdapter } from './languages/outline'; import { ReferenceAdapter } from './languages/reference'; import { WorkspaceSymbolAdapter } from './languages/workspace-symbol'; @@ -109,7 +108,7 @@ export class LanguagesExtImpl implements LanguagesExt { private callId = 0; private adaptersMap = new Map(); - constructor(rpc: RPCProtocol, private readonly documents: DocumentsExtImpl, private readonly commands: CommandRegistryImpl) { + constructor(rpc: RPCProtocol, private readonly documents: DocumentsExtImpl) { this.proxy = rpc.getProxy(PLUGIN_RPC_CONTEXT.LANGUAGES_MAIN); this.diagnostics = new Diagnostics(rpc); } @@ -401,7 +400,7 @@ export class LanguagesExtImpl implements LanguagesExt { // ### Code Lens Provider begin registerCodeLensProvider(selector: theia.DocumentSelector, provider: theia.CodeLensProvider): theia.Disposable { - const callId = this.addNewAdapter(new CodeLensAdapter(provider, this.documents, this.commands.getConverter())); + const callId = this.addNewAdapter(new CodeLensAdapter(provider, this.documents)); const eventHandle = typeof provider.onDidChangeCodeLenses === 'function' ? this.nextCallId() : undefined; this.proxy.$registerCodeLensSupport(callId, this.transformDocumentSelector(selector), eventHandle); let result = this.createDisposable(callId); diff --git a/packages/plugin-ext/src/plugin/languages/lens.ts b/packages/plugin-ext/src/plugin/languages/lens.ts index 137acfe9cb7e3..2bbe07742acb2 100644 --- a/packages/plugin-ext/src/plugin/languages/lens.ts +++ b/packages/plugin-ext/src/plugin/languages/lens.ts @@ -21,7 +21,6 @@ import { CodeLensSymbol } from '../../api/model'; import * as Converter from '../type-converters'; import { ObjectIdentifier } from '../../common/object-identifier'; import { createToken } from '../token-provider'; -import { CommandsConverter } from '../command-registry'; /** Adapts the calls from main to extension thread for providing/resolving the code lenses. */ export class CodeLensAdapter { @@ -34,7 +33,6 @@ export class CodeLensAdapter { constructor( private readonly provider: theia.CodeLensProvider, private readonly documents: DocumentsExtImpl, - private readonly commands: CommandsConverter ) { } provideCodeLenses(resource: URI): Promise { @@ -49,9 +47,10 @@ export class CodeLensAdapter { if (Array.isArray(lenses)) { return lenses.map(lens => { const id = this.cacheId++; + console.log(lens); const lensSymbol = ObjectIdentifier.mixin({ range: Converter.fromRange(lens.range)!, - command: this.commands.toInternal(lens.command) + command: lens.command ? Converter.toInternalCommand(lens.command) : undefined }, id); this.cache.set(id, lens); return lensSymbol; @@ -76,7 +75,7 @@ export class CodeLensAdapter { return resolve.then(newLens => { newLens = newLens || lens; - symbol.command = this.commands.toInternal(newLens.command || CodeLensAdapter.BAD_CMD); + symbol.command = Converter.toInternalCommand(newLens.command ? newLens.command : CodeLensAdapter.BAD_CMD); return symbol; }); } diff --git a/packages/plugin-ext/src/plugin/plugin-context.ts b/packages/plugin-ext/src/plugin/plugin-context.ts index d049691820708..e1f57afb682a0 100644 --- a/packages/plugin-ext/src/plugin/plugin-context.ts +++ b/packages/plugin-ext/src/plugin/plugin-context.ts @@ -143,7 +143,7 @@ export function createAPIFactory( const statusBarMessageRegistryExt = new StatusBarMessageRegistryExt(rpc); const terminalExt = rpc.set(MAIN_RPC_CONTEXT.TERMINAL_EXT, new TerminalServiceExtImpl(rpc)); const outputChannelRegistryExt = new OutputChannelRegistryExt(rpc); - const languagesExt = rpc.set(MAIN_RPC_CONTEXT.LANGUAGES_EXT, new LanguagesExtImpl(rpc, documents, commandRegistry)); + const languagesExt = rpc.set(MAIN_RPC_CONTEXT.LANGUAGES_EXT, new LanguagesExtImpl(rpc, documents)); const treeViewsExt = rpc.set(MAIN_RPC_CONTEXT.TREE_VIEWS_EXT, new TreeViewsExtImpl(rpc, commandRegistry)); const webviewExt = rpc.set(MAIN_RPC_CONTEXT.WEBVIEWS_EXT, new WebviewsExtImpl(rpc)); const tasksExt = rpc.set(MAIN_RPC_CONTEXT.TASKS_EXT, new TasksExtImpl(rpc));