Skip to content

Commit d561031

Browse files
Fallback to global settings when requests for folder settings fail (#981)
* Log workspace folder initialization failures * Fallback to global settinsg when requests for folder settings fail Zed seems to return an error from their LSP: `invalid value: string “…”, expected relative URL without a base` * Update packages/tailwindcss-language-server/src/tw.ts Co-authored-by: Robin Malfait <malfait.robin@gmail.com> --------- Co-authored-by: Robin Malfait <malfait.robin@gmail.com>
1 parent 73843f5 commit d561031

File tree

1 file changed

+19
-3
lines changed
  • packages/tailwindcss-language-server/src

1 file changed

+19
-3
lines changed

packages/tailwindcss-language-server/src/tw.ts

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,13 @@ export class TW {
153153
// NOTE: We should eventually be smart about avoiding duplicate work. We do
154154
// not necessarily need to set up file watchers, search for projects, read
155155
// configs, etc… per folder. Some of this work should be sharable.
156-
await Promise.allSettled(folders.map((basePath) => this._initFolder(basePath)))
156+
let results = await Promise.allSettled(folders.map((basePath) => this._initFolder(basePath)))
157+
158+
for (let [idx, result] of results.entries()) {
159+
if (result.status === 'rejected') {
160+
console.error('Failed to initialize workspace folder', folders[idx], result.reason)
161+
}
162+
}
157163

158164
await this.listenForEvents()
159165
}
@@ -164,8 +170,18 @@ export class TW {
164170
let ignore = globalSettings.tailwindCSS.files.exclude
165171

166172
// Get user languages for the given workspace folder
167-
let folderSettings = await this.settingsCache.get(base)
168-
let userLanguages = folderSettings.tailwindCSS.includeLanguages
173+
let userLanguages = globalSettings.tailwindCSS.includeLanguages
174+
175+
try {
176+
let folderSettings = await this.settingsCache.get(base)
177+
userLanguages = folderSettings.tailwindCSS.includeLanguages
178+
} catch (error) {
179+
console.error(
180+
'Unable to get the settings for workspace folder. Using global settings instead.',
181+
error,
182+
)
183+
}
184+
169185

170186
// Fall back to settings defined in `initializationOptions` if invalid
171187
if (!isObject(userLanguages)) {

0 commit comments

Comments
 (0)