@@ -29,16 +29,15 @@ export function findLast(re: RegExp, str: string): RegExpMatchArray {
29
29
return matches [ matches . length - 1 ]
30
30
}
31
31
32
- export function getClassNamesInClassList ( {
33
- classList,
34
- range,
35
- important,
36
- } : DocumentClassList ) : DocumentClassName [ ] {
32
+ export function getClassNamesInClassList (
33
+ { classList, range, important } : DocumentClassList ,
34
+ blocklist : State [ 'blocklist' ]
35
+ ) : DocumentClassName [ ] {
37
36
const parts = classList . split ( / ( \s + ) / )
38
37
const names : DocumentClassName [ ] = [ ]
39
38
let index = 0
40
39
for ( let i = 0 ; i < parts . length ; i ++ ) {
41
- if ( i % 2 === 0 ) {
40
+ if ( i % 2 === 0 && ! blocklist . includes ( parts [ i ] ) ) {
42
41
const start = indexToPosition ( classList , index )
43
42
const end = indexToPosition ( classList , index + parts [ i ] . length )
44
43
names . push ( {
@@ -77,15 +76,19 @@ export async function findClassNamesInRange(
77
76
includeCustom : boolean = true
78
77
) : Promise < DocumentClassName [ ] > {
79
78
const classLists = await findClassListsInRange ( state , doc , range , mode , includeCustom )
80
- return flatten ( classLists . map ( getClassNamesInClassList ) )
79
+ return flatten (
80
+ classLists . map ( ( classList ) => getClassNamesInClassList ( classList , state . blocklist ) )
81
+ )
81
82
}
82
83
83
84
export async function findClassNamesInDocument (
84
85
state : State ,
85
86
doc : TextDocument
86
87
) : Promise < DocumentClassName [ ] > {
87
88
const classLists = await findClassListsInDocument ( state , doc )
88
- return flatten ( classLists . map ( getClassNamesInClassList ) )
89
+ return flatten (
90
+ classLists . map ( ( classList ) => getClassNamesInClassList ( classList , state . blocklist ) )
91
+ )
89
92
}
90
93
91
94
export function findClassListsInCssRange ( doc : TextDocument , range ?: Range ) : DocumentClassList [ ] {
0 commit comments