diff --git a/packages/tailwindcss-language-server/src/server.ts b/packages/tailwindcss-language-server/src/server.ts index d286c21..5b52879 100644 --- a/packages/tailwindcss-language-server/src/server.ts +++ b/packages/tailwindcss-language-server/src/server.ts @@ -980,11 +980,11 @@ async function createProjectService( dispose() } }, - onUpdateSettings(settings: any): void { + async onUpdateSettings(settings: any): Promise { documentSettingsCache.clear() let previousExclude = state.editor.globalSettings.tailwindCSS.files?.exclude ?? DEFAULT_FILES_EXCLUDE - state.editor.globalSettings = settings + state.editor.globalSettings = await state.editor.getConfiguration() if (!equal(previousExclude, settings.tailwindCSS.files?.exclude ?? DEFAULT_FILES_EXCLUDE)) { tryInit() } else { diff --git a/packages/vscode-tailwindcss/src/extension.ts b/packages/vscode-tailwindcss/src/extension.ts index 1d5ea43..72b5c4b 100755 --- a/packages/vscode-tailwindcss/src/extension.ts +++ b/packages/vscode-tailwindcss/src/extension.ts @@ -88,12 +88,15 @@ function getGlobalExcludePatterns(scope: ConfigurationScope): string[] { return Object.entries(Workspace.getConfiguration('files', scope).get('exclude')) .filter(([, value]) => value === true) .map(([key]) => key) + .filter(Boolean) } function getExcludePatterns(scope: ConfigurationScope): string[] { return [ ...getGlobalExcludePatterns(scope), - ...(Workspace.getConfiguration('tailwindCSS', scope).get('files.exclude')), + ...(Workspace.getConfiguration('tailwindCSS', scope).get('files.exclude')).filter( + Boolean + ), ] } @@ -109,12 +112,12 @@ function isExcluded(file: string, folder: WorkspaceFolder): boolean { return false } -function mergeExcludes(settings: WorkspaceConfiguration, scope: ConfigurationScope) { +function mergeExcludes(settings: WorkspaceConfiguration, scope: ConfigurationScope): any { return { ...settings, files: { ...settings.files, - exclude: [...getGlobalExcludePatterns(scope), ...settings.files.exclude], + exclude: getExcludePatterns(scope), }, } }