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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
import { TextDocuments, Connection, Range } from 'vscode-languageserver'
import { NotificationEmitter } from '../../lib/emitter'
export type ClassNamesTree = {
[key: string]: ClassNamesTree
}
export type ClassNamesContext = {
[key: string]: string[]
}
export type ClassNames = {
context: ClassNamesContext
classNames: ClassNamesTree
}
export type EditorState = {
connection: Connection
documents: TextDocuments
documentSettings: Map<string, Settings>
globalSettings: Settings
userLanguages: Record<string, string>
capabilities: {
configuration: boolean
diagnosticRelatedInformation: boolean
}
}
type DiagnosticSeveritySetting = 'ignore' | 'warning' | 'error'
export type Settings = {
emmetCompletions: boolean
includeLanguages: Record<string, string>
validate: boolean
lint: {
cssConflict: DiagnosticSeveritySetting
invalidApply: DiagnosticSeveritySetting
invalidScreen: DiagnosticSeveritySetting
invalidVariant: DiagnosticSeveritySetting
invalidConfigPath: DiagnosticSeveritySetting
invalidTailwindDirective: DiagnosticSeveritySetting
}
}
export type State = null | {
enabled: boolean
emitter: NotificationEmitter
version?: string
configPath?: string
config?: any
modules?: {
tailwindcss: any
postcss: any
}
separator?: string
plugins?: any[]
variants?: string[]
classNames?: ClassNames
dependencies?: string[]
editor?: EditorState
error?: Error
}
export type DocumentClassList = {
classList: string
range: Range
important?: boolean
}
export type DocumentClassName = {
className: string
range: Range
relativeRange: Range
classList: DocumentClassList
}
export type DocumentHelperFunction = {
full: string
helper: 'theme' | 'config'
value: string
quotes: '"' | "'"
range: Range
valueRange: Range
}
export type ClassNameMeta = {
source: 'base' | 'components' | 'utilities'
pseudo: string[]
scope: string[]
context: string[]
}
|