Skip to content

Commit ffed82c

Browse files
committed
fixed blade component autocompletion to account for prefixes
1 parent 52e9e14 commit ffed82c

File tree

1 file changed

+10
-22
lines changed

1 file changed

+10
-22
lines changed

src/features/bladeComponent.ts

Lines changed: 10 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,9 @@ export const completionProvider: vscode.CompletionItemProvider = {
6464
return undefined;
6565
}
6666

67-
const componentPrefixes = ["x", "x-"];
68-
const pathPrefix = "components.";
67+
const components = getBladeComponents().items;
68+
69+
const componentPrefixes = ["x", "x-"].concat(components.prefixes);
6970
const line = doc.lineAt(pos.line).text;
7071

7172
const match = componentPrefixes.find((prefix) => {
@@ -81,26 +82,13 @@ export const completionProvider: vscode.CompletionItemProvider = {
8182
return undefined;
8283
}
8384

84-
return getBladeComponents()
85-
.items.filter((view) => view.key.startsWith(pathPrefix))
86-
.map((view) => {
87-
const parts = view.key.split(".");
88-
89-
if (parts[parts.length - 1] === "index") {
90-
parts.pop();
91-
}
92-
93-
while (
94-
parts.length > 1 &&
95-
parts[parts.length - 1] === parts[parts.length - 2]
96-
) {
97-
parts.pop();
98-
}
99-
100-
return new vscode.CompletionItem(
101-
"x-" + parts.join(".").replace(pathPrefix, ""),
102-
);
103-
});
85+
return Object.keys(components.components).map((key) => {
86+
if (key.includes("::") || !key.includes(":")) {
87+
return new vscode.CompletionItem(`x-${key}`);
88+
}
89+
90+
return new vscode.CompletionItem(key);
91+
});
10492
},
10593
};
10694

0 commit comments

Comments
 (0)