Updated impl and type/namespace syntax
This commit is contained in:
@@ -33,9 +33,6 @@
|
|||||||
{
|
{
|
||||||
"include": "#types"
|
"include": "#types"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"include": "#namespaces"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"include": "#imports"
|
"include": "#imports"
|
||||||
},
|
},
|
||||||
@@ -45,6 +42,9 @@
|
|||||||
{
|
{
|
||||||
"include": "#struct_literals"
|
"include": "#struct_literals"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"include": "#impl"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"include": "#method_calls"
|
"include": "#method_calls"
|
||||||
},
|
},
|
||||||
@@ -234,7 +234,7 @@
|
|||||||
"keywords": {
|
"keywords": {
|
||||||
"patterns": [
|
"patterns": [
|
||||||
{
|
{
|
||||||
"match": "\\b(if|else|while|for|return|break|continue|match|loop)\\b",
|
"match": "\\b(if|else|while|for|return|break|continue|match|loop|in)\\b",
|
||||||
"name": "keyword.control.mist"
|
"name": "keyword.control.mist"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -323,34 +323,34 @@
|
|||||||
"types": {
|
"types": {
|
||||||
"patterns": [
|
"patterns": [
|
||||||
{
|
{
|
||||||
"match": "(?<![A-Za-z])(f32|f64|i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)\\b",
|
"match": "(?<![A-Za-z])(f32|f64|i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize|str|char|bool|void)\\b",
|
||||||
"name": "entity.name.type.numeric.mist"
|
"name": "storage.type.built-in.primitive.mist"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"match": "(?<![A-Za-z])(str|char|bool|void)\\b",
|
"match": "\\b((?:[a-z_][a-zA-Z0-9_]*::)*)([A-Z][A-Za-z0-9_]*)\\b",
|
||||||
"name": "entity.name.type.other.mist"
|
"captures": {
|
||||||
|
"1": {
|
||||||
|
"name": "entity.name.namespace.mist"
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"name": "entity.name.type.mist"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"include": "#operators"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"match": "\\b_?[A-Z][A-Za-z0-9_]*\\b(?!!)",
|
"match": "\\b[A-Z][A-Za-z0-9_]*\\b",
|
||||||
"name": "entity.name.type.mist"
|
"name": "entity.name.type.mist"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"namespaces": {
|
|
||||||
"match": "\\b([a-zA-Z_][a-zA-Z0-9_]*)(?=\\s*::)",
|
|
||||||
"captures": {
|
|
||||||
"1": {
|
|
||||||
"name": "entity.name.namespace.mist"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"imports": {
|
"imports": {
|
||||||
"match": "\\buse\\s+([a-zA-Z_][a-zA-Z0-9_]*(?:\\s*::\\s*[a-zA-Z_][a-zA-Z0-9_]*)*)\\s*;",
|
"match": "\\buse\\s+([a-zA-Z_][a-zA-Z0-9_]*(?:\\s*::\\s*[a-zA-Z_][a-zA-Z0-9_]*)*)\\s*;",
|
||||||
"captures": {
|
"patterns": [
|
||||||
"1": {
|
{
|
||||||
"name": "entity.name.namespace.mist"
|
"include": "#types"
|
||||||
}
|
}
|
||||||
},
|
],
|
||||||
"name": "meta.import.mist"
|
"name": "meta.import.mist"
|
||||||
},
|
},
|
||||||
"modules": {
|
"modules": {
|
||||||
@@ -451,10 +451,51 @@
|
|||||||
"match": "\\b([a-zA-Z_][a-zA-Z0-9_]*)\\s*(?=\\()",
|
"match": "\\b([a-zA-Z_][a-zA-Z0-9_]*)\\s*(?=\\()",
|
||||||
"name": "entity.name.function.mist"
|
"name": "entity.name.function.mist"
|
||||||
},
|
},
|
||||||
|
"impl": {
|
||||||
|
"patterns": [
|
||||||
|
{
|
||||||
|
"match": "\\b(impl)\\s+([a-zA-Z_][a-zA-Z0-9_]*)\\s+for\\s+([a-zA-Z_][a-zA-Z0-9_]*)",
|
||||||
|
"captures": {
|
||||||
|
"1": {
|
||||||
|
"name": "storage.type.mist"
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"patterns": [
|
||||||
|
{
|
||||||
|
"include": "#types"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"3": {
|
||||||
|
"patterns": [
|
||||||
|
{
|
||||||
|
"include": "#types"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"match": "\\b(impl)\\s+([a-zA-Z_][a-zA-Z0-9_]*)\\s+",
|
||||||
|
"captures": {
|
||||||
|
"1": {
|
||||||
|
"name": "storage.type.mist"
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"patterns": [
|
||||||
|
{
|
||||||
|
"include": "#types"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
"operators": {
|
"operators": {
|
||||||
"patterns": [
|
"patterns": [
|
||||||
{
|
{
|
||||||
"match": "(?:\\+=|-=|\\*=|\\/=|%=|&=|\\|=|\\^=|<<=|>>=|<<|>>|\\.\\.=|\\.\\.|<=|>=|==|!=|&&|\\|\\||[+\\-*/%<>&|^=!]|\\+\\+|--)",
|
"match": "(?:\\+=|-=|\\*=|\\/=|%=|&=|\\|=|\\^=|<<=|>>=|<<|>>|\\.\\.=|\\.\\.|<=|>=|==|!=|&&|\\|\\||[+\\-*/%<>&|^=!]|\\+\\+|--|:)",
|
||||||
"name": "keyword.operator.mist"
|
"name": "keyword.operator.mist"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user