From d82fb0423b4926d4107080ae477ec08d64984275 Mon Sep 17 00:00:00 2001 From: Jordan Pittman Date: Tue, 18 Jun 2024 10:24:29 -0400 Subject: [PATCH 1/3] Log workspace folder initialization failures --- packages/tailwindcss-language-server/src/tw.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/tailwindcss-language-server/src/tw.ts b/packages/tailwindcss-language-server/src/tw.ts index 438d66ad..b263cf09 100644 --- a/packages/tailwindcss-language-server/src/tw.ts +++ b/packages/tailwindcss-language-server/src/tw.ts @@ -153,7 +153,13 @@ 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. - await Promise.allSettled(folders.map((basePath) => this._initFolder(basePath))) + let results = await Promise.allSettled(folders.map((basePath) => this._initFolder(basePath))) + + for (let [idx, result] of results.entries()) { + if (result.status === 'rejected') { + console.error('Failed to initialize workspace folder', folders[idx], result.reason) + } + } await this.listenForEvents() } From 297a5d8e919214c947618a71e0d671103cd4170e Mon Sep 17 00:00:00 2001 From: Jordan Pittman Date: Tue, 18 Jun 2024 10:27:12 -0400 Subject: [PATCH 2/3] Fallback to global settinsg when requests for folder settings fail MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Zed seems to return an error from their LSP: `invalid value: string “…”, expected relative URL without a base` --- packages/tailwindcss-language-server/src/tw.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/tailwindcss-language-server/src/tw.ts b/packages/tailwindcss-language-server/src/tw.ts index b263cf09..063f8f6e 100644 --- a/packages/tailwindcss-language-server/src/tw.ts +++ b/packages/tailwindcss-language-server/src/tw.ts @@ -170,8 +170,18 @@ export class TW { let ignore = globalSettings.tailwindCSS.files.exclude // Get user languages for the given workspace folder - let folderSettings = await this.settingsCache.get(base) - let userLanguages = folderSettings.tailwindCSS.includeLanguages + let userLanguages = globalSettings.tailwindCSS.includeLanguages + + try { + let folderSettings = await this.settingsCache.get(base) + userLanguages = folderSettings.tailwindCSS.includeLanguages + } catch (error) { + console.error( + 'Unable to get get settings for workspace folder. Using global settings instead.', + error, + ) + } + // Fall back to settings defined in `initializationOptions` if invalid if (!isObject(userLanguages)) { From 3543e7deb2cceec9aeaf3798e20b06f6b55eb9cb Mon Sep 17 00:00:00 2001 From: Jordan Pittman Date: Tue, 18 Jun 2024 11:19:51 -0400 Subject: [PATCH 3/3] Update packages/tailwindcss-language-server/src/tw.ts Co-authored-by: Robin Malfait --- packages/tailwindcss-language-server/src/tw.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tailwindcss-language-server/src/tw.ts b/packages/tailwindcss-language-server/src/tw.ts index 063f8f6e..fd3286dd 100644 --- a/packages/tailwindcss-language-server/src/tw.ts +++ b/packages/tailwindcss-language-server/src/tw.ts @@ -177,7 +177,7 @@ export class TW { userLanguages = folderSettings.tailwindCSS.includeLanguages } catch (error) { console.error( - 'Unable to get get settings for workspace folder. Using global settings instead.', + 'Unable to get the settings for workspace folder. Using global settings instead.', error, ) }