Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
Currently both implicit and explicit tokens (terminology from here) share a common highlighting key:
BNF_TOKEN
, which makes it impossible to assign different highlighting styles to them and spot issues in the grammar, when e.g. because of a typo implicit token is used instead of the name of an explicit one.E.g. this grammar
Is highlighted like this
This PR makes it to be highlighted like this (by default, may be overridden on the color settings page)
which lets developer notice that something's off, and overall distinguish explicit tokens, matched by name and implicitly defined tokens, the same way we already distinguish explicit tokens, matched by value and toekns, matched by text (called "patterns" in the code base)
Additional changes
There are 2 sets of commits:
fix:
prefix):instanceof
pattern matching syntax where I already started using itTOKEN
toEXPLICIT_TOKEN
to make it symmetric withIMPLICIT_TOKEN
Please advice which of them are desired and which I must drop