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
|
diff --git a/packages/tailwindcss-language-server/src/server.ts b/packages/tailwindcss-language-server/src/server.ts
index 729d1f0c30862343cf77f8ab1c278230155392d7..349ef7ec9617a4a4823001cd638f0a0bc1690662 100644
--- a/packages/tailwindcss-language-server/src/server.ts
+++ b/packages/tailwindcss-language-server/src/server.ts
@@ -63,7 +63,7 @@ const tailwindState = await getTailwindState(
params.rootPath || URI.parse(params.rootUri).path,
{
onChange: (newState: State): void => {
- if (newState) {
+ if (newState && !newState.error) {
state = { ...newState, enabled: true, editor: editorState }
connection.sendNotification('tailwindcss/configUpdated', [
state.configPath,
@@ -72,6 +72,20 @@ state.plugins,
])
} else {
state = { enabled: false, editor: editorState }
+ if (newState && newState.error) {
+ const payload: {
+ message: string
+ file?: string
+ line?: number
+ } = { message: newState.error.message }
+ const lines = newState.error.stack.toString().split('\n')
+ const match = /^(?<file>.*?):(?<line>[0-9]+)$/.exec(lines[0])
+ if (match) {
+ payload.file = match.groups.file
+ payload.line = parseInt(match.groups.line, 10)
+ }
+ connection.sendNotification('tailwindcss/configError', [payload])
+ }
// TODO
// connection.sendNotification('tailwindcss/configUpdated', [null])
}
|