5
5
CancellationToken ,
6
6
CompletionContext ,
7
7
CompletionItem ,
8
+ CompletionItemLabel ,
8
9
CompletionItemKind ,
9
10
CompletionItemProvider ,
10
11
CompletionList ,
@@ -72,7 +73,7 @@ export class SelectorCompletionItemProvider implements CompletionItemProvider, D
72
73
: join ( dirname ( uri . fsPath ) , name ) ;
73
74
}
74
75
75
- parseTextToItems ( text : string , items : CompletionItem [ ] ) {
76
+ parseTextToItems ( path : string , text : string , items : CompletionItem [ ] ) {
76
77
walk ( parse ( text ) , node => {
77
78
78
79
let kind : CompletionItemKind ;
@@ -88,7 +89,7 @@ export class SelectorCompletionItemProvider implements CompletionItemProvider, D
88
89
return ;
89
90
}
90
91
91
- items . push ( new CompletionItem ( node . name , kind ) ) ;
92
+ items . push ( new CompletionItem ( { label : node . name , description : path } , kind ) ) ;
92
93
} ) ;
93
94
}
94
95
@@ -101,7 +102,7 @@ export class SelectorCompletionItemProvider implements CompletionItemProvider, D
101
102
102
103
try {
103
104
const content = await workspace . fs . readFile ( Uri . file ( path ) ) ;
104
- this . parseTextToItems ( content . toString ( ) , items ) ;
105
+ this . parseTextToItems ( basename ( path ) , content . toString ( ) , items ) ;
105
106
} catch ( error ) {
106
107
}
107
108
@@ -121,7 +122,7 @@ export class SelectorCompletionItemProvider implements CompletionItemProvider, D
121
122
122
123
if ( res . ok ) {
123
124
const text = await res . text ( ) ;
124
- this . parseTextToItems ( text , items ) ;
125
+ this . parseTextToItems ( basename ( path ) , text , items ) ;
125
126
}
126
127
} catch ( error ) {
127
128
}
@@ -150,7 +151,7 @@ export class SelectorCompletionItemProvider implements CompletionItemProvider, D
150
151
let style ;
151
152
152
153
while ( ( style = findStyles . exec ( text ) ) !== null ) {
153
- this . parseTextToItems ( style [ 1 ] , items ) ;
154
+ this . parseTextToItems ( basename ( uri . fsPath ) , style [ 1 ] , items ) ;
154
155
}
155
156
156
157
this . cache . set ( key , items ) ;
@@ -227,7 +228,7 @@ export class SelectorCompletionItemProvider implements CompletionItemProvider, D
227
228
const classes = new Map < string , CompletionItem > ( ) ;
228
229
229
230
keys . forEach ( key => this . cache . get ( key ) ?. forEach ( e =>
230
- ( e . kind === CompletionItemKind . Value ? ids : classes ) . set ( e . label , e ) ) ) ;
231
+ ( e . kind === CompletionItemKind . Value ? ids : classes ) . set ( ( < CompletionItemLabel > e . label ) . label , e ) ) ) ;
231
232
232
233
return { ids, classes } ;
233
234
}
0 commit comments