Fix highlighting of identifiers before brackets

This commit is contained in:
Laurenz 2023-04-11 17:26:00 +02:00
parent 2606034ac7
commit 9984e73ff3
3 changed files with 8 additions and 4 deletions

View File

@ -261,10 +261,13 @@ fn highlight_ident(node: &LinkedNode) -> Option<Tag> {
let next_leaf = node.next_leaf();
if let Some(next) = &next_leaf {
if node.range().end == next.offset()
&& next.kind() == SyntaxKind::LeftParen
&& matches!(next.parent_kind(), Some(SyntaxKind::Args | SyntaxKind::Params))
|| (next.kind() == SyntaxKind::LeftBracket
&& next.parent_kind() == Some(SyntaxKind::ContentBlock))
&& ((next.kind() == SyntaxKind::LeftParen
&& matches!(
next.parent_kind(),
Some(SyntaxKind::Args | SyntaxKind::Params)
))
|| (next.kind() == SyntaxKind::LeftBracket
&& next.parent_kind() == Some(SyntaxKind::ContentBlock)))
{
return Some(Tag::Function);
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 80 KiB

View File

@ -38,4 +38,5 @@ $ #hello() $
$ #hello.world $
$ #hello.world() $
$ #box[] $
#if foo []
```