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); });