diff options
Diffstat (limited to 'editors/code/src/client.ts')
-rw-r--r-- | editors/code/src/client.ts | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/editors/code/src/client.ts b/editors/code/src/client.ts index fb8cd4873..772892b07 100644 --- a/editors/code/src/client.ts +++ b/editors/code/src/client.ts | |||
@@ -51,23 +51,24 @@ export function createClient(serverPath: string, cwd: string, extraEnv: Env): lc | |||
51 | 'Rust Analyzer Language Server Trace', | 51 | 'Rust Analyzer Language Server Trace', |
52 | ); | 52 | ); |
53 | 53 | ||
54 | const workspace:lc.WorkspaceMiddleware = { | 54 | const workspace: lc.WorkspaceMiddleware = { |
55 | willRenameFiles:function<P extends vscode.FileRenameEvent,R extends Thenable<vscode.WorkspaceEdit | null | undefined>>(this: void, data: P, next:(data: P) => R ){ | 55 | willRenameFiles: function <P extends vscode.FileRenameEvent, R extends Thenable<vscode.WorkspaceEdit | null | undefined>>(this: void, data: P, next: (data: P) => R) { |
56 | // why add this function rather than default: | 56 | // why add this function rather than default: |
57 | // 1. change `url` parameter to happy format for url crate. (folder should end with '/') | 57 | // 1. change `url` parameter to happy format for url crate. (folder should end with '/') |
58 | // 2. filter some change in here. | 58 | // 2. filter some change in here. |
59 | // 2.1 rename from or to `mod.rs` should be special. | 59 | // 2.1 rename from or to `mod.rs` should be special. |
60 | // 2.2 not all folder change should be cared, only those have files with ".rs" postfix. | 60 | // 2.2 not all folder change should be cared, only those have files with ".rs" postfix. |
61 | let newFiles = data.files.map((file)=>{ | 61 | const newFiles = data.files.map((file) => { |
62 | const isFolder = !file.oldUri.path.endsWith(".rs"); | 62 | const isFolder = !file.oldUri.path.endsWith(".rs"); |
63 | return !isFolder ? file : { | 63 | return !isFolder ? file : { |
64 | oldUri:vscode.Uri.file(file.oldUri.path+'/'), | 64 | oldUri: vscode.Uri.file(file.oldUri.path + '/'), |
65 | newUri:vscode.Uri.file(file.newUri.path+'/') | 65 | newUri: vscode.Uri.file(file.newUri.path + '/') |
66 | }}); | 66 | }; |
67 | data = {...data, files:newFiles}; | 67 | }); |
68 | data = { ...data, files: newFiles }; | ||
68 | return next(data); | 69 | return next(data); |
69 | } | 70 | } |
70 | } | 71 | }; |
71 | 72 | ||
72 | const clientOptions: lc.LanguageClientOptions = { | 73 | const clientOptions: lc.LanguageClientOptions = { |
73 | documentSelector: [{ scheme: 'file', language: 'rust' }], | 74 | documentSelector: [{ scheme: 'file', language: 'rust' }], |