Subject: Re: bug#61043: 30.0.50; `json-ts-mode': invalid font lock rule

From: Eli Zaretskii <[email-masked]>
Date: Wed, 25 Jan 2023 15:00:16 +0200

> Cc: [email-masked]
> From: Mickey Petersen <[email-masked]>
> Date: Wed, 25 Jan 2023 07:29:23 +0000
> 
> 
> Dmitry Gutov <[email-masked]> writes:
> 
> > On 24/01/2023 22:09, Mickey Petersen wrote:
> >> There's a comment font lock rule in `json-ts-mode'. However, that is
> >> illegal and againt the JSON spec, and indeed the search query fails
> >> because `comment' is not a valid node type.
> >
> > When you say it fails, how does that look to you?
> >
> > Here's an example of a JSON file (or, more accurately, a JSON-superset
> > file) with comments:
> > https://raw.githubusercontent.com/huytd/vscode-espresso-tutti/master/themes/Espresso%20Tutti-color-theme.json
> >
> > The JSON tree-sitter grammar seems to parse them correctly as comments
> > ("comment" node type), and json-ts-mode highlights them as comments
> > correctly as a result.
> 
> It may well be my JSON grammar file that is different then. Which is
> perhaps even worse: it is easy to find yourself with one of two
> versions.

For best results, always use the latest from their Git repository.
Many of the grammar libraries are updated every few days, so they are
not stable enough to rely on outdated versions.  Unfortunately,
there's no "grammar version" API in the tree-sitter-to-grammar
protocol, so we cannot even implement version checking, and refuse to
use outdated (and thus buggy) grammar libraries.  Moreover, many
grammar libraries don't even make releases and thus don't announce
their version.