From 73db88ffc1c3bc71a57e372c1388621bf747a866 Mon Sep 17 00:00:00 2001 From: Pine Wu Date: Tue, 14 Aug 2018 09:28:29 -0700 Subject: [PATCH] @import and url() link. Fix Microsoft/vscode#29899 --- .../server/src/cssServerMain.ts | 32 ++++++++++++++----- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/extensions/css-language-features/server/src/cssServerMain.ts b/extensions/css-language-features/server/src/cssServerMain.ts index 8a822ce8b64..f303eb3b1b0 100644 --- a/extensions/css-language-features/server/src/cssServerMain.ts +++ b/extensions/css-language-features/server/src/cssServerMain.ts @@ -86,6 +86,9 @@ connection.onInitialize((params: InitializeParams): InitializeResult => { referencesProvider: true, definitionProvider: true, documentHighlightProvider: true, + documentLinkProvider: { + resolveProvider: false + }, codeActionProvider: true, renameProvider: true, colorProvider: {}, @@ -227,29 +230,42 @@ connection.onDocumentSymbol((documentSymbolParams, token) => { }, [], `Error while computing document symbols for ${documentSymbolParams.textDocument.uri}`, token); }); -connection.onDefinition((documentSymbolParams, token) => { +connection.onDefinition((documentDefinitionParams, token) => { return runSafe(() => { - const document = documents.get(documentSymbolParams.textDocument.uri); + const document = documents.get(documentDefinitionParams.textDocument.uri); if (document) { const stylesheet = stylesheets.get(document); - return getLanguageService(document).findDefinition(document, documentSymbolParams.position, stylesheet); + return getLanguageService(document).findDefinition(document, documentDefinitionParams.position, stylesheet); } return null; - }, null, `Error while computing definitions for ${documentSymbolParams.textDocument.uri}`, token); + }, null, `Error while computing definitions for ${documentDefinitionParams.textDocument.uri}`, token); }); -connection.onDocumentHighlight((documentSymbolParams, token) => { +connection.onDocumentHighlight((documentHighlightParams, token) => { return runSafe(() => { - const document = documents.get(documentSymbolParams.textDocument.uri); + const document = documents.get(documentHighlightParams.textDocument.uri); if (document) { const stylesheet = stylesheets.get(document); - return getLanguageService(document).findDocumentHighlights(document, documentSymbolParams.position, stylesheet); + return getLanguageService(document).findDocumentHighlights(document, documentHighlightParams.position, stylesheet); } return []; - }, [], `Error while computing document highlights for ${documentSymbolParams.textDocument.uri}`, token); + }, [], `Error while computing document highlights for ${documentHighlightParams.textDocument.uri}`, token); }); + +connection.onDocumentLinks((documentLinkParams, token) => { + return runSafe(() => { + const document = documents.get(documentLinkParams.textDocument.uri); + if (document) { + const stylesheet = stylesheets.get(document); + return getLanguageService(document).findDocumentLinks(document, stylesheet); + } + return []; + }, [], `Error while computing document links for ${documentLinkParams.textDocument.uri}`, token); +}); + + connection.onReferences((referenceParams, token) => { return runSafe(() => { const document = documents.get(referenceParams.textDocument.uri);