HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //usr/share/source-highlight/rust.lang
# 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"