Skip to content

Commit 64fdc58

Browse files
authored
Merge pull request #239 from Nikkelmann/master
Show filename on completion item
2 parents 1f884bc + feefa09 commit 64fdc58

File tree

3 files changed

+9
-9
lines changed

3 files changed

+9
-9
lines changed

package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"url": "https://github.com/ecmel/vscode-html-css.git"
1414
},
1515
"engines": {
16-
"vscode": "^1.53.0"
16+
"vscode": "^1.58.0"
1717
},
1818
"categories": [
1919
"Programming Languages",
@@ -81,7 +81,6 @@
8181
"deploy": "vsce publish"
8282
},
8383
"devDependencies": {
84-
"@types/css-tree": "^1.0.5",
8584
"@types/glob": "^7.1.3",
8685
"@types/mocha": "^8.0.4",
8786
"@types/node": "^12.11.7",

src/completion.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import {
55
CancellationToken,
66
CompletionContext,
77
CompletionItem,
8+
CompletionItemLabel,
89
CompletionItemKind,
910
CompletionItemProvider,
1011
CompletionList,
@@ -72,7 +73,7 @@ export class SelectorCompletionItemProvider implements CompletionItemProvider, D
7273
: join(dirname(uri.fsPath), name);
7374
}
7475

75-
parseTextToItems(text: string, items: CompletionItem[]) {
76+
parseTextToItems(path: string, text: string, items: CompletionItem[]) {
7677
walk(parse(text), node => {
7778

7879
let kind: CompletionItemKind;
@@ -88,7 +89,7 @@ export class SelectorCompletionItemProvider implements CompletionItemProvider, D
8889
return;
8990
}
9091

91-
items.push(new CompletionItem(node.name, kind));
92+
items.push(new CompletionItem({ label: node.name, description: path }, kind));
9293
});
9394
}
9495

@@ -101,7 +102,7 @@ export class SelectorCompletionItemProvider implements CompletionItemProvider, D
101102

102103
try {
103104
const content = await workspace.fs.readFile(Uri.file(path));
104-
this.parseTextToItems(content.toString(), items);
105+
this.parseTextToItems(basename(path), content.toString(), items);
105106
} catch (error) {
106107
}
107108

@@ -121,7 +122,7 @@ export class SelectorCompletionItemProvider implements CompletionItemProvider, D
121122

122123
if (res.ok) {
123124
const text = await res.text();
124-
this.parseTextToItems(text, items);
125+
this.parseTextToItems(basename(path), text, items);
125126
}
126127
} catch (error) {
127128
}
@@ -150,7 +151,7 @@ export class SelectorCompletionItemProvider implements CompletionItemProvider, D
150151
let style;
151152

152153
while ((style = findStyles.exec(text)) !== null) {
153-
this.parseTextToItems(style[1], items);
154+
this.parseTextToItems(basename(uri.fsPath), style[1], items);
154155
}
155156

156157
this.cache.set(key, items);
@@ -227,7 +228,7 @@ export class SelectorCompletionItemProvider implements CompletionItemProvider, D
227228
const classes = new Map<string, CompletionItem>();
228229

229230
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)));
231232

232233
return { ids, classes };
233234
}

src/test/suite/mocks.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export class MockCancellationToken implements CancellationToken {
2222

2323
export class MockCompletionContext implements CompletionContext {
2424
triggerKind = CompletionTriggerKind.Invoke;
25-
triggerCharacter?: string | undefined;
25+
triggerCharacter: string | undefined;
2626
}
2727

2828
export class MockDocument implements TextDocument {

0 commit comments

Comments
 (0)