From 85940247555920973a252e671931b037cfc896cb Mon Sep 17 00:00:00 2001 From: "sheche@microsoft.com" Date: Tue, 12 Mar 2019 20:22:33 +0800 Subject: [PATCH 1/2] [bugfix] Correct the content shown in status-bar --- src/leetCodeManager.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/leetCodeManager.ts b/src/leetCodeManager.ts index 1db3f5e2..bd05340c 100644 --- a/src/leetCodeManager.ts +++ b/src/leetCodeManager.ts @@ -24,7 +24,7 @@ class LeetCodeManager extends EventEmitter { public async getLoginStatus(): Promise { try { const result: string = await leetCodeExecutor.getUserInfo(); - this.currentUser = result.slice("You are now login as".length).trim(); + this.currentUser = this.tryParseUserName(result); this.userStatus = UserStatus.SignedIn; } catch (error) { this.currentUser = undefined; @@ -117,6 +117,19 @@ class LeetCodeManager extends EventEmitter { public getUser(): string | undefined { return this.currentUser; } + + private tryParseUserName(output: string): string { + const lines: string[] = output.trim().split(/\r?\n/); + if (lines.length === 3) { + const reg: RegExp = /^\s*.{1}\s*(.+)\s*https:\/\/leetcode/; + const match: RegExpMatchArray | null = lines[2].match(reg); + if (match && match.length === 2) { + return match[1].trim(); + } + } + + return "Unknown"; + } } export const leetCodeManager: LeetCodeManager = new LeetCodeManager(); From b39a46856c827bd342528b4521237ceeb7316739 Mon Sep 17 00:00:00 2001 From: "sheche@microsoft.com" Date: Wed, 13 Mar 2019 10:17:07 +0800 Subject: [PATCH 2/2] Address comments --- src/leetCodeManager.ts | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/leetCodeManager.ts b/src/leetCodeManager.ts index bd05340c..7356bf05 100644 --- a/src/leetCodeManager.ts +++ b/src/leetCodeManager.ts @@ -119,13 +119,10 @@ class LeetCodeManager extends EventEmitter { } private tryParseUserName(output: string): string { - const lines: string[] = output.trim().split(/\r?\n/); - if (lines.length === 3) { - const reg: RegExp = /^\s*.{1}\s*(.+)\s*https:\/\/leetcode/; - const match: RegExpMatchArray | null = lines[2].match(reg); - if (match && match.length === 2) { - return match[1].trim(); - } + const reg: RegExp = /^\s*.\s*(.+?)\s*https:\/\/leetcode/m; + const match: RegExpMatchArray | null = output.match(reg); + if (match && match.length === 2) { + return match[1].trim(); } return "Unknown";