1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
diff --git a/src/lsp/server.ts b/src/lsp/server.ts
index bd7cc22733c16d072d3935776c5c4d24c857855b..c4cb2d1dab02b93616d6f761d90e1ef7050dadd9 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)
-let state: State = { enabled: false, emitter: createEmitter(connection) }
+const 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<InitializeResult> => {
const capabilities = params.capabilities
- const editorState: EditorState = {
+ state.editor = {
connection,
documents,
documentSettings,
@@ -100,12 +100,7 @@ {
// @ts-ignore
onChange: (newState: State): void => {
if (newState && !newState.error) {
- state = {
- ...newState,
- enabled: true,
- emitter: state.emitter,
- editor: editorState,
- }
+ Object.assign(state, newState, { enabled: true })
connection.sendNotification('tailwindcss/configUpdated', [
state.configPath,
state.config,
@@ -113,11 +108,7 @@ state.plugins,
])
updateAllDiagnostics(state)
} else {
- state = {
- enabled: false,
- emitter: state.emitter,
- editor: editorState,
- }
+ state.enabled = false
if (newState && newState.error) {
const payload: {
message: string
@@ -141,14 +132,9 @@ }
)
if (tailwindState) {
- state = {
- enabled: true,
- emitter: state.emitter,
- editor: editorState,
- ...tailwindState,
- }
+ Object.assign(state, tailwindState, { enabled: true })
} else {
- state = { enabled: false, emitter: state.emitter, editor: editorState }
+ state.enabled = false
}
return {
|