aboutsummaryrefslogtreecommitdiff
path: root/editors/code
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2020-02-02 21:27:58 +0000
committerGitHub <[email protected]>2020-02-02 21:27:58 +0000
commitae16884b950d26546f323810170b1f8a25dc0bc0 (patch)
tree2b51c5ea7f7cbda460ea08c535a2f56489295543 /editors/code
parent5e61c9b11def1897c4123eeafb14b4d6a5223546 (diff)
parent2fd7af2a62ce0c8acb5daa6b2c179b638318f31a (diff)
Merge #2989
2989: vscode extension: migrate from any to unknown where possible r=Veetaha a=Veetaha `unknown` type is the stricter version of `any` and it should always be prefered (like `const` over `let`). It lets you assign any value to it, but doesn't let you carry out arbitrary operations on them without an explicit type check (like `typeof unknownValue === 'string'`). Co-authored-by: Veetaha <[email protected]>
Diffstat (limited to 'editors/code')
-rw-r--r--editors/code/src/client.ts2
-rw-r--r--editors/code/src/color_theme.ts2
-rw-r--r--editors/code/src/commands/syntax_tree.ts2
-rw-r--r--editors/code/src/ctx.ts16
-rw-r--r--editors/code/src/status_display.ts4
5 files changed, 15 insertions, 11 deletions
diff --git a/editors/code/src/client.ts b/editors/code/src/client.ts
index 15e1a0873..1778c4e9f 100644
--- a/editors/code/src/client.ts
+++ b/editors/code/src/client.ts
@@ -68,7 +68,7 @@ PATH=${process.env.PATH}
68 // This also requires considering our settings strategy, which is work which needs doing 68 // This also requires considering our settings strategy, which is work which needs doing
69 // @ts-ignore The tracer is private to vscode-languageclient, but we need access to it to not log publishDecorations requests 69 // @ts-ignore The tracer is private to vscode-languageclient, but we need access to it to not log publishDecorations requests
70 res._tracer = { 70 res._tracer = {
71 log: (messageOrDataObject: string | any, data?: string) => { 71 log: (messageOrDataObject: string | unknown, data?: string) => {
72 if (typeof messageOrDataObject === 'string') { 72 if (typeof messageOrDataObject === 'string') {
73 if ( 73 if (
74 messageOrDataObject.includes( 74 messageOrDataObject.includes(
diff --git a/editors/code/src/color_theme.ts b/editors/code/src/color_theme.ts
index 71113d374..7e10c7f79 100644
--- a/editors/code/src/color_theme.ts
+++ b/editors/code/src/color_theme.ts
@@ -61,7 +61,7 @@ export class ColorTheme {
61} 61}
62 62
63function loadThemeNamed(themeName: string): ColorTheme { 63function loadThemeNamed(themeName: string): ColorTheme {
64 function isTheme(extension: vscode.Extension<any>): boolean { 64 function isTheme(extension: vscode.Extension<unknown>): boolean {
65 return ( 65 return (
66 extension.extensionKind === vscode.ExtensionKind.UI && 66 extension.extensionKind === vscode.ExtensionKind.UI &&
67 extension.packageJSON.contributes && 67 extension.packageJSON.contributes &&
diff --git a/editors/code/src/commands/syntax_tree.ts b/editors/code/src/commands/syntax_tree.ts
index 02ea9f166..211f2251f 100644
--- a/editors/code/src/commands/syntax_tree.ts
+++ b/editors/code/src/commands/syntax_tree.ts
@@ -55,7 +55,7 @@ export function syntaxTree(ctx: Ctx): Cmd {
55 55
56// We need to order this after LS updates, but there's no API for that. 56// We need to order this after LS updates, but there's no API for that.
57// Hence, good old setTimeout. 57// Hence, good old setTimeout.
58function afterLs(f: () => any) { 58function afterLs(f: () => void) {
59 setTimeout(f, 10); 59 setTimeout(f, 10);
60} 60}
61 61
diff --git a/editors/code/src/ctx.ts b/editors/code/src/ctx.ts
index 094566d09..05d21ae56 100644
--- a/editors/code/src/ctx.ts
+++ b/editors/code/src/ctx.ts
@@ -1,5 +1,6 @@
1import * as vscode from 'vscode'; 1import * as vscode from 'vscode';
2import * as lc from 'vscode-languageclient'; 2import * as lc from 'vscode-languageclient';
3
3import { Config } from './config'; 4import { Config } from './config';
4import { createClient } from './client'; 5import { createClient } from './client';
5 6
@@ -52,12 +53,12 @@ export class Ctx {
52 overrideCommand(name: string, factory: (ctx: Ctx) => Cmd) { 53 overrideCommand(name: string, factory: (ctx: Ctx) => Cmd) {
53 const defaultCmd = `default:${name}`; 54 const defaultCmd = `default:${name}`;
54 const override = factory(this); 55 const override = factory(this);
55 const original = (...args: any[]) => 56 const original = (...args: unknown[]) =>
56 vscode.commands.executeCommand(defaultCmd, ...args); 57 vscode.commands.executeCommand(defaultCmd, ...args);
57 try { 58 try {
58 const d = vscode.commands.registerCommand( 59 const d = vscode.commands.registerCommand(
59 name, 60 name,
60 async (...args: any[]) => { 61 async (...args: unknown[]) => {
61 if (!(await override(...args))) { 62 if (!(await override(...args))) {
62 return await original(...args); 63 return await original(...args);
63 } 64 }
@@ -73,11 +74,11 @@ export class Ctx {
73 } 74 }
74 } 75 }
75 76
76 get subscriptions(): { dispose(): any }[] { 77 get subscriptions(): Disposable[] {
77 return this.extCtx.subscriptions; 78 return this.extCtx.subscriptions;
78 } 79 }
79 80
80 pushCleanup(d: { dispose(): any }) { 81 pushCleanup(d: Disposable) {
81 this.extCtx.subscriptions.push(d); 82 this.extCtx.subscriptions.push(d);
82 } 83 }
83 84
@@ -86,12 +87,15 @@ export class Ctx {
86 } 87 }
87} 88}
88 89
89export type Cmd = (...args: any[]) => any; 90export interface Disposable {
91 dispose(): void;
92}
93export type Cmd = (...args: any[]) => unknown;
90 94
91export async function sendRequestWithRetry<R>( 95export async function sendRequestWithRetry<R>(
92 client: lc.LanguageClient, 96 client: lc.LanguageClient,
93 method: string, 97 method: string,
94 param: any, 98 param: unknown,
95 token?: vscode.CancellationToken, 99 token?: vscode.CancellationToken,
96): Promise<R> { 100): Promise<R> {
97 for (const delay of [2, 4, 6, 8, 10, null]) { 101 for (const delay of [2, 4, 6, 8, 10, null]) {
diff --git a/editors/code/src/status_display.ts b/editors/code/src/status_display.ts
index 7345bc3f5..4317410c7 100644
--- a/editors/code/src/status_display.ts
+++ b/editors/code/src/status_display.ts
@@ -1,6 +1,6 @@
1import * as vscode from 'vscode'; 1import * as vscode from 'vscode';
2 2
3import { WorkDoneProgress, WorkDoneProgressBegin, WorkDoneProgressReport, WorkDoneProgressEnd } from 'vscode-languageclient'; 3import { WorkDoneProgress, WorkDoneProgressBegin, WorkDoneProgressReport, WorkDoneProgressEnd, Disposable } from 'vscode-languageclient';
4 4
5import { Ctx } from './ctx'; 5import { Ctx } from './ctx';
6 6
@@ -14,7 +14,7 @@ export function activateStatusDisplay(ctx: Ctx) {
14 }); 14 });
15} 15}
16 16
17class StatusDisplay implements vscode.Disposable { 17class StatusDisplay implements vscode.Disposable, Disposable {
18 packageName?: string; 18 packageName?: string;
19 19
20 private i: number = 0; 20 private i: number = 0;