Skip to content

Commit 785909d

Browse files
committed
Compute correct document selectors when a project is initialized
1 parent 092b554 commit 785909d

File tree

2 files changed

+26
-23
lines changed

2 files changed

+26
-23
lines changed

packages/tailwindcss-language-server/src/project-locator.ts

+9
Original file line numberDiff line numberDiff line change
@@ -799,10 +799,19 @@ export async function calculateDocumnetSelectors(
799799
entry: ConfigEntry,
800800
features: Feature[],
801801
resolver: Resolver,
802+
existing?: DocumentSelector[],
802803
actualConfig?: any,
803804
) {
804805
let selectors = []
805806

807+
for (let selector of existing ?? []) {
808+
if (selector.priority === DocumentSelectorPriority.CONTENT_FILE) {
809+
continue
810+
}
811+
812+
selectors.push(selector)
813+
}
814+
806815
for await (let selector of contentSelectorsFromConfig(entry, features, resolver, actualConfig)) {
807816
selectors.push(selector)
808817
}

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

+17-23
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ import {
8080
normalizeDriveLetter,
8181
} from './utils'
8282
import type { DocumentService } from './documents'
83-
import type { ProjectConfig } from './project-locator'
83+
import { calculateDocumnetSelectors, type ProjectConfig } from './project-locator'
8484
import { supportedFeatures } from '@tailwindcss/language-service/src/features'
8585
import { loadDesignSystem } from './util/v4'
8686
import { readCssFile } from './util/css'
@@ -286,7 +286,9 @@ export async function createProjectService(
286286
)
287287
}
288288

289-
function onFileEvents(changes: Array<{ file: string; type: FileChangeType }>): void {
289+
async function onFileEvents(
290+
changes: Array<{ file: string; type: FileChangeType }>,
291+
): Promise<void> {
290292
let needsInit = false
291293
let needsRebuild = false
292294

@@ -307,16 +309,12 @@ export async function createProjectService(
307309
projectConfig.configPath &&
308310
(isConfigFile || isDependency)
309311
) {
310-
documentSelector = [
311-
...documentSelector.filter(
312-
({ priority }) => priority !== DocumentSelectorPriority.CONTENT_FILE,
313-
),
314-
...getContentDocumentSelectorFromConfigFile(
315-
projectConfig.configPath,
316-
initialTailwindVersion,
317-
projectConfig.folder,
318-
),
319-
]
312+
documentSelector = await calculateDocumnetSelectors(
313+
projectConfig.config,
314+
state.features,
315+
resolver,
316+
documentSelector,
317+
)
320318

321319
checkOpenDocuments()
322320
}
@@ -963,17 +961,13 @@ export async function createProjectService(
963961

964962
/////////////////////
965963
if (!projectConfig.isUserConfigured) {
966-
documentSelector = [
967-
...documentSelector.filter(
968-
({ priority }) => priority !== DocumentSelectorPriority.CONTENT_FILE,
969-
),
970-
...getContentDocumentSelectorFromConfigFile(
971-
state.configPath,
972-
tailwindcss.version,
973-
projectConfig.folder,
974-
originalConfig,
975-
),
976-
]
964+
documentSelector = await calculateDocumnetSelectors(
965+
projectConfig.config,
966+
state.features,
967+
resolver,
968+
documentSelector,
969+
originalConfig,
970+
)
977971
}
978972
//////////////////////
979973

0 commit comments

Comments
 (0)