35 lines
844 B
Plaintext
35 lines
844 B
Plaintext
# Rust
|
|
|
|
environment comment start "//" begin
|
|
include "url.lang"
|
|
include "todo.lang"
|
|
end
|
|
|
|
# Strings.
|
|
string delim `(?<!r)b?\"` "\"" escape "\\"
|
|
string delim `b?r(#*)\"` "\"" + @{1} multiline
|
|
|
|
vardef common_escape = `(?:[\\nrt0']|x[a-fA-F0-9]{2})`
|
|
vardef unicode_escape = `u\{[a-fA-F0-9]{6}\}`
|
|
|
|
string = `b?'(?:[^\\']|\\(?:` + $common_escape + `|` + $unicode_escape + `))'`
|
|
|
|
# Not exactly Rust syntax.
|
|
include "number.lang"
|
|
|
|
# Reserved keywords aren't listed.
|
|
keyword = "as|box|break|const|continue|crate|else|enum|extern",
|
|
"false|fn|for|if|impl|in|let|loop",
|
|
"match|mod|move|mut|pub|ref|return",
|
|
"self|static|struct|super|trait|true|type",
|
|
"union|unsafe|use|where|while"
|
|
|
|
type = "i8|u8|i16|u16|i32|u32|i64|u64|i128|u128|isize|usize",
|
|
"bool|char|Self|f32|f64|&str"
|
|
|
|
include "symbols.lang"
|
|
|
|
cbracket = "{|}"
|
|
|
|
include "function.lang"
|