From 1e1d8a002769dc2b8749f80785531d3a59e56c5c Mon Sep 17 00:00:00 2001 From: PabloLION <36828324+PabloLION@users.noreply.github.com> Date: Tue, 6 Dec 2022 11:30:36 +0100 Subject: [PATCH] fix: replace `discuss`->`solution` in solution URL --- src/webview/leetCodeSolutionProvider.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/webview/leetCodeSolutionProvider.ts b/src/webview/leetCodeSolutionProvider.ts index 1fad6e2..f7767d9 100644 --- a/src/webview/leetCodeSolutionProvider.ts +++ b/src/webview/leetCodeSolutionProvider.ts @@ -77,10 +77,23 @@ class LeetCodeSolutionProvider extends LeetCodeWebview { [solution.author, raw] = raw.match(/\* Author:\s+(.+)\n([^]+)/)!.slice(1); [solution.votes, raw] = raw.match(/\* Votes:\s+(\d+)\n\n([^]+)/)!.slice(1); solution.body = raw; + + solution.url = replaceUrlDiscussWithSolution(solution.url); + return solution; } } +function replaceUrlDiscussWithSolution(url: string): string { + // This is due to the update of leetcode.com on 2022 Dec + // "vsc-leetcode-cli": "2.8.1" is still using "discuss" instead of "solutions" in URL + // this will have the vsc-leetcode-cli updating URL to "solutions" + return url.replace( + /https:\/\/leetcode.com\/problems\/(.+)\/discuss\/(\d+)/, + "https://discuss.leetcode.com/problem/$1/solutions/$2" + ); +} + // tslint:disable-next-line:max-classes-per-file class Solution { public title: string = "";