about summary refs log tree commit diff
diff options
context:
space:
mode:
authorhuntc <huntchr@gmail.com>2024-07-30 16:38:47 +1000
committerhuntc <huntchr@gmail.com>2024-07-30 16:38:47 +1000
commit6b4c0e03f84fdb10be959cdbd10bdd1f628a51bb (patch)
tree10efa2f30f3ed2e60a60f1483bca03f4bd7b1a25
parent786ef8393c78819d09d519939dd103b89b000a44 (diff)
downloadrust-6b4c0e03f84fdb10be959cdbd10bdd1f628a51bb.tar.gz
rust-6b4c0e03f84fdb10be959cdbd10bdd1f628a51bb.zip
Further simplifications
-rw-r--r--src/tools/rust-analyzer/editors/code/src/bootstrap.ts18
-rw-r--r--src/tools/rust-analyzer/editors/code/tests/unit/bootstrap.test.ts8
2 files changed, 10 insertions, 16 deletions
diff --git a/src/tools/rust-analyzer/editors/code/src/bootstrap.ts b/src/tools/rust-analyzer/editors/code/src/bootstrap.ts
index 521d0ba4c1d..df49b7b7007 100644
--- a/src/tools/rust-analyzer/editors/code/src/bootstrap.ts
+++ b/src/tools/rust-analyzer/editors/code/src/bootstrap.ts
@@ -153,18 +153,12 @@ function orderFromPath(
     path: string,
     raVersionResolver: (path: string) => string | undefined,
 ): string {
-    const capture = path.match(/^.*\/toolchains\/(.*)\/bin\/rust-analyzer$/);
-    if (capture?.length === 2) {
-        const toolchain = capture[1]!;
-        // It is a semver, so we must resolve Rust Analyzer's version.
-        const raVersion = raVersionResolver(path);
-        const raDate = raVersion?.match(/^rust-analyzer .*\(.* (\d{4}-\d{2}-\d{2})\)$/);
-        if (raDate?.length === 2) {
-            const precedence = toolchain.startsWith("nightly-") ? "/0" : "/1";
-            return "0-" + raDate[1] + precedence;
-        } else {
-            return "2";
-        }
+    // It is a semver, so we must resolve Rust Analyzer's version.
+    const raVersion = raVersionResolver(path);
+    const raDate = raVersion?.match(/^rust-analyzer .*\(.* (\d{4}-\d{2}-\d{2})\)$/);
+    if (raDate?.length === 2) {
+        const precedence = path.includes("nightly-") ? "0" : "1";
+        return precedence + "-" + raDate[1];
     } else {
         return "2";
     }
diff --git a/src/tools/rust-analyzer/editors/code/tests/unit/bootstrap.test.ts b/src/tools/rust-analyzer/editors/code/tests/unit/bootstrap.test.ts
index 6e17d73adc4..884e73e454a 100644
--- a/src/tools/rust-analyzer/editors/code/tests/unit/bootstrap.test.ts
+++ b/src/tools/rust-analyzer/editors/code/tests/unit/bootstrap.test.ts
@@ -16,7 +16,7 @@ export async function getTests(ctx: Context) {
                         return "rust-analyzer 1.67.0-nightly (b7bc90fe 2022-11-21)";
                     },
                 ),
-                "0-2022-11-21/0",
+                "0-2022-11-21",
             );
         });
 
@@ -32,7 +32,7 @@ export async function getTests(ctx: Context) {
                         return "rust-analyzer 1.72.1 (d5c2e9c3 2023-09-13)";
                     },
                 ),
-                "0-2023-09-13/1",
+                "1-2023-09-13",
             );
         });
 
@@ -60,14 +60,14 @@ export async function getTests(ctx: Context) {
                         return "rust-analyzer 1.79.0 (129f3b99 2024-06-10)";
                     },
                 ),
-                "0-2024-06-10/1",
+                "1-2024-06-10",
             );
         });
 
         suite.addTest("Order with invalid path to RA", async () => {
             assert.deepStrictEqual(
                 _private.orderFromPath("some-weird-path", function () {
-                    assert.fail("Shouldn't get here.");
+                    return undefined;
                 }),
                 "2",
             );