diff --git a/book/src/guide/examples/01.mabo b/book/src/guide/examples/01.mabo index 0bae770..1b47c22 100644 --- a/book/src/guide/examples/01.mabo +++ b/book/src/guide/examples/01.mabo @@ -1,4 +1,5 @@ use other::schema::DateTime; + struct User { first_name: string @1, last_name: string @2, @@ -6,6 +7,11 @@ struct User { gender: option @4, /// Latitude and longitude. current_location: (f64, f64) @5, + /// Previous three locations. + /// + /// Will be `(0.0, 0.0)` if there are less than three + /// history entries. + location_history: [(f64, f64); 3] @6, } mod user { @@ -15,4 +21,3 @@ mod user { NonBinary(string @1) @3, } } - diff --git a/vscode-extension/syntaxes/mabo.tmLanguage.json b/vscode-extension/syntaxes/mabo.tmLanguage.json index 75568eb..bc71952 100644 --- a/vscode-extension/syntaxes/mabo.tmLanguage.json +++ b/vscode-extension/syntaxes/mabo.tmLanguage.json @@ -277,7 +277,7 @@ "fieldNamed": { "patterns": [ { - "match": "\\s*([a-zA-Z0-9_]+)\\s*(:)\\s*(&?[a-zA-Z0-9_]+(?:<.+>)?)\\s*(@\\d+)?(,)?", + "match": "\\s*([a-zA-Z0-9_]+)\\s*(:)\\s*(&?[a-zA-Z0-9_,;\\[\\]\\(\\)\\s]+(?:<.+>)?)\\s*(@\\d+)?(,)?", "captures": { "1": { "name": "variable.language.mabo variable.other.mabo" diff --git a/vscode-extension/syntaxes/mabo.tmLanguage.yaml b/vscode-extension/syntaxes/mabo.tmLanguage.yaml index b9b1de8..4bd586d 100644 --- a/vscode-extension/syntaxes/mabo.tmLanguage.yaml +++ b/vscode-extension/syntaxes/mabo.tmLanguage.yaml @@ -118,7 +118,7 @@ repository: - include: "#fieldNamed" fieldNamed: patterns: - - match: \s*([a-zA-Z0-9_]+)\s*(:)\s*(&?[a-zA-Z0-9_]+(?:<.+>)?)\s*(@\d+)?(,)? + - match: \s*([a-zA-Z0-9_]+)\s*(:)\s*(&?[a-zA-Z0-9_,;\[\]\(\)\s]+(?:<.+>)?)\s*(@\d+)?(,)? captures: "1": { name: variable.language.mabo variable.other.mabo } "2": { name: punctuation.colon.mabo }