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

From: Mickey Petersen <[email-masked]>
Date: Wed, 25 Jan 2023 12:09:08 +0000

Theodor Thornhill <[email-masked]> writes:

> Mickey Petersen <[email-masked]> writes:
>
>> 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.
>
>
> See [0], it seems comment is supported if I'm not mistaken.
>
> Theo
>
> [0]: https://github.com/tree-sitter/tree-sitter-json/blob/master/grammar.js#L6

I understand. But nevertheless, I do get an error for that rule as it's missing (for some inexplicable reason.)

It would be better if the font lock machinery disables/ignores the rule if it encounters a validation error. That way it'll gracefully degrade.