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