diff --git a/extensions/html/server/npm-shrinkwrap.json b/extensions/html/server/npm-shrinkwrap.json
index cda02f587b9..865ff159633 100644
--- a/extensions/html/server/npm-shrinkwrap.json
+++ b/extensions/html/server/npm-shrinkwrap.json
@@ -3,9 +3,9 @@
"version": "1.0.0",
"dependencies": {
"vscode-html-languageservice": {
- "version": "1.0.0-next.5",
+ "version": "1.0.0-next.6",
"from": "vscode-html-languageservice@next",
- "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-1.0.0-next.5.tgz"
+ "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-1.0.0-next.6.tgz"
},
"vscode-jsonrpc": {
"version": "2.4.0",
@@ -26,9 +26,9 @@
"resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-1.0.7.tgz"
},
"vscode-uri": {
- "version": "0.0.7",
- "from": "vscode-uri@>=0.0.7 <0.0.8",
- "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-0.0.7.tgz"
+ "version": "1.0.0",
+ "from": "vscode-uri@>=1.0.0 <2.0.0",
+ "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-1.0.0.tgz"
}
}
}
diff --git a/extensions/html/server/package.json b/extensions/html/server/package.json
index a6a02e95e00..da04da1146c 100644
--- a/extensions/html/server/package.json
+++ b/extensions/html/server/package.json
@@ -8,9 +8,10 @@
"node": "*"
},
"dependencies": {
- "vscode-html-languageservice": "^1.0.0-next.5",
+ "vscode-html-languageservice": "^1.0.0-next.6",
"vscode-languageserver": "^2.6.0-next.3",
- "vscode-nls": "^1.0.4"
+ "vscode-nls": "^1.0.4",
+ "vscode-uri": "^1.0.0"
},
"scripts": {
"compile": "gulp compile-extension:json-server",
diff --git a/extensions/html/server/src/htmlServerMain.ts b/extensions/html/server/src/htmlServerMain.ts
index 741bc8307fa..557bbfa1c57 100644
--- a/extensions/html/server/src/htmlServerMain.ts
+++ b/extensions/html/server/src/htmlServerMain.ts
@@ -9,7 +9,8 @@ import { createConnection, IConnection, TextDocuments, InitializeParams, Initial
import { HTMLDocument, getLanguageService, CompletionConfiguration, HTMLFormatConfiguration, DocumentContext } from 'vscode-html-languageservice';
import { getLanguageModelCache } from './languageModelCache';
import * as url from 'url';
-
+import * as path from 'path';
+import uri from 'vscode-uri';
import * as nls from 'vscode-nls';
nls.config(process.env['VSCODE_NLS_CONFIG']);
@@ -117,7 +118,14 @@ connection.onDocumentRangeFormatting(formatParams => {
connection.onDocumentLinks(documentLinkParam => {
let document = documents.get(documentLinkParam.textDocument.uri);
- let documentContext: DocumentContext = { resolveReference: ref => url.resolve(document.uri, ref) };
+ let documentContext: DocumentContext = {
+ resolveReference: ref => {
+ if (ref[0] === '/') {
+ return uri.file(path.join(workspacePath, ref)).toString();
+ }
+ return url.resolve(document.uri, ref);
+ }
+ };
return languageService.findDocumentLinks(document, documentContext);
});