summaryrefslogtreecommitdiff
path: root/tools/language-server/src/plugins/html/HTMLPlugin.ts
diff options
context:
space:
mode:
authorGravatar Matthew Phillips <matthew@matthewphillips.info> 2021-08-12 18:39:27 -0500
committerGravatar GitHub <noreply@github.com> 2021-08-12 18:39:27 -0500
commit7cd3689a8e97eea9a38df4ecd9224de72fa4e443 (patch)
tree3574d2a94edff6c2095a7252dfb3dc9604ebc15a /tools/language-server/src/plugins/html/HTMLPlugin.ts
parentaa20be9138f19fc90977fd403c80989b138544d1 (diff)
downloadastro-7cd3689a8e97eea9a38df4ecd9224de72fa4e443.tar.gz
astro-7cd3689a8e97eea9a38df4ecd9224de72fa4e443.tar.zst
astro-7cd3689a8e97eea9a38df4ecd9224de72fa4e443.zip
Provide completion suggestions in component props (#1082)
* Provide completion suggestions in component props * Limit prop completion to props that the component exports
Diffstat (limited to 'tools/language-server/src/plugins/html/HTMLPlugin.ts')
-rw-r--r--tools/language-server/src/plugins/html/HTMLPlugin.ts15
1 files changed, 15 insertions, 0 deletions
diff --git a/tools/language-server/src/plugins/html/HTMLPlugin.ts b/tools/language-server/src/plugins/html/HTMLPlugin.ts
index d4f75e0d3..90c55b502 100644
--- a/tools/language-server/src/plugins/html/HTMLPlugin.ts
+++ b/tools/language-server/src/plugins/html/HTMLPlugin.ts
@@ -31,6 +31,13 @@ export class HTMLPlugin implements CompletionsProvider, FoldingRangeProvider {
return null;
}
+ const offset = document.offsetAt(position);
+ const node = html.findNodeAt(offset);
+
+ if(this.isComponentTag(node)) {
+ return null;
+ }
+
const emmetResults: CompletionList = {
isIncomplete: true,
items: [],
@@ -124,4 +131,12 @@ export class HTMLPlugin implements CompletionsProvider, FoldingRangeProvider {
private isInsideFrontmatter(document: Document, position: Position) {
return isInsideFrontmatter(document.getText(), document.offsetAt(position));
}
+
+ private isComponentTag(node: Node): boolean {
+ if (!node.tag) {
+ return false;
+ }
+ const firstChar = node.tag[0];
+ return /[A-Z]/.test(firstChar);
+ }
}