@@ -73,20 +73,6 @@ function sortedWorkspaceFolders(): string[] {
7373 return _sortedWorkspaceFolders
7474}
7575
76- function getOuterMostWorkspaceFolder ( folder : WorkspaceFolder ) : WorkspaceFolder {
77- let sorted = sortedWorkspaceFolders ( )
78- for ( let element of sorted ) {
79- let uri = folder . uri . toString ( )
80- if ( uri . charAt ( uri . length - 1 ) !== '/' ) {
81- uri = uri + '/'
82- }
83- if ( uri . startsWith ( element ) ) {
84- return Workspace . getWorkspaceFolder ( Uri . parse ( element ) ) !
85- }
86- }
87- return folder
88- }
89-
9076function getUserLanguages ( folder ?: WorkspaceFolder ) : Record < string , string > {
9177 const langs = Workspace . getConfiguration ( 'tailwindCSS' , folder ) . includeLanguages
9278 return isObject ( langs ) ? langs : { }
@@ -217,7 +203,6 @@ export async function activate(context: ExtensionContext) {
217203 if ( ! folder || isExcluded ( uri . fsPath , folder ) ) {
218204 return
219205 }
220- folder = getOuterMostWorkspaceFolder ( folder )
221206 bootWorkspaceClient ( folder )
222207 } )
223208
@@ -231,7 +216,6 @@ export async function activate(context: ExtensionContext) {
231216 return
232217 }
233218 if ( await fileContainsAtConfig ( uri ) ) {
234- folder = getOuterMostWorkspaceFolder ( folder )
235219 bootWorkspaceClient ( folder )
236220 }
237221 }
@@ -465,6 +449,34 @@ export async function activate(context: ExtensionContext) {
465449 outputChannel : outputChannel ,
466450 revealOutputChannelOn : RevealOutputChannelOn . Never ,
467451 middleware : {
452+ provideCompletionItem ( document , position , context , token , next ) {
453+ let workspaceFolder = Workspace . getWorkspaceFolder ( document . uri )
454+ if ( workspaceFolder !== folder ) {
455+ return null
456+ }
457+ return next ( document , position , context , token )
458+ } ,
459+ provideHover ( document , position , token , next ) {
460+ let workspaceFolder = Workspace . getWorkspaceFolder ( document . uri )
461+ if ( workspaceFolder !== folder ) {
462+ return null
463+ }
464+ return next ( document , position , token )
465+ } ,
466+ handleDiagnostics ( uri , diagnostics , next ) {
467+ let workspaceFolder = Workspace . getWorkspaceFolder ( uri )
468+ if ( workspaceFolder !== folder ) {
469+ return
470+ }
471+ next ( uri , diagnostics )
472+ } ,
473+ provideCodeActions ( document , range , context , token , next ) {
474+ let workspaceFolder = Workspace . getWorkspaceFolder ( document . uri )
475+ if ( workspaceFolder !== folder ) {
476+ return null
477+ }
478+ return next ( document , range , context , token )
479+ } ,
468480 async resolveCompletionItem ( item , token , next ) {
469481 let result = await next ( item , token )
470482 let selections = Window . activeTextEditor . selections
@@ -506,6 +518,11 @@ export async function activate(context: ExtensionContext) {
506518 return result
507519 } ,
508520 async provideDocumentColors ( document , token , next ) {
521+ let workspaceFolder = Workspace . getWorkspaceFolder ( document . uri )
522+ if ( workspaceFolder !== folder ) {
523+ return null
524+ }
525+
509526 let colors = await next ( document , token )
510527 let editableColors = colors . filter ( ( color ) => {
511528 let text =
@@ -666,8 +683,6 @@ export async function activate(context: ExtensionContext) {
666683 if ( ! folder ) {
667684 return
668685 }
669- // If we have nested workspace folders we only start a server on the outer most workspace folder.
670- folder = getOuterMostWorkspaceFolder ( folder )
671686
672687 if ( searchedFolders . has ( folder . uri . toString ( ) ) ) {
673688 return
0 commit comments