@@ -47,7 +47,6 @@ import { readCssFile } from './util/css'
4747import { ProjectLocator , type ProjectConfig } from './project-locator'
4848import type { TailwindCssSettings } from '@tailwindcss/language-service/src/util/state'
4949import { createResolver , Resolver } from './resolver'
50- import { retry } from './util/retry'
5150
5251const 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