feat(language-service): provide completion for $event variable (#34570)
This commit adds a completion for the `$event` variable in bound event expressions. This is the first in a series of PRs to support completions for properties on `$event` variables (https://github.com/angular/vscode-ng-language-service/issues/531). PR Close #34570
This commit is contained in:
parent
90b303faa3
commit
24864ee71e
|
@ -316,6 +316,7 @@ function attributeValueCompletions(info: AstResult, htmlPath: HtmlAstPath): ng.C
|
||||||
templatePath.tail.visit(visitor, null);
|
templatePath.tail.visit(visitor, null);
|
||||||
return visitor.results;
|
return visitor.results;
|
||||||
}
|
}
|
||||||
|
|
||||||
// In order to provide accurate attribute value completion, we need to know
|
// In order to provide accurate attribute value completion, we need to know
|
||||||
// what the LHS is, and construct the proper AST if it is missing.
|
// what the LHS is, and construct the proper AST if it is missing.
|
||||||
const htmlAttr = htmlPath.tail as Attribute;
|
const htmlAttr = htmlPath.tail as Attribute;
|
||||||
|
|
|
@ -753,6 +753,16 @@ describe('completions', () => {
|
||||||
expectContain(completions, CompletionKind.VARIABLE, ['$event']);
|
expectContain(completions, CompletionKind.VARIABLE, ['$event']);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('$event completions', () => {
|
||||||
|
it('should suggest $event in event bindings', () => {
|
||||||
|
mockHost.override(TEST_TEMPLATE, `<div (click)="myClick(~{cursor});"></div>`);
|
||||||
|
const marker = mockHost.getLocationMarkerFor(TEST_TEMPLATE, 'cursor');
|
||||||
|
debugger;
|
||||||
|
const completions = ngLS.getCompletionsAt(TEST_TEMPLATE, marker.start);
|
||||||
|
expectContain(completions, CompletionKind.VARIABLE, ['$event']);
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
function expectContain(
|
function expectContain(
|
||||||
|
|
Loading…
Reference in New Issue