diff options
Diffstat (limited to 'editors/code/src/main.ts')
-rw-r--r-- | editors/code/src/main.ts | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/editors/code/src/main.ts b/editors/code/src/main.ts index f58d26215..049d6cb8e 100644 --- a/editors/code/src/main.ts +++ b/editors/code/src/main.ts | |||
@@ -158,7 +158,9 @@ export async function deactivate() { | |||
158 | } | 158 | } |
159 | 159 | ||
160 | async function bootstrap(config: Config, state: PersistentState): Promise<string> { | 160 | async function bootstrap(config: Config, state: PersistentState): Promise<string> { |
161 | await vscode.workspace.fs.createDirectory(config.globalStorageUri); | 161 | try { |
162 | await vscode.workspace.fs.createDirectory(config.globalStorageUri); | ||
163 | } catch {} | ||
162 | 164 | ||
163 | if (!config.currentExtensionIsNightly) { | 165 | if (!config.currentExtensionIsNightly) { |
164 | await state.updateNightlyReleaseId(undefined); | 166 | await state.updateNightlyReleaseId(undefined); |
@@ -277,11 +279,11 @@ async function patchelf(dest: vscode.Uri): Promise<void> { | |||
277 | ''; | 279 | ''; |
278 | } | 280 | } |
279 | `; | 281 | `; |
280 | const origFile = vscode.Uri.file(dest.path + "-orig"); | 282 | const origFile = vscode.Uri.file(dest.fsPath + "-orig"); |
281 | await vscode.workspace.fs.rename(dest, origFile); | 283 | await vscode.workspace.fs.rename(dest, origFile); |
282 | progress.report({ message: "Patching executable", increment: 20 }); | 284 | progress.report({ message: "Patching executable", increment: 20 }); |
283 | await new Promise((resolve, reject) => { | 285 | await new Promise((resolve, reject) => { |
284 | const handle = exec(`nix-build -E - --argstr srcStr '${origFile.path}' -o '${dest.path}'`, | 286 | const handle = exec(`nix-build -E - --argstr srcStr '${origFile.fsPath}' -o '${dest.fsPath}'`, |
285 | (err, stdout, stderr) => { | 287 | (err, stdout, stderr) => { |
286 | if (err != null) { | 288 | if (err != null) { |
287 | reject(Error(stderr)); | 289 | reject(Error(stderr)); |
@@ -338,14 +340,14 @@ async function getServer(config: Config, state: PersistentState): Promise<string | |||
338 | await state.updateServerVersion(undefined); | 340 | await state.updateServerVersion(undefined); |
339 | } | 341 | } |
340 | 342 | ||
341 | if (state.serverVersion === config.package.version) return dest.path; | 343 | if (state.serverVersion === config.package.version) return dest.fsPath; |
342 | 344 | ||
343 | if (config.askBeforeDownload) { | 345 | if (config.askBeforeDownload) { |
344 | const userResponse = await vscode.window.showInformationMessage( | 346 | const userResponse = await vscode.window.showInformationMessage( |
345 | `Language server version ${config.package.version} for rust-analyzer is not installed.`, | 347 | `Language server version ${config.package.version} for rust-analyzer is not installed.`, |
346 | "Download now" | 348 | "Download now" |
347 | ); | 349 | ); |
348 | if (userResponse !== "Download now") return dest.path; | 350 | if (userResponse !== "Download now") return dest.fsPath; |
349 | } | 351 | } |
350 | 352 | ||
351 | const releaseTag = config.package.releaseTag; | 353 | const releaseTag = config.package.releaseTag; |
@@ -372,7 +374,7 @@ async function getServer(config: Config, state: PersistentState): Promise<string | |||
372 | } | 374 | } |
373 | 375 | ||
374 | await state.updateServerVersion(config.package.version); | 376 | await state.updateServerVersion(config.package.version); |
375 | return dest.path; | 377 | return dest.fsPath; |
376 | } | 378 | } |
377 | 379 | ||
378 | function serverPath(config: Config): string | null { | 380 | function serverPath(config: Config): string | null { |
@@ -383,7 +385,7 @@ async function isNixOs(): Promise<boolean> { | |||
383 | try { | 385 | try { |
384 | const contents = (await vscode.workspace.fs.readFile(vscode.Uri.file("/etc/os-release"))).toString(); | 386 | const contents = (await vscode.workspace.fs.readFile(vscode.Uri.file("/etc/os-release"))).toString(); |
385 | return contents.indexOf("ID=nixos") !== -1; | 387 | return contents.indexOf("ID=nixos") !== -1; |
386 | } catch (e) { | 388 | } catch { |
387 | return false; | 389 | return false; |
388 | } | 390 | } |
389 | } | 391 | } |