From 896f755bc9918572176ad111c5599d7d9f27d3d6 Mon Sep 17 00:00:00 2001 From: Simon Stranks Date: Wed, 1 Nov 2023 20:58:28 +0000 Subject: [PATCH] fix(): settings type simplified to one level fix(): folder reference now '/' from '/*' --- src/cssLanguageService.ts | 2 +- src/cssLanguageTypes.ts | 4 ++-- src/services/cssNavigation.ts | 12 ++++++------ src/test/css/navigation.test.ts | 6 ++---- src/test/scss/scssNavigation.test.ts | 10 ++++------ 5 files changed, 15 insertions(+), 19 deletions(-) diff --git a/src/cssLanguageService.ts b/src/cssLanguageService.ts index e175ec6a..ea4017cc 100644 --- a/src/cssLanguageService.ts +++ b/src/cssLanguageService.ts @@ -80,7 +80,7 @@ function createFacade(parser: Parser, completion: CSSCompletion, hover: CSSHover validation.configure(settings); completion.configure(settings?.completion); hover.configure(settings?.hover); - navigation.configure(settings?.alias); + navigation.configure(settings?.importAliases); }, setDataProviders: cssDataManager.setDataProviders.bind(cssDataManager), doValidation: validation.doValidation.bind(validation), diff --git a/src/cssLanguageTypes.ts b/src/cssLanguageTypes.ts index 9c6f95fd..cb5af3ee 100644 --- a/src/cssLanguageTypes.ts +++ b/src/cssLanguageTypes.ts @@ -47,11 +47,11 @@ export interface LanguageSettings { lint?: LintSettings; completion?: CompletionSettings; hover?: HoverSettings; - alias?: AliasSettings; + importAliases?: AliasSettings; } export interface AliasSettings { - paths?: { [key: string]: string }; + [key: string]: string; } export interface HoverSettings { diff --git a/src/services/cssNavigation.ts b/src/services/cssNavigation.ts index b7b63add..d3d8ec85 100644 --- a/src/services/cssNavigation.ts +++ b/src/services/cssNavigation.ts @@ -412,16 +412,16 @@ export class CSSNavigation { // Try resolving the reference from the language configuration alias settings if (ref && !(await this.fileExists(ref))) { const rootFolderUri = documentContext.resolveReference('/', documentUri); - if (settings?.paths && rootFolderUri) { + if (settings && rootFolderUri) { // Specific file reference - if (target in settings.paths) { - return this.mapReference(joinPath(rootFolderUri, settings.paths[target]), isRawLink); + if (target in settings) { + return this.mapReference(joinPath(rootFolderUri, settings[target]), isRawLink); } // Reference folder const firstSlash = target.indexOf('/'); - const prefix = `${target.substring(0, firstSlash)}/*`; - if (prefix in settings.paths) { - const aliasPath = (settings.paths[prefix]).slice(0, -1); + const prefix = `${target.substring(0, firstSlash)}/`; + if (prefix in settings) { + const aliasPath = (settings[prefix]).slice(0, -1); let newPath = joinPath(rootFolderUri, aliasPath); return this.mapReference(newPath = joinPath(newPath, target.substring(prefix.length - 1)), isRawLink); } diff --git a/src/test/css/navigation.test.ts b/src/test/css/navigation.test.ts index 406ce573..8f1a5b0f 100644 --- a/src/test/css/navigation.test.ts +++ b/src/test/css/navigation.test.ts @@ -186,11 +186,9 @@ function getCSSLS() { function aliasSettings(): LanguageSettings { return { - "alias": { - "paths": { + "importAliases": { "@SingleStylesheet": "/src/assets/styles.css", - "@AssetsDir/*": "/src/assets/*", - } + "@AssetsDir/": "/src/assets/", } }; } diff --git a/src/test/scss/scssNavigation.test.ts b/src/test/scss/scssNavigation.test.ts index 45f66fef..597e7236 100644 --- a/src/test/scss/scssNavigation.test.ts +++ b/src/test/scss/scssNavigation.test.ts @@ -19,14 +19,12 @@ function getSCSSLS() { function aliasSettings(): LanguageSettings { return { - "alias": { - "paths": { + "importAliases": { "@SassStylesheet": "/src/assets/styles.scss", - "@NoUnderscoreDir/*": "/noUnderscore/*", - "@UnderscoreDir/*": "/underscore/*", - "@BothDir/*": "/both/*", + "@NoUnderscoreDir/": "/noUnderscore/", + "@UnderscoreDir/": "/underscore/", + "@BothDir/": "/both/", } - } }; }