diff --git a/packages/tailwindcss-language-server/src/projects.ts b/packages/tailwindcss-language-server/src/projects.ts index 6119aed0..bbed4f77 100644 --- a/packages/tailwindcss-language-server/src/projects.ts +++ b/packages/tailwindcss-language-server/src/projects.ts @@ -1040,7 +1040,7 @@ export async function createProjectService( if (state.enabled) { refreshDiagnostics() } - if (settings.editor.colorDecorators) { + if (settings.editor?.colorDecorators) { updateCapabilities() } else { connection.sendNotification('@/tailwindCSS/clearColors') diff --git a/packages/tailwindcss-language-server/src/tw.ts b/packages/tailwindcss-language-server/src/tw.ts index fd3286dd..e432763a 100644 --- a/packages/tailwindcss-language-server/src/tw.ts +++ b/packages/tailwindcss-language-server/src/tw.ts @@ -153,7 +153,9 @@ export class TW { // NOTE: We should eventually be smart about avoiding duplicate work. We do // not necessarily need to set up file watchers, search for projects, read // configs, etc… per folder. Some of this work should be sharable. - let results = await Promise.allSettled(folders.map((basePath) => this._initFolder(basePath))) + let results = await Promise.allSettled( + folders.map((basePath) => this._initFolder(URI.file(basePath))), + ) for (let [idx, result] of results.entries()) { if (result.status === 'rejected') { @@ -164,24 +166,15 @@ export class TW { await this.listenForEvents() } - private async _initFolder(base: string): Promise { + private async _initFolder(baseUri: URI): Promise { + let base = baseUri.fsPath let workspaceFolders: Array = [] let globalSettings = await this.settingsCache.get() let ignore = globalSettings.tailwindCSS.files.exclude // Get user languages for the given workspace folder - let userLanguages = globalSettings.tailwindCSS.includeLanguages - - try { - let folderSettings = await this.settingsCache.get(base) - userLanguages = folderSettings.tailwindCSS.includeLanguages - } catch (error) { - console.error( - 'Unable to get the settings for workspace folder. Using global settings instead.', - error, - ) - } - + let folderSettings = await this.settingsCache.get(baseUri.toString()) + let userLanguages = folderSettings.tailwindCSS.includeLanguages // Fall back to settings defined in `initializationOptions` if invalid if (!isObject(userLanguages)) {