From c547ec1cd6fb764d7ad7c1e8b066b90038b44920 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lauren=C8=9Biu=20Nicola?= <lnicola@dend.ro>
Date: Thu, 7 Jan 2021 16:33:00 +0200
Subject: [PATCH] Don't update the server if managed by the user

---
 editors/code/src/main.ts | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/editors/code/src/main.ts b/editors/code/src/main.ts
index 4c132cabeef..694da9409d0 100644
--- a/editors/code/src/main.ts
+++ b/editors/code/src/main.ts
@@ -167,6 +167,7 @@ async function bootstrapExtension(config: Config, state: PersistentState): Promi
         }
         return;
     };
+    if (serverPath(config) !== null) return;
 
     const now = Date.now();
     if (config.package.releaseTag === NIGHTLY_TAG) {
@@ -278,7 +279,7 @@ async function patchelf(dest: PathLike): Promise<void> {
 }
 
 async function getServer(config: Config, state: PersistentState): Promise<string | undefined> {
-    const explicitPath = process.env.__RA_LSP_SERVER_DEBUG ?? config.serverPath;
+    const explicitPath = serverPath(config);
     if (explicitPath) {
         if (explicitPath.startsWith("~/")) {
             return os.homedir() + explicitPath.slice("~".length);
@@ -351,6 +352,10 @@ async function getServer(config: Config, state: PersistentState): Promise<string
     return dest;
 }
 
+function serverPath(config: Config): string | null {
+    return process.env.__RA_LSP_SERVER_DEBUG ?? config.serverPath;
+}
+
 async function isNixOs(): Promise<boolean> {
     try {
         const contents = await fs.readFile("/etc/os-release");