fix(language-service): prevent interpolation from superseding block braces (#64392)

This change omits the injection of the template syntaxes inside any
existing block scope. The injection is not needed because the template
and expression scopes are included explicitly as patterns where
appropriate under the template-blocks definitions.

This change prevents the interpolation curly braces from superseding the
match for the open curly of the block body. This issue also happens with
ICUs (#62697), but those do not have any named scopes to exclude as of
today.

fixes https://github.com/angular/vscode-ng-language-service/issues/1991

PR Close #64392
This commit is contained in:
Andrew Scott 2025-10-13 11:37:35 -07:00 committed by Jessica Janiuk
parent 25d45ba32d
commit 80e00ff4e5
2 changed files with 2 additions and 2 deletions

View file

@ -10,7 +10,7 @@ import {GrammarDefinition} from './types';
export const Template: GrammarDefinition = {
scopeName: 'template.ng',
injectionSelector: 'L:text.html -comment',
injectionSelector: 'L:text.html -comment -control.block.ng',
patterns: [{include: '#interpolation'}],
repository: {
interpolation: {

View file

@ -1,6 +1,6 @@
{
"scopeName": "template.ng",
"injectionSelector": "L:text.html -comment",
"injectionSelector": "L:text.html -comment -control.block.ng",
"patterns": [
{
"include": "#interpolation"