GNU bug report logs -
#75406
31.0.50; [PATCH] csharp-ts-mode does not highlight type in typeof() expressions
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Attached is updated patch which should be compatible with both tree-sitter grammar versions.
Let me know if there are other things you think should be ammended.

—
Kind Regards
Jostein Kjønigsen
> On 13 Jan 2025, at 07:29, Yuan Fu <casouri <at> gmail.com> wrote:
>
>
>
>> On Jan 7, 2025, at 11:23 PM, Jostein Kjønigsen <jostein <at> fastmail.fm> wrote:
>>
>>
>>> On 8 Jan 2025, at 07:14, Yuan Fu <casouri <at> gmail.com> wrote:
>>> Thanks! I suspect that an earlier grammar version used type_of_expression. Can you see if it’s true?
>>
>>
>> This seems to be true. This was changed in a commit in May 2024.
>>
>> https://github.com/tree-sitter/tree-sitter-c-sharp/commit/cd38110b3911979282ad6eeb8cb4d0ecd671b188
>>
>>
>>
>>> If it is, we should keep the rules for both type_of_expression and typeof_expression, WDYT?
>>
>>
>> Compatibility is a good thing, unless it comes at a too big cost. ;)
>
> I can’t agree more, trust me ;-) This one seems ok to me, but it’s your call.
>
>>
>>> On the same note, we could use some utility function that makes it less verbose to test queries and use different query based on the test result.
>>
>> I agree about that. That makes sense.
>>
>> Is there any precedent for how that is done in other major-modes?
>
> Usually we define a test function that checks the installed grammar accepts a certain query, and use this test to determine what query to use. I’m thinking about adding this utility function to treesit.el to streamline the process, but haven’t decided on what the interface should be.
>
> For some existing example, you can take a look at go-ts-mode--iota-query-supported-p and how it’s used.
>
> Yuan
[Message part 2 (text/html, inline)]
[0001-lisp-progmodes-csharp-mode.el-Fix-fontification-of-t.patch (application/octet-stream, attachment)]
[Message part 4 (text/html, inline)]
This bug report was last modified 167 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.