Skip to content

Commit b6d8c5a

Browse files
committed
Fixes
1 parent 0dd154c commit b6d8c5a

File tree

2 files changed

+16
-11
lines changed

2 files changed

+16
-11
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "vscode-html-css",
33
"displayName": "HTML CSS Support",
44
"description": "CSS Intellisense for HTML",
5-
"version": "1.7.1",
5+
"version": "1.7.2",
66
"publisher": "ecmel",
77
"license": "MIT",
88
"homepage": "https://github.com/ecmel/vscode-html-css",

src/completion.ts

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,11 @@ import {
1717
workspace
1818
} from "vscode";
1919

20+
export type Completion = {
21+
ids: Map<string, CompletionItem>,
22+
classes: Map<string, CompletionItem>
23+
};
24+
2025
export class SelectorCompletionItemProvider implements CompletionItemProvider, Disposable {
2126

2227
readonly start = new Position(0, 0);
@@ -186,7 +191,7 @@ export class SelectorCompletionItemProvider implements CompletionItemProvider, D
186191
}
187192
}
188193

189-
async findAll(document: TextDocument, tag: string): Promise<CompletionItem[]> {
194+
async findAll(document: TextDocument): Promise<Completion> {
190195
const keys = new Set<string>();
191196
const uri = document.uri;
192197
const text = document.getText();
@@ -197,16 +202,13 @@ export class SelectorCompletionItemProvider implements CompletionItemProvider, D
197202
await this.findDocumentLinks(uri, keys, text);
198203
await this.findExtendedStyles(uri, keys, text);
199204

200-
const items = new Map<string, CompletionItem>();
201-
const kind = tag === "id" ? CompletionItemKind.Value : CompletionItemKind.Enum;
205+
const ids = new Map<string, CompletionItem>();
206+
const classes = new Map<string, CompletionItem>();
202207

203-
keys.forEach(key => this.cache.get(key)?.forEach(v => {
204-
if (v.kind === kind) {
205-
items.set(v.label, v);
206-
}
207-
}));
208+
keys.forEach(key => this.cache.get(key)?.forEach(item =>
209+
(item.kind === CompletionItemKind.Value ? ids : classes).set(item.label, item)));
208210

209-
return [...items.values()];
211+
return { ids, classes };
210212
}
211213

212214
provideCompletionItems(
@@ -221,7 +223,10 @@ export class SelectorCompletionItemProvider implements CompletionItemProvider, D
221223
const canComplete = this.canComplete.exec(text);
222224

223225
if (canComplete) {
224-
this.findAll(document, canComplete[1]).then(resolve);
226+
this.findAll(document).then(completion => resolve([
227+
...(canComplete[1] === "id"
228+
? completion.ids
229+
: completion.classes).values()]));
225230
} else {
226231
reject();
227232
}

0 commit comments

Comments
 (0)