diff --git a/src/lib/registerColorDecorator.ts b/src/lib/registerColorDecorator.ts index b365b8f594575578047722dcc2da6a54c57bc2b1..7ae0d7d0c48f8ed0da18dc0b04132699be9b474a 100644 --- a/src/lib/registerColorDecorator.ts +++ b/src/lib/registerColorDecorator.ts @@ -127,12 +127,4 @@ ) { window.visibleTextEditors.forEach(updateDecorationsInEditor) } }) - - emitter.on('configUpdated', () => { - window.visibleTextEditors.forEach(updateDecorationsInEditor) - }) - - emitter.on('configError', () => { - window.visibleTextEditors.forEach(updateDecorationsInEditor) - }) } diff --git a/src/lsp/providers/documentColorProvider.ts b/src/lsp/providers/documentColorProvider.ts index 95321aa060179705c14b0156c9a1901c143bd0e3..d9ea6a6edf27b3f390ba55d5d3c0e54353e1d5d8 100644 --- a/src/lsp/providers/documentColorProvider.ts +++ b/src/lsp/providers/documentColorProvider.ts @@ -16,7 +16,6 @@ state.editor.connection, 'getDocumentColors', async ({ document }) => { let colors = [] - if (!state.enabled) return { colors } let doc = state.editor.documents.get(document) if (!doc) return { colors } diff --git a/src/lsp/server.ts b/src/lsp/server.ts index c4cb2d1dab02b93616d6f761d90e1ef7050dadd9..bd7cc22733c16d072d3935776c5c4d24c857855b 100644 --- a/src/lsp/server.ts +++ b/src/lsp/server.ts @@ -38,7 +38,7 @@ import { provideCodeActions } from './providers/codeActions/codeActionProvider' import { registerDocumentColorProvider } from './providers/documentColorProvider' let connection = createConnection(ProposedFeatures.all) -const state: State = { enabled: false, emitter: createEmitter(connection) } +let state: State = { enabled: false, emitter: createEmitter(connection) } let documents = new TextDocuments() let workspaceFolder: string | null @@ -74,7 +74,7 @@ connection.onInitialize( async (params: InitializeParams): Promise => { const capabilities = params.capabilities - state.editor = { + const editorState: EditorState = { connection, documents, documentSettings, @@ -100,7 +100,12 @@ { // @ts-ignore onChange: (newState: State): void => { if (newState && !newState.error) { - Object.assign(state, newState, { enabled: true }) + state = { + ...newState, + enabled: true, + emitter: state.emitter, + editor: editorState, + } connection.sendNotification('tailwindcss/configUpdated', [ state.configPath, state.config, @@ -108,7 +113,11 @@ state.plugins, ]) updateAllDiagnostics(state) } else { - state.enabled = false + state = { + enabled: false, + emitter: state.emitter, + editor: editorState, + } if (newState && newState.error) { const payload: { message: string @@ -132,9 +141,14 @@ } ) if (tailwindState) { - Object.assign(state, tailwindState, { enabled: true }) + state = { + enabled: true, + emitter: state.emitter, + editor: editorState, + ...tailwindState, + } } else { - state.enabled = false + state = { enabled: false, emitter: state.emitter, editor: editorState } } return {