GNU bug report logs - #59833
29.0.60; json-ts-mode fontifies everything as string

Previous Next

Package: emacs;

Reported by: jostein <at> kjonigsen.net

Date: Mon, 5 Dec 2022 10:41:01 UTC

Severity: normal

Found in version 29.0.60

Done: Yuan Fu <casouri <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


Message #26 received at 59833 <at> debbugs.gnu.org (full text, mbox):

From: Theodor Thornhill <theo <at> thornhill.no>
To: Randy Taylor <dev <at> rjt.dev>
Cc: Yuan Fu <casouri <at> gmail.com>, 59833 <at> debbugs.gnu.org, jostein <at> kjonigsen.net
Subject: Re: 29.0.60; json-ts-mode fontifies everything as string
Date: Mon, 05 Dec 2022 15:12:46 +0100
[Message part 1 (text/plain, inline)]
Randy Taylor <dev <at> rjt.dev> writes:

> On Monday, December 5th, 2022 at 08:52, Randy Taylor <dev <at> rjt.dev> wrote:
>> 
>> On Monday, December 5th, 2022 at 06:24, Theodor Thornhill theo <at> thornhill.no wrote:
>> 
>> > Jostein Kjønigsen jostein <at> secure.kjonigsen.net writes:
>> > 
>> > > Hey everyone.
>> > > 
>> > > When opening a JSON-file in a build from emacs git emacs-29
>> > > release-branch, Emacs still defaults to json-mode.
>> > > 
>> > > Fontification in json-mode looks correct and proper.
>> > > 
>> > > When trying to insteas use json-ts-mode, literally everything is
>> > > fontified as strings.
>> > > 
>> > > When I change the code to disable the string-fontification rule, this
>> > > yields a buffer where everything is fontified using default-face. That
>> > > is, no other fontification is taking place.
>> > > 
>> > > Have this mode really been tested? Should it be working? Or is there an
>> > > error on my end?
>> > > 
>> > > Could someone else please give json-ts-mode a try?
>> > 
>> > Yeah, you are correct. It seems we've had a regression in this commit,
>> > 0ed313642227afdeccf48057eea458edca9d2962.
>> > 
>> > I believe this is the offending commit - what do you think, Randy?
>> > 
>> > Specifically the lhs should be fontified differently than the rhs, so
>> > not everything is a string.
>> > 
>> > Do you want to do that, Randy, or should I?
>> > 
>> > Theo
>> 
>> 
>> Can someone show me an example JSON file that shows this problem? Everything looks the same for me in json-mode and json-ts-mode, except for the json-ts-mode extras (even with Theo's patch) both with my own Emacs config and emacs -Q. I must be doing something very silly.
>
> Scratch that, I got Theo's patch working, needed to rebuild.

No need to rebuild. Just C-M-x the defvar and revert buffer.

> Looks good to me (although it would be nice to keep treesit-font-lock-feature-list alphabetized Theo ;)).
>

See new patch!

> json-mode still fontifies pretty much everything as a string though (at least for me).

Not for me. I get number-face, bracket-face, constant-face,
warning-face.  Don't you?

Will you commit this, Yuan?

Theo

[0001-Add-back-in-font-locking-for-pair-in-json-ts-mode.patch (text/x-diff, attachment)]

This bug report was last modified 2 years and 227 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.