Skip to content

Commit 6267c1d

Browse files
committed
Fixes
1 parent 2d91496 commit 6267c1d

File tree

2 files changed

+11
-9
lines changed

2 files changed

+11
-9
lines changed

src/extension.ts

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,8 @@ import {
2121
export 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 = /^https?:\/\//i;
3028
readonly canComplete = /(id|class|className)\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 = /<style[^>]*>([^<]+)<\/style>/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();

src/test/suite/extension.test.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ class MockCompletionContext implements CompletionContext {
3333
}
3434

3535
class MockDocument implements TextDocument {
36-
uri!: Uri;
3736
fileName!: string;
3837
isUntitled!: boolean;
3938
languageId!: string;
@@ -44,6 +43,8 @@ class MockDocument implements TextDocument {
4443
lineCount!: number;
4544
text: string;
4645

46+
uri = Uri.parse("/test/test.css");
47+
4748
constructor(text: string) {
4849
this.text = text;
4950
}

0 commit comments

Comments
 (0)