From 9bfeac708d33056b37d780b948cb1f117cac19af Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Mon, 30 Dec 2019 17:03:05 +0100 Subject: Move parentModule to the new Ctx --- editors/code/src/commands/index.ts | 2 +- editors/code/src/commands/parent_module.ts | 52 +++++++++++++++--------------- 2 files changed, 27 insertions(+), 27 deletions(-) (limited to 'editors/code/src/commands') diff --git a/editors/code/src/commands/index.ts b/editors/code/src/commands/index.ts index 0a0a36e23..03ca58210 100644 --- a/editors/code/src/commands/index.ts +++ b/editors/code/src/commands/index.ts @@ -4,9 +4,9 @@ import { analyzerStatus } from './analyzer_status'; import { matchingBrace } from './matching_brace'; import { joinLines } from './join_lines'; import { onEnter } from './on_enter'; +import { parentModule } from './parent_module'; import * as expandMacro from './expand_macro'; import * as inlayHints from './inlay_hints'; -import * as parentModule from './parent_module'; import * as runnables from './runnables'; import * as syntaxTree from './syntaxTree'; diff --git a/editors/code/src/commands/parent_module.ts b/editors/code/src/commands/parent_module.ts index ad49e1bdb..2f986009e 100644 --- a/editors/code/src/commands/parent_module.ts +++ b/editors/code/src/commands/parent_module.ts @@ -1,32 +1,32 @@ import * as vscode from 'vscode'; import * as lc from 'vscode-languageclient'; -import { Server } from '../server'; +import { Ctx, Cmd } from '../ctx'; -export async function handle() { - const editor = vscode.window.activeTextEditor; - if (editor == null || editor.document.languageId !== 'rust') { - return; - } - const request: lc.TextDocumentPositionParams = { - textDocument: { uri: editor.document.uri.toString() }, - position: Server.client.code2ProtocolConverter.asPosition( - editor.selection.active, - ), - }; - const response = await Server.client.sendRequest( - 'rust-analyzer/parentModule', - request, - ); - const loc = response[0]; - if (loc == null) { - return; - } - const uri = Server.client.protocol2CodeConverter.asUri(loc.uri); - const range = Server.client.protocol2CodeConverter.asRange(loc.range); +export function parentModule(ctx: Ctx): Cmd { + return async () => { + const editor = ctx.activeRustEditor; + if (!editor) return; + + const request: lc.TextDocumentPositionParams = { + textDocument: { uri: editor.document.uri.toString() }, + position: ctx.client.code2ProtocolConverter.asPosition( + editor.selection.active, + ), + }; + const response = await ctx.client.sendRequest( + 'rust-analyzer/parentModule', + request, + ); + const loc = response[0]; + if (loc == null) return; - const doc = await vscode.workspace.openTextDocument(uri); - const e = await vscode.window.showTextDocument(doc); - e.selection = new vscode.Selection(range.start, range.start); - e.revealRange(range, vscode.TextEditorRevealType.InCenter); + const uri = ctx.client.protocol2CodeConverter.asUri(loc.uri); + const range = ctx.client.protocol2CodeConverter.asRange(loc.range); + + const doc = await vscode.workspace.openTextDocument(uri); + const e = await vscode.window.showTextDocument(doc); + e.selection = new vscode.Selection(range.start, range.start); + e.revealRange(range, vscode.TextEditorRevealType.InCenter); + } } -- cgit v1.2.3