diff --git a/src/commands/list.ts b/src/commands/list.ts index 7e7b36a..b3e68b2 100644 --- a/src/commands/list.ts +++ b/src/commands/list.ts @@ -31,6 +31,7 @@ export async function listProblems(): Promise { locked: match[2].trim().length > 0, state: parseProblemState(match[3]), name: match[5].trim(), + name_en: "", difficulty: match[6].trim(), passRate: match[7].trim(), companies: companies[id] || ["Unknown"], diff --git a/src/commands/show.ts b/src/commands/show.ts index 3aebce8..28d26a6 100644 --- a/src/commands/show.ts +++ b/src/commands/show.ts @@ -234,6 +234,8 @@ async function resolveRelativePath(relativePath: string, node: IProblem, selecte return node.id; case "name": return node.name; + case "name_en": + return node.name_en; case "camelcasename": return _.camelCase(node.name); case "pascalcasename": diff --git a/src/explorer/LeetCodeNode.ts b/src/explorer/LeetCodeNode.ts index 67aad32..195cff8 100644 --- a/src/explorer/LeetCodeNode.ts +++ b/src/explorer/LeetCodeNode.ts @@ -14,6 +14,12 @@ export class LeetCodeNode { public get name(): string { return this.data.name; } + public get name_en(): string { + return this.data.name_en; + } + public set name_en(name_en: string) { + this.data.name_en = name_en; + } public get state(): ProblemState { return this.data.state; diff --git a/src/shared.ts b/src/shared.ts index e09943f..2831819 100644 --- a/src/shared.ts +++ b/src/shared.ts @@ -76,6 +76,7 @@ export interface IProblem { state: ProblemState; id: string; name: string; + name_en: string; difficulty: string; passRate: string; companies: string[]; @@ -88,6 +89,7 @@ export const defaultProblem: IProblem = { state: ProblemState.Unknown, id: "", name: "", + name_en: "", difficulty: "", passRate: "", companies: [] as string[], diff --git a/src/webview/leetCodePreviewProvider.ts b/src/webview/leetCodePreviewProvider.ts index 78b4099..e8e1cd5 100644 --- a/src/webview/leetCodePreviewProvider.ts +++ b/src/webview/leetCodePreviewProvider.ts @@ -162,6 +162,7 @@ class LeetCodePreviewProvider extends LeetCodeWebview { /* testcase */, , ...body ] = descString.split("\n"); + problem.name_en = url.substring(url.indexOf("problems") + 9, url.indexOf("description") - 1).replace("/", "_"); return { title: problem.name, url,