@@ -21,10 +21,8 @@ import {
2121export class ClassCompletionItemProvider implements CompletionItemProvider {
2222
2323 readonly none = "__!NONE!__" ;
24- readonly fixed = "__!FIXED!__" ;
2524 readonly start = new Position ( 0 , 0 ) ;
2625 readonly files = new Set < string > ( ) ;
27- readonly styles = new Set < string > ( [ this . fixed ] ) ;
2826 readonly cache = new Map < string , Map < string , CompletionItem > > ( ) ;
2927 readonly isRemote = / ^ h t t p s ? : \/ \/ / i;
3028 readonly canComplete = / ( i d | c l a s s | c l a s s N a m e ) \s * = \s * ( [ " ' ] ) (?: (? ! \2) .) * $ / si;
@@ -148,8 +146,10 @@ export class ClassCompletionItemProvider implements CompletionItemProvider {
148146 } ) ;
149147 }
150148
151- findDocumentStyles ( text : string ) : Thenable < Set < string > > {
149+ findDocumentStyles ( text : string , uri : Uri ) : Thenable < Set < string > > {
152150 return new Promise ( resolve => {
151+ const key = uri . toString ( ) ;
152+ const keys = new Set < string > ( [ key ] ) ;
153153 const items = new Map < string , CompletionItem > ( ) ;
154154 const findStyles = / < s t y l e [ ^ > ] * > ( [ ^ < ] + ) < \/ s t y l e > / gi;
155155
@@ -159,9 +159,8 @@ export class ClassCompletionItemProvider implements CompletionItemProvider {
159159 this . parseTextToItems ( style [ 1 ] , items ) ;
160160 }
161161
162- this . cache . set ( this . fixed , items ) ;
163-
164- resolve ( this . styles ) ;
162+ this . cache . set ( key , items ) ;
163+ resolve ( keys ) ;
165164 } ) ;
166165 }
167166
@@ -199,11 +198,13 @@ export class ClassCompletionItemProvider implements CompletionItemProvider {
199198 ? CompletionItemKind . Value
200199 : CompletionItemKind . Enum ;
201200
201+ const uri = document . uri ;
202+
202203 Promise . all ( [
203204 this . findLocalStyles ( ) ,
205+ this . findRemoteStyles ( uri ) ,
204206 this . findDocumentLinks ( text ) ,
205- this . findDocumentStyles ( text ) ,
206- this . findRemoteStyles ( document . uri ) ,
207+ this . findDocumentStyles ( text , uri )
207208 ] ) . then ( keys => resolve ( this . buildItems ( keys , type ) ) ) ;
208209 } else {
209210 reject ( ) ;
0 commit comments