6489: Textmate grammar: Precedence fixes r=dustypomerleau a=dustypomerleau

- prevent `pat` from matching before `path` in metavariable types
- reduce the precedence of math operators so that assignment operators match correctly

Co-authored-by: Dusty Pomerleau <dustypomerleau@users.noreply.github.com>
This commit is contained in:
bors[bot] 2020-11-07 03:59:36 +00:00 committed by GitHub
commit fa03bfb115
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -50,7 +50,7 @@
{
"comment": "macro type metavariables",
"name": "meta.macro.metavariable.type.rust",
"match": "(\\$)((crate)|([A-Z][A-Za-z0-9_]*))((:)(block|expr|ident|item|lifetime|literal|meta|pat|path|stmt|tt|ty|vis))?",
"match": "(\\$)((crate)|([A-Z][A-Za-z0-9_]*))((:)(block|expr|ident|item|lifetime|literal|meta|path?|stmt|tt|ty|vis))?",
"captures": {
"1": {
"name": "keyword.operator.macro.dollar.rust"
@ -77,7 +77,7 @@
{
"comment": "macro metavariables",
"name": "meta.macro.metavariable.rust",
"match": "(\\$)([a-z][A-Za-z0-9_]*)((:)(block|expr|ident|item|lifetime|literal|meta|pat|path|stmt|tt|ty|vis))?",
"match": "(\\$)([a-z][A-Za-z0-9_]*)((:)(block|expr|ident|item|lifetime|literal|meta|path?|stmt|tt|ty|vis))?",
"captures": {
"1": {
"name": "keyword.operator.macro.dollar.rust"
@ -675,11 +675,6 @@
"name": "storage.modifier.mut.rust",
"match": "\\bmut\\b"
},
{
"comment": "math operators",
"name": "keyword.operator.math.rust",
"match": "(([+%]|(\\*(?!\\w)))(?!=))|(-(?!>))|(/(?!/))"
},
{
"comment": "logical operators",
"name": "keyword.operator.logical.rust",
@ -705,6 +700,11 @@
"name": "keyword.operator.comparison.rust",
"match": "(=(=)?(?!>)|!=|<=|(?<!=)>=)"
},
{
"comment": "math operators",
"name": "keyword.operator.math.rust",
"match": "(([+%]|(\\*(?!\\w)))(?!=))|(-(?!>))|(/(?!/))"
},
{
"comment": "less than, greater than (special case)",
"match": "(?:\\b|(?:(\\))|(\\])|(\\})))[ \\t]+([<>])[ \\t]+(?:\\b|(?:(\\()|(\\[)|(\\{)))",