mirror of
https://github.com/angular/angular.git
synced 2026-09-14 13:54:52 +08:00
fix(vscode-extension): Highlight function calls with optional chaining
eg: `foo?.()` should be highlighted as `foo()`. fixes #65513
This commit is contained in:
committed by
Andrew Kushnir
parent
387793fe29
commit
4f8d3995f0
@@ -213,8 +213,8 @@
|
||||
]
|
||||
},
|
||||
"functionCall": {
|
||||
"begin": "(?=(\\??\\.\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\\s*(<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\()",
|
||||
"end": "(?<=\\))(?!(\\??\\.\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\\s*(<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\()",
|
||||
"begin": "(?=(\\??\\.\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\\s*(<([^<>]|\\<[^<>]+\\>)+>\\s*)?(\\?\\.\\s*)?\\()",
|
||||
"end": "(?<=\\))(?!(\\??\\.\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\\s*(<([^<>]|\\<[^<>]+\\>)+>\\s*)?(\\?\\.\\s*)?\\()",
|
||||
"patterns": [
|
||||
{
|
||||
"name": "punctuation.accessor.ts",
|
||||
|
||||
@@ -223,8 +223,9 @@ export const Expression: GrammarDefinition = {
|
||||
},
|
||||
|
||||
functionCall: {
|
||||
begin: /(?=(\??\.\s*)?([_$[:alpha:]][_$[:alnum:]]*)\s*(<([^<>]|\<[^<>]+\>)+>\s*)?\()/,
|
||||
end: /(?<=\))(?!(\??\.\s*)?([_$[:alpha:]][_$[:alnum:]]*)\s*(<([^<>]|\<[^<>]+\>)+>\s*)?\()/,
|
||||
begin:
|
||||
/(?=(\??\.\s*)?([_$[:alpha:]][_$[:alnum:]]*)\s*(<([^<>]|\<[^<>]+\>)+>\s*)?(\?\.\s*)?\()/,
|
||||
end: /(?<=\))(?!(\??\.\s*)?([_$[:alpha:]][_$[:alnum:]]*)\s*(<([^<>]|\<[^<>]+\>)+>\s*)?(\?\.\s*)?\()/,
|
||||
patterns: [
|
||||
{
|
||||
name: 'punctuation.accessor.ts',
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
{{ call()?.conditional; }}
|
||||
{{ call()!.conditional }}
|
||||
{{ call()!.conditional; }}
|
||||
{{ call?.()}}
|
||||
|
||||
<!-- Property read and method call: received -->
|
||||
{{ object.call() }}
|
||||
@@ -47,6 +48,7 @@
|
||||
{{ object?.call()?.conditional; }}
|
||||
{{ object!.call()!.conditional }}
|
||||
{{ object!.call()!.conditional; }}
|
||||
{{ object.call?.()}}
|
||||
|
||||
<!-- Method call with parameters -->
|
||||
{{ call(withParams) }}
|
||||
@@ -116,4 +118,4 @@ as i }}
|
||||
{{ (a, b) =>
|
||||
a / b + 123
|
||||
}}
|
||||
{{ someSignal.update(prev => prev + 1) }}
|
||||
{{ someSignal.update(prev => prev + 1) }}
|
||||
@@ -373,6 +373,15 @@
|
||||
# ^ template.ng expression.ng punctuation.terminator.statement.ts
|
||||
# ^ template.ng expression.ng
|
||||
# ^^ template.ng punctuation.definition.block.ts
|
||||
>{{ call?.()}}
|
||||
#^^ template.ng punctuation.definition.block.ts
|
||||
# ^ template.ng expression.ng
|
||||
# ^^^^ template.ng expression.ng entity.name.function.ts
|
||||
# ^ template.ng expression.ng punctuation.accessor.ts
|
||||
# ^ template.ng expression.ng punctuation.accessor.ts
|
||||
# ^ template.ng expression.ng meta.brace.round.ts
|
||||
# ^ template.ng expression.ng meta.brace.round.ts
|
||||
# ^^ template.ng punctuation.definition.block.ts
|
||||
>
|
||||
><!-- Property read and method call: received -->
|
||||
#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ template.ng
|
||||
@@ -478,6 +487,17 @@
|
||||
# ^ template.ng expression.ng punctuation.terminator.statement.ts
|
||||
# ^ template.ng expression.ng
|
||||
# ^^ template.ng punctuation.definition.block.ts
|
||||
>{{ object.call?.()}}
|
||||
#^^ template.ng punctuation.definition.block.ts
|
||||
# ^ template.ng expression.ng
|
||||
# ^^^^^^ template.ng expression.ng variable.other.object.ts
|
||||
# ^ template.ng expression.ng punctuation.accessor.ts
|
||||
# ^^^^ template.ng expression.ng entity.name.function.ts
|
||||
# ^ template.ng expression.ng punctuation.accessor.ts
|
||||
# ^ template.ng expression.ng punctuation.accessor.ts
|
||||
# ^ template.ng expression.ng meta.brace.round.ts
|
||||
# ^ template.ng expression.ng meta.brace.round.ts
|
||||
# ^^ template.ng punctuation.definition.block.ts
|
||||
>
|
||||
><!-- Method call with parameters -->
|
||||
#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ template.ng
|
||||
@@ -1531,5 +1551,4 @@
|
||||
# ^ template.ng expression.ng constant.numeric.decimal.ts
|
||||
# ^ template.ng expression.ng meta.brace.round.ts
|
||||
# ^ template.ng expression.ng
|
||||
# ^^ template.ng punctuation.definition.block.ts
|
||||
>
|
||||
# ^^ template.ng punctuation.definition.block.ts
|
||||
Reference in New Issue
Block a user