Skip to content

Commit f911919

Browse files
committed
Refactor
1 parent c8efeca commit f911919

File tree

1 file changed

+15
-6
lines changed
  • packages/tailwindcss-language-server/src

1 file changed

+15
-6
lines changed

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

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ import { readCssFile } from './util/css'
4747
import { ProjectLocator, type ProjectConfig } from './project-locator'
4848
import type { TailwindCssSettings } from '@tailwindcss/language-service/src/util/state'
4949
import { createResolver, Resolver } from './resolver'
50-
import { retry } from './util/retry'
5150

5251
const TRIGGER_CHARACTERS = [
5352
// class attributes
@@ -200,7 +199,13 @@ export class TW {
200199
? path.dirname(this.initializeParams.initializationOptions.workspaceFile)
201200
: base
202201

203-
function getExplicitConfigFiles(settings: TailwindCssSettings) {
202+
type ExplicitConfigs =
203+
// Any valid tailwindCSS.experimental.configFile value
204+
| { kind: 'valid'; entries: [string, string[]][] }
205+
// Any otherwise invalid value
206+
| null
207+
208+
function getExplicitConfigFiles(settings: TailwindCssSettings): ExplicitConfigs {
204209
function resolvePathForConfig(filepath: string) {
205210
return normalizeDriveLetter(normalizePath(path.resolve(userDefinedConfigBase, filepath)))
206211
}
@@ -214,7 +219,8 @@ export class TW {
214219

215220
configs[configFile] = docSelectors
216221
} else if (isObject(configFileOrFiles)) {
217-
for (let [configFile, selectors] of Object.entries(configFileOrFiles)) {
222+
let entries = Object.entries(configFileOrFiles)
223+
for (let [configFile, selectors] of entries) {
218224
if (typeof configFile !== 'string') return null
219225
configFile = resolvePathForConfig(configFile)
220226

@@ -234,7 +240,10 @@ export class TW {
234240
return null
235241
}
236242

237-
return Object.entries(configs)
243+
return {
244+
kind: 'valid',
245+
entries: Object.entries(configs),
246+
}
238247
}
239248

240249
let configs = getExplicitConfigFiles(globalSettings.tailwindCSS)
@@ -252,10 +261,10 @@ export class TW {
252261

253262
let locator = new ProjectLocator(base, globalSettings, resolver)
254263

255-
if (configs.length > 0) {
264+
if (configs.entries.length > 0) {
256265
console.log('Loading Tailwind CSS projects from the workspace settings.')
257266

258-
workspaceFolders = await locator.loadAllFromWorkspace(configs)
267+
workspaceFolders = await locator.loadAllFromWorkspace(configs.entries)
259268
} else {
260269
console.log("Searching for Tailwind CSS projects in the workspace's folders.")
261270

0 commit comments

Comments
 (0)