Major improvements to the textmate grammar #287
Merged
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.
I've been making a lot of small changes to the grammar since last time, but only now I think they are stable enough to share.
More and more tokens have their proper scopes guessed from just the syntax. I think that almost every token could be guessed accurately, with few exceptions to leave to semantic tokens.
Here are few changes:
typeid
is now asupport.type.primitive
, instead of a keyword, similar to other builtin types$
and%
as operatorsfoo: Bar(Baz)
) will assume only types can be on the right side::
that aren't followed bystrict
,proc
, etc. will have avariable.other.constant
scopemeta.function-call
scope.And few small fixes and improvements, like using
---
in forgein code blocks.I've been vscode with those changes for a while and tried to go over odin and old codebases to see if there are some bugs with highlighting, but it seems to be working pretty well.
But it probably would be smart for someone else to try them as well.