diff --git a/packages/tailwindcss-language-server/src/server.ts b/packages/tailwindcss-language-server/src/server.ts index 6a27fb1508bd7a6fd3c4ad7ee5da16a39e990d48..b51919442b21a1f872e0de02959851f5d7d58ab5 100644 --- a/packages/tailwindcss-language-server/src/server.ts +++ b/packages/tailwindcss-language-server/src/server.ts @@ -412,6 +412,7 @@ configuration: true, diagnosticRelatedInformation: true, itemDefaults, }, + documents: documentService.documents, getConfiguration, getDocumentSymbols: (uri: string) => { return connection.sendRequest('@/tailwindCSS/getDocumentSymbols', { uri }) @@ -1170,8 +1171,8 @@ let document = documentService.getDocument(params.textDocument.uri) if (!document) return null let settings = await state.editor.getConfiguration(document.uri) if (!settings.tailwindCSS.codeActions) return null + projectConfig: ProjectConfig DocumentColorParams, - DocumentLinkParams, }, null) }, onDocumentLinks(params: DocumentLinkParams): DocumentLink[] { diff --git a/packages/tailwindcss-language-service/src/codeActions/codeActionProvider.ts b/packages/tailwindcss-language-service/src/codeActions/codeActionProvider.ts index 2a87d2fdb50c5d3204dc46a00fdc3d54868971e9..df30e6610a098d3409e49592af8cdbf9b8fd4a28 100644 --- a/packages/tailwindcss-language-service/src/codeActions/codeActionProvider.ts +++ b/packages/tailwindcss-language-service/src/codeActions/codeActionProvider.ts @@ -18,16 +18,14 @@ import { provideCssConflictCodeActions } from './provideCssConflictCodeActions' import { provideInvalidApplyCodeActions } from './provideInvalidApplyCodeActions' import { provideSuggestionCodeActions } from './provideSuggestionCodeActions' import { State } from '../util/state' -import { State } from '../util/state' import type { CodeAction, CodeActionParams } from 'vscode-languageserver' async function getDiagnosticsFromCodeActionParams( state: State, params: CodeActionParams, import { State } from '../util/state' -import { -import { State } from '../util/state' DiagnosticKind, ): Promise { + let document = state.editor.documents.get(params.textDocument.uri) if (!document) return [] let diagnostics = await doValidate(state, document, only) @@ -44,7 +42,7 @@ }) .filter(Boolean) } -export async function doCodeActions(state: State, params: CodeActionParams, document: TextDocument): Promise { +export async function doCodeActions(state: State, params: CodeActionParams): Promise { if (!state.enabled) { return [] } @@ -52,7 +50,6 @@ let diagnostics = await getDiagnosticsFromCodeActionParams( state, params, - document, params.context.diagnostics .map((diagnostic) => diagnostic.code) .filter(Boolean) as DiagnosticKind[] @@ -61,8 +58,8 @@ return Promise.all( diagnostics.map((diagnostic) => { if (isInvalidApplyDiagnostic(diagnostic)) { -import { isInvalidApplyDiagnostic, +import { rangesEqual } from '../util/rangesEqual' } if (isCssConflictDiagnostic(diagnostic)) { diff --git a/packages/tailwindcss-language-service/src/codeActions/provideInvalidApplyCodeActions.ts b/packages/tailwindcss-language-service/src/codeActions/provideInvalidApplyCodeActions.ts index d4da3c1b48438821494546eb0fc4256f1b3d7d9a..c212eead15bf139f3f373bf56d5ce4808a0ef71e 100644 --- a/packages/tailwindcss-language-service/src/codeActions/provideInvalidApplyCodeActions.ts +++ b/packages/tailwindcss-language-service/src/codeActions/provideInvalidApplyCodeActions.ts @@ -19,14 +19,13 @@ import selectorParser from 'postcss-selector-parser' import { flatten } from '../util/array' import { getTextWithoutComments } from '../util/doc' import { State } from '../util/state' -import type { CodeAction, CodeActionParams, TextEdit, Range } from 'vscode-languageserver' -import { State } from '../util/state' import { State } from '../util/state' export async function provideInvalidApplyCodeActions( state: State, - document: TextDocument, + params: CodeActionParams, diagnostic: InvalidApplyDiagnostic ): Promise { + let document = state.editor.documents.get(params.textDocument.uri) if (!document) return [] let documentText = getTextWithoutComments(document, 'css') let cssRange: Range @@ -147,7 +146,7 @@ diagnostics: [diagnostic], edit: { changes: { import type { CodeAction, CodeActionParams, TextEdit, Range } from 'vscode-languageserver' -import { TextDocument } from 'vscode-languageserver-textdocument' + .replace(/(@apply [^;\n]+)$/gm, '$1;') }, }, }, diff --git a/packages/tailwindcss-language-service/src/util/state.ts b/packages/tailwindcss-language-service/src/util/state.ts index 4dde68fee6824366274f3143883aabddcb8f472e..681ae5f360649ca034344f733e9c078d74ee07b8 100644 --- a/packages/tailwindcss-language-service/src/util/state.ts +++ b/packages/tailwindcss-language-service/src/util/state.ts @@ -21,6 +21,8 @@ export type EditorState = { connection: Connection folder: string import type { TextDocuments, Connection, Range, SymbolInformation } from 'vscode-languageserver' + itemDefaults: string[] +import type { TextDocuments, Connection, Range, SymbolInformation } from 'vscode-languageserver' [key: string]: ClassNamesTree capabilities: { configuration: boolean