From be81ec4e6bb27e2c1914f3c75d7e209c442f555c Mon Sep 17 00:00:00 2001 From: Jasper Poppe Date: Wed, 13 Feb 2019 09:56:41 +0100 Subject: [PATCH] bug fix: workspace.cwd -> workspace.root in getProjectRootPath() I think workspace.cwd should become workspace.root, this fixes the tsserver behaviour in my projects (where I use paths, etc in my tsconfig.json), without this the getProjectRootPath method returns the 'source file' path . Please correct me if I am wrong, I am still new to the code base and this took me hours to figure out ;) --- src/server/typescriptServiceClient.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/typescriptServiceClient.ts b/src/server/typescriptServiceClient.ts index f257b31..7d7faf0 100644 --- a/src/server/typescriptServiceClient.ts +++ b/src/server/typescriptServiceClient.ts @@ -815,7 +815,7 @@ export default class TypeScriptServiceClient implements ITypeScriptServiceClient public getProjectRootPath(uri: string): string { let u = Uri.parse(uri) if (u.scheme != 'file') return workspace.cwd - if (u.fsPath.startsWith(workspace.root) && workspace.root != os.homedir()) return workspace.cwd + if (u.fsPath.startsWith(workspace.root) && workspace.root != os.homedir()) return workspace.root let res = findUp.sync(['tsconfig.json', 'jsconfig.json'], { cwd: path.dirname(u.fsPath) }) return res ? path.dirname(res) : workspace.cwd }