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


View this message in rfc822 format

From: Jostein Kjønigsen <jostein <at> secure.kjonigsen.net>
To: Randy Taylor <dev <at> rjt.dev>, Theodor Thornhill <theo <at> thornhill.no>
Cc: Yuan Fu <casouri <at> gmail.com>, 59833 <at> debbugs.gnu.org, jostein <at> kjonigsen.net
Subject: bug#59833: 29.0.60; json-ts-mode fontifies everything as string
Date: Mon, 5 Dec 2022 15:52:17 +0100
On 05.12.2022 15:42, Randy Taylor wrote:
>
> Thanks, I meant just the treesit-font-lock-feature-list variable :) (so moving pair before string).
>
> Having the font-lock settings alphabetized too is great, but I remember running into some highlighting issues depending on the order of things.
> For example, since error is above number, the number face will not be highlighted as error when an error occurs.
>
> Try:
> {
>    "test": 2
> }
>
> and remove the colon. Before your patch, the entire line is red. After, only "test" is red.
>
> So in general, I think we should stick all :overrides at the bottom of that list (with error being the ultimate one), and keep everything above and below alphabetized, but separately, which is how I organized json-ts-mode.
Good observation. Agreed.
>
> Are you guys talking about the json-mode package? Jostein mentioned "Emacs still defaults to json-mode", but when I open a JSON file I get js-json-mode, which is what I assumed he meant. js-json-mode is what I was trying to match in json-ts-mode.

I've never heard of js-json-mode until today. I always use json-mode 
(which AFAIK) is still the default for json-files, unless overridden in 
your own .emacs setup.

I can see that in Emacs git right now, json-ts-mode behaves closely to 
js-json-mode. I honestly expected it to match the Emacs-default 
json-mode though, and found the current highlighting ... somewhat 
unexpected.

IMO, yes the keys are technically speaking strings, but the are 
predominantly and semantically keys, and IMO should be highlighted as 
such. Just like json-mode does.

I realise this is somewhat subjective and preferential, but as far as my 
preference goes, I clearly prefer json-mode over js-json-mode, and as 
such also prefer the current patch-sets for json-ts-mode which Theo has 
submitted.

(On my part we can avoid side-tracking related to why there are multiple 
json-modes, unless has a deep need to contextualize these changes 
related to those ;) )

--
Jostein




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.