From 8e70fbb46073b7e46c6c11c72867e755c9ad1cd0 Mon Sep 17 00:00:00 2001 From: Brad Cornes Date: Fri, 27 Jan 2023 13:40:13 +0000 Subject: [PATCH] Add workspace root document selector when there's exactly one active project (#711) --- .../tailwindcss-language-server/src/server.ts | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/packages/tailwindcss-language-server/src/server.ts b/packages/tailwindcss-language-server/src/server.ts index 113231e..c355374 100644 --- a/packages/tailwindcss-language-server/src/server.ts +++ b/packages/tailwindcss-language-server/src/server.ts @@ -211,7 +211,8 @@ enum DocumentSelectorPriority { CONTENT_FILE = 1, CSS_DIRECTORY = 2, CONFIG_DIRECTORY = 3, - ROOT_DIRECTORY = 4, + PACKAGE_DIRECTORY = 4, + ROOT_DIRECTORY = 5, } type DocumentSelector = { pattern: string; priority: DocumentSelectorPriority } @@ -1733,7 +1734,7 @@ class TW { : []), { pattern: normalizePath(path.join(getPackageRoot(path.dirname(configPath), base), '**')), - priority: DocumentSelectorPriority.ROOT_DIRECTORY, + priority: DocumentSelectorPriority.PACKAGE_DIRECTORY, }, ] @@ -1744,7 +1745,16 @@ class TW { } } - if (Object.keys(projects).length > 0) { + let projectKeys = Object.keys(projects) + let projectCount = projectKeys.length + + if (projectCount > 0) { + if (projectCount === 1) { + projects[projectKeys[0]].push({ + pattern: normalizePath(path.join(base, '**')), + priority: DocumentSelectorPriority.ROOT_DIRECTORY, + }) + } workspaceFolders = Object.entries(projects).map(([configPath, documentSelector]) => { return { folder: base,