Working syntax
This commit is contained in:
@@ -149,12 +149,110 @@
|
||||
"types": {
|
||||
"patterns": [
|
||||
{
|
||||
"name": "entity.name.type.primitive.mist",
|
||||
"match": "\\b(bool|char|str)\\b"
|
||||
"comment": "numeric types",
|
||||
"match": "(?<![A-Za-z])(f32|f64|i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)\\b",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "entity.name.type.numeric.mist"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"match": "\\b[A-Z][a-zA-Z0-9_]*\\b",
|
||||
"name": "entity.name.type.mist"
|
||||
"comment": "parameterized types",
|
||||
"begin": "\\b(_?[A-Z][A-Za-z0-9_]*)(<)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "entity.name.type.mist"
|
||||
},
|
||||
"2": {
|
||||
"name": "punctuation.brackets.angle.mist"
|
||||
}
|
||||
},
|
||||
"end": ">",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.brackets.angle.mist"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#block-comments"
|
||||
},
|
||||
{
|
||||
"include": "#comments"
|
||||
},
|
||||
{
|
||||
"include": "#keywords"
|
||||
},
|
||||
{
|
||||
"include": "#variables"
|
||||
},
|
||||
{
|
||||
"include": "#lifetimes"
|
||||
},
|
||||
{
|
||||
"include": "#punctuation"
|
||||
},
|
||||
{
|
||||
"include": "#types"
|
||||
},
|
||||
{
|
||||
"include": "#variables"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"comment": "trait declarations",
|
||||
"match": "\\b(trait)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "keyword.declaration.trait.mist storage.type.mist"
|
||||
},
|
||||
"2": {
|
||||
"name": "entity.name.type.trait.mist"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"comment": "struct declarations",
|
||||
"match": "\\b(struct)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "keyword.declaration.struct.mist storage.type.mist"
|
||||
},
|
||||
"2": {
|
||||
"name": "entity.name.type.struct.mist"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"comment": "enum declarations",
|
||||
"match": "\\b(enum)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "keyword.declaration.enum.mist storage.type.mist"
|
||||
},
|
||||
"2": {
|
||||
"name": "entity.name.type.enum.mist"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"comment": "type declarations",
|
||||
"match": "\\b(type)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "keyword.declaration.type.mist storage.type.mist"
|
||||
},
|
||||
"2": {
|
||||
"name": "entity.name.type.declaration.mist"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"comment": "types",
|
||||
"name": "entity.name.type.mist",
|
||||
"match": "\\b_?[A-Z][A-Za-z0-9_]*\\b(?!!)"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user