diff --git a/extensions/html/server/src/modes/pathCompletion.ts b/extensions/html/server/src/modes/pathCompletion.ts index 8c384bfc95a..9e1c659cad2 100644 --- a/extensions/html/server/src/modes/pathCompletion.ts +++ b/extensions/html/server/src/modes/pathCompletion.ts @@ -64,12 +64,17 @@ export function providePathSuggestions(value: string, activeDocFsPath: string, r return []; } - const valueAfterLastSlash = value.slice(value.lastIndexOf('/') + 1); - const valueBeforeLastSlash = value.slice(0, value.lastIndexOf('/') + 1); + const lastIndexOfSlash = value.lastIndexOf('/'); + const valueAfterLastSlash = value.slice(lastIndexOfSlash + 1); + const valueBeforeLastSlash = value.slice(0, lastIndexOfSlash + 1); const parentDir = startsWith(value, '/') ? path.resolve(root, '.' + valueBeforeLastSlash) : path.resolve(activeDocFsPath, '..', valueBeforeLastSlash); + if (!fs.existsSync(parentDir)) { + return []; + } + return fs.readdirSync(parentDir).map(f => { return { label: f, diff --git a/extensions/html/server/test/mocha.opts b/extensions/html/server/test/mocha.opts index 559e72667aa..97e8b723ae2 100644 --- a/extensions/html/server/test/mocha.opts +++ b/extensions/html/server/test/mocha.opts @@ -1,4 +1,3 @@ --ui tdd --useColors true -./out/test -./out/test/pathCompletion \ No newline at end of file +./out/test \ No newline at end of file diff --git a/extensions/html/server/tsconfig.json b/extensions/html/server/tsconfig.json index d965b4c85d1..a4a5a507ac0 100644 --- a/extensions/html/server/tsconfig.json +++ b/extensions/html/server/tsconfig.json @@ -6,7 +6,7 @@ "noUnusedLocals": true, "sourceMap": true, "lib": [ - "es5", "es2015.promise", "dom" + "es5", "es2015.promise" ] } } \ No newline at end of file