Open
Description
Did you check existing issues?
- I have read all the tree-sitter docs if it relates to using the parser
- I have searched the existing issues of tree-sitter-c
Tree-Sitter CLI Version, if relevant (output of tree-sitter --version
)
No response
Describe the bug
Using
int typedef fn_typdef(const char *args);
like syntax to define a function typedef results in the typedef keyword being highlighted as a variable and an error in the syntax tree.
:Inspect in neovim
:InspectTree
This syntax is relatively obscure but is valid and so should be highlighted correctly.
Steps To Reproduce/Bad Parse Tree
- Make a file which uses function typedef syntax
ReturnT typdef TypeName(args);
- Now the typedef will by incorrectly represented in the tree.
Expected Behavior/Parse Tree
The tree should probably use keyword.type.c like it usually does for typedefs.
Repro
// Example code that causes the issue
int typedef fn_typdef(const char *args);