diff --git a/package-lock.json b/package-lock.json index 646da15d..92f93c1a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -829,9 +829,9 @@ "dev": true }, "js-yaml": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.0.tgz", - "integrity": "sha512-pZZoSxcCYco+DIKBTimr67J6Hy+EYGZDY/HCWC+iAEA9h1ByhMXAIVUXMcMFpOCxQ/xjXmPI2MkDL5HRm5eFrQ==", + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", "dev": true, "requires": { "argparse": "^1.0.7", @@ -1590,6 +1590,11 @@ "strip-ansi": "^3.0.0" } }, + "string.fromcodepoint": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string.fromcodepoint/-/string.fromcodepoint-0.2.1.tgz", + "integrity": "sha1-jZeDM8C8klOPUPOD5IiPPlYZ1lM=" + }, "string_decoder": { "version": "0.10.31", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", @@ -1710,6 +1715,14 @@ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==" }, + "unescape-js": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unescape-js/-/unescape-js-1.1.1.tgz", + "integrity": "sha512-2/6CdybfFt9fzYJhCD6SHfBnqCGNfjhMwPK9Pf+sJRloa/WmyAmxdBVOslOIYkvSIRKX+9xGePF5t1tugtZ63g==", + "requires": { + "string.fromcodepoint": "^0.2.1" + } + }, "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", diff --git a/package.json b/package.json index 8f8a4c04..1971214b 100644 --- a/package.json +++ b/package.json @@ -337,6 +337,7 @@ "lodash": "^4.17.11", "markdown-it": "^8.4.2", "require-from-string": "^2.0.2", + "unescape-js": "^1.1.1", "vsc-leetcode-cli": "2.6.3" } } diff --git a/src/commands/show.ts b/src/commands/show.ts index 8b9929d5..a72c31bf 100644 --- a/src/commands/show.ts +++ b/src/commands/show.ts @@ -3,6 +3,7 @@ import * as fse from "fs-extra"; import * as path from "path"; +import * as unescapeJS from "unescape-js"; import * as vscode from "vscode"; import { LeetCodeNode } from "../explorer/LeetCodeNode"; import { leetCodeChannel } from "../leetCodeChannel"; @@ -49,11 +50,10 @@ export async function showSolution(node?: LeetCodeNode): Promise { return; } try { - let solution: string = await leetCodeExecutor.showSolution(node, language); - // remove backslash in espaced \'...\'(generated by leetcode's database) - solution = solution.replace(/\\'/g, "'"); - await leetCodeSolutionProvider.show(solution, node); + const solution: string = await leetCodeExecutor.showSolution(node, language); + await leetCodeSolutionProvider.show(unescapeJS(solution), node); } catch (error) { + leetCodeChannel.appendLine(error.toString()); await promptForOpenOutputChannel("Failed to fetch the top voted solution. Please open the output channel for details.", DialogType.error); } }