aboutsummaryrefslogtreecommitdiff
path: root/editors/code/src/ctx.ts
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2020-03-03 13:45:26 +0000
committerGitHub <[email protected]>2020-03-03 13:45:26 +0000
commitb55d22e06095821eaf588786663d3b2b946e8549 (patch)
tree72c430f62b2d238ceee60b2441796fff5483161f /editors/code/src/ctx.ts
parent0cb387c36257a2811046f1ed65e59f83a1ea03bc (diff)
parent2f54c1d653d46831eeb7d691c5f25b78ca63378a (diff)
Merge #3388
3388: Remove inlay hint in diff views r=matklad a=vbfox If the left side of a diff view that contain the old version of the file apply inlays they are misplaced and produce a weird display: ![image](https://user-images.githubusercontent.com/131878/75628802-b1ac1900-5bdc-11ea-8c26-6722d8e38371.png) After the change: ![image](https://user-images.githubusercontent.com/131878/75628831-e91ac580-5bdc-11ea-9039-c6b4ffbdb2be.png) The detection is done by blacklisting the url schemes used by git and subversion scm extensions, whitelisting `file` is also possible but neither is perfect as VSCode now support both pluggable scm extensions and pluggable remote filesystems. But I suspect that the list of scm extensions is more easily manageable. **Note**: I can rebase on #3378 if needed as it touches the same lines of code Co-authored-by: Julien Roncaglia <[email protected]>
Diffstat (limited to 'editors/code/src/ctx.ts')
-rw-r--r--editors/code/src/ctx.ts9
1 files changed, 8 insertions, 1 deletions
diff --git a/editors/code/src/ctx.ts b/editors/code/src/ctx.ts
index 43540e0d8..b4e983a0c 100644
--- a/editors/code/src/ctx.ts
+++ b/editors/code/src/ctx.ts
@@ -3,6 +3,7 @@ import * as lc from 'vscode-languageclient';
3 3
4import { Config } from './config'; 4import { Config } from './config';
5import { createClient } from './client'; 5import { createClient } from './client';
6import { isRustDocument } from './util';
6 7
7export class Ctx { 8export class Ctx {
8 private constructor( 9 private constructor(
@@ -23,11 +24,17 @@ export class Ctx {
23 24
24 get activeRustEditor(): vscode.TextEditor | undefined { 25 get activeRustEditor(): vscode.TextEditor | undefined {
25 const editor = vscode.window.activeTextEditor; 26 const editor = vscode.window.activeTextEditor;
26 return editor && editor.document.languageId === 'rust' 27 return editor && isRustDocument(editor.document)
27 ? editor 28 ? editor
28 : undefined; 29 : undefined;
29 } 30 }
30 31
32 get visibleRustEditors(): vscode.TextEditor[] {
33 return vscode.window.visibleTextEditors.filter(
34 editor => isRustDocument(editor.document),
35 );
36 }
37
31 registerCommand(name: string, factory: (ctx: Ctx) => Cmd) { 38 registerCommand(name: string, factory: (ctx: Ctx) => Cmd) {
32 const fullName = `rust-analyzer.${name}`; 39 const fullName = `rust-analyzer.${name}`;
33 const cmd = factory(this); 40 const cmd = factory(this);