Add config to Ctx

This commit is contained in:
Aleksey Kladov 2019-12-30 20:46:14 +01:00
parent 7646dc046e
commit efbbc903e6
4 changed files with 10 additions and 9 deletions

View File

@ -1,6 +1,7 @@
import * as vscode from 'vscode';
import * as lc from 'vscode-languageclient';
import { Server } from './server';
import { Config } from './config';
export class Ctx {
private extCtx: vscode.ExtensionContext;
@ -13,6 +14,10 @@ export class Ctx {
return Server.client;
}
get config(): Config {
return Server.config;
}
get activeRustEditor(): vscode.TextEditor | undefined {
const editor = vscode.window.activeTextEditor;
return editor && editor.document.languageId === 'rust'

View File

@ -12,7 +12,7 @@ export function activateHighlighting(ctx: Ctx) {
vscode.window.onDidChangeActiveTextEditor(
async (editor: vscode.TextEditor | undefined) => {
if (!editor || editor.document.languageId !== 'rust') return;
if (!Server.config.highlightingOn) return;
if (!ctx.config.highlightingOn) return;
const params: lc.TextDocumentIdentifier = {
uri: editor.document.uri.toString(),

View File

@ -30,9 +30,7 @@ export function activateInlayHints(ctx: Ctx) {
);
ctx.pushCleanup(
vscode.workspace.onDidChangeConfiguration(_ =>
hintsUpdater.toggleHintsDisplay(
Server.config.displayInlayHints,
),
hintsUpdater.toggleHintsDisplay(ctx.config.displayInlayHints),
),
);
});

View File

@ -28,13 +28,11 @@ export async function activate(context: vscode.ExtensionContext) {
ctx.registerCommand('runSingle', commands.runSingle);
ctx.registerCommand('showReferences', commands.showReferences);
if (Server.config.enableEnhancedTyping) {
if (ctx.config.enableEnhancedTyping) {
ctx.overrideCommand('type', commands.onEnter);
}
const watchStatus = new StatusDisplay(
Server.config.cargoWatchOptions.command,
);
const watchStatus = new StatusDisplay(ctx.config.cargoWatchOptions.command);
ctx.pushCleanup(watchStatus);
activateHighlighting(ctx);
@ -63,7 +61,7 @@ export async function activate(context: vscode.ExtensionContext) {
vscode.window.showErrorMessage(e.message);
}
if (Server.config.displayInlayHints) {
if (ctx.config.displayInlayHints) {
activateInlayHints(ctx);
}
}