From: Yuan Fu <casouri@gmail.com>
To: Charalampos Mitrodimas <charmitro@posteo.net>
Cc: Eval Exec <execvy@gmail.com>, 75164@debbugs.gnu.org
Subject: bug#75164: treesit-font-lock-fontify-region is easy to lost color on parse error. suggest to remain fontify on parse error.
Date: Tue, 31 Dec 2024 13:02:52 -0800 [thread overview]
Message-ID: <3E789578-4ECC-4D96-BA59-F0B400EF32DF@gmail.com> (raw)
In-Reply-To: <m21pxqggj9.fsf@posteo.net>
> On Dec 29, 2024, at 4:28 PM, Charalampos Mitrodimas <charmitro@posteo.net> wrote:
>
> Hi,
>
> Eval Exec <execvy@gmail.com> writes:
>
>> Hello.
>> When I enable rust-ts-mode on a rust file, I found treesitter is easy
>> to make emacs buffer to lost color.
>> For example, on the following rust code:
>> ```rust
>>
>> struct Dog {
>> name: String,
>> age: u8,
>> }
>>
>>
>> struct ManyStruct {
>> a: u8,
>> }
>>
>> fn many_code(){
>> fn fib(n: u32) -> u32 {
>> if n == 0 {
>> return 0;
>> }
>> if n == 1 {
>> return 1;
>> }
>> fib(n - 1) + fib(n - 2)
>> }
>> }
>>
>> fn main() {
>> // change below `//` to `/` to see the difference
>> // {
>> }
>> ```
>>
>> the rust code is right, and the emacs buffer color is right on every
>> struct/functions.
>> But, if I change `// {` to `/ {`, then the rust code is wrong, this
>> buffer will lost all colors.
>
> Thanks for reporting this.
>
> I attempted to reproduce this, using your example, when I change `// {`
> to `/{` only "main" from `fn main()` loses color. The rest of the syntax
> highlighting remains intact in my setup.
It’s indeed strange to see the whole buffer lost fontification. I don’t see it either.
Yuan
prev parent reply other threads:[~2024-12-31 21:02 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-28 16:25 bug#75164: treesit-font-lock-fontify-region is easy to lost color on parse error. suggest to remain fontify on parse error Eval Exec
2024-12-30 0:28 ` Charalampos Mitrodimas
2024-12-31 21:02 ` Yuan Fu [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3E789578-4ECC-4D96-BA59-F0B400EF32DF@gmail.com \
--to=casouri@gmail.com \
--cc=75164@debbugs.gnu.org \
--cc=charmitro@posteo.net \
--cc=execvy@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).