diff --git a/src/cssLanguageService.ts b/src/cssLanguageService.ts index 361c8338..3dd0eb03 100644 --- a/src/cssLanguageService.ts +++ b/src/cssLanguageService.ts @@ -106,7 +106,7 @@ export function getCSSLanguageService(options: LanguageServiceOptions = defaultL new Parser(), new CSSCompletion(null, options, cssDataManager), new CSSHover(options && options.clientCapabilities, cssDataManager), - new CSSNavigation(options && options.fileSystemProvider), + new CSSNavigation(options && options.fileSystemProvider, false), new CSSCodeActions(cssDataManager), new CSSValidation(cssDataManager), cssDataManager @@ -132,7 +132,7 @@ export function getLESSLanguageService(options: LanguageServiceOptions = default new LESSParser(), new LESSCompletion(options, cssDataManager), new CSSHover(options && options.clientCapabilities, cssDataManager), - new CSSNavigation(options && options.fileSystemProvider), + new CSSNavigation(options && options.fileSystemProvider, true), new CSSCodeActions(cssDataManager), new CSSValidation(cssDataManager), cssDataManager diff --git a/src/services/cssNavigation.ts b/src/services/cssNavigation.ts index fca020c8..33493e1a 100644 --- a/src/services/cssNavigation.ts +++ b/src/services/cssNavigation.ts @@ -24,7 +24,7 @@ const startsWithData = /^data:/; export class CSSNavigation { - constructor(protected fileSystemProvider: FileSystemProvider | undefined) { + constructor(protected fileSystemProvider: FileSystemProvider | undefined, private readonly resolveModuleReferences: boolean) { } public findDefinition(document: TextDocument, position: Position, stylesheet: nodes.Node): Location | null { @@ -322,7 +322,7 @@ export class CSSNavigation { // and [sass-loader's](https://github.com/webpack-contrib/sass-loader#resolving-import-at-rules) // new resolving import at-rules (~ is deprecated). The loader will first try to resolve @import as a relative path. If it cannot be resolved, // then the loader will try to resolve @import inside node_modules. - if (documentUri.endsWith('.less') || documentUri.endsWith('.scss') || documentUri.endsWith('.sass')) { + if (this.resolveModuleReferences) { if (relativeReference && await this.fileExists(relativeReference)) { return relativeReference; } else { diff --git a/src/services/scssNavigation.ts b/src/services/scssNavigation.ts index 2b3321a2..9c7132eb 100644 --- a/src/services/scssNavigation.ts +++ b/src/services/scssNavigation.ts @@ -12,7 +12,7 @@ import { startsWith } from '../utils/strings'; export class SCSSNavigation extends CSSNavigation { constructor(fileSystemProvider: FileSystemProvider | undefined) { - super(fileSystemProvider); + super(fileSystemProvider, true); } protected isRawStringDocumentLinkNode(node: nodes.Node): boolean {