Subject: bug#72388: 31.0.50; Use tree-sitter-cuda grammar but with tree-sitter-cpp's font-lock/indentation rules

From: Ergus <[email-masked]>
Date: Fri, 31 Jan 2025 01:06:06 +0100

Hi Yuan:

The cuda mode seems to work now. I am still testing and fixing details,
but so far now it works.

However I have detected another issue that I thought was related with
the remap, but it is not because I got it also in normal c++-ts-mode:

When c-ts-mode-enable-doxygen is enabled and the cursor moves inside a
doxygen comment I get this error:

Debugger entered--Lisp error: (treesit-predicate-not-found ("Cannot find the definition of the predicate in `treesit-thing-settings'" list))
   (treesit-parent-until #<treesit-node description in 7380-7452> list)
   (treesit-show-paren-data--categorize 7376)
   (treesit-show-paren-data)
   (show-paren-function)
   (apply show-paren-function nil)
   (timer-event-handler [t 0 0 125000 t show-paren-function nil idle 0 nil])

If you prefer I can open a new issue for this, but maybe it is not needed.

Best,
Ergus

On Wed, Jan 29, 2025 at 11:27:59PM -0800, Yuan Fu wrote:
>
>
>> On Jan 21, 2025, at 10:23 PM, Ergus <[email-masked]> wrote:
>>
>> Hi Yuan:
>>
>> When I try your patch I get an error:
>>
>> Debugger entered--Lisp error: (treesit-no-parser cpp)
>>  (treesit-buffer-root-node cpp)
>>  (treesit-node-at 3091)
>>  (treesit-show-paren-data--categorize 3091)
>>  (treesit-show-paren-data)
>>  (show-paren-function)
>>  (apply show-paren-function nil)
>>  (timer-event-handler [t 0 0 125000 t show-paren-function nil idle 0 nil])
>>
>> When I try:
>> (treesit-parser-list nil 'cpp) -> nil
>>
>> So it it like the
>>
>> I tried manually (setq-local treesit-primary-parser
>> (treesit-parser-create 'cpp))
>>
>> but nothing.
>
>Apologies, the previous change I made is indeed insufficient. Please try the latest master, the remapping should be truly transparent now.
>
>Yuan