Giter VIP home page Giter VIP logo

Comments (1)

Vexu avatar Vexu commented on June 27, 2024

Until error is fine but why the exisiting zls binary is deleted ?

Small oversight, the old version is deleted before the new one has been downloaded:

diff --git a/src/zls.ts b/src/zls.ts
index 57f8d65..f560247 100644
--- a/src/zls.ts
+++ b/src/zls.ts
@@ -293,15 +293,6 @@ async function installVersion(context: vscode.ExtensionContext, version: semver.
             location: vscode.ProgressLocation.Notification,
         },
         async (progress) => {
-            const installDir = vscode.Uri.joinPath(context.globalStorageUri, "zls_install");
-            if (fs.existsSync(installDir.fsPath)) {
-                fs.rmSync(installDir.fsPath, { recursive: true, force: true });
-            }
-            mkdirp.sync(installDir.fsPath);
-
-            const binName = `zls${isWindows ? ".exe" : ""}`;
-            const zlsBinPath = vscode.Uri.joinPath(installDir, binName).fsPath;
-
             progress.report({ message: "downloading executable..." });
             let exe: Buffer;
             try {
@@ -333,6 +324,15 @@ async function installVersion(context: vscode.ExtensionContext, version: semver.
                 }
                 throw err;
             }
+            const installDir = vscode.Uri.joinPath(context.globalStorageUri, "zls_install");
+            if (fs.existsSync(installDir.fsPath)) {
+                fs.rmSync(installDir.fsPath, { recursive: true, force: true });
+            }
+            mkdirp.sync(installDir.fsPath);
+
+            const binName = `zls${isWindows ? ".exe" : ""}`;
+            const zlsBinPath = vscode.Uri.joinPath(installDir, binName).fsPath;
+
             fs.writeFileSync(zlsBinPath, exe, "binary");
             fs.chmodSync(zlsBinPath, 0o755);
 

from vscode-zig.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.