From 5598051d92377dcfc776620aad10eec854a40663 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Tue, 30 Aug 2022 17:13:23 +0200 Subject: extend grammar --- code/src/syntax_highlight/grammar.rs | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) (limited to 'code/src/syntax_highlight/grammar.rs') diff --git a/code/src/syntax_highlight/grammar.rs b/code/src/syntax_highlight/grammar.rs index 95417ab..9e6caae 100644 --- a/code/src/syntax_highlight/grammar.rs +++ b/code/src/syntax_highlight/grammar.rs @@ -1,6 +1,39 @@ pub fn grammar_for(syntax: &str) -> &'static [(&'static [&'static str], &'static str)] { match syntax { - "rs" => &[(&["fn", "pub", "async"], "keyword")], + "rs" => &[ + ( + &[ + "fn", "pub", "async", "return", "if", "else", "let", "for", "while", "loop", + "impl", "for", "trait", "struct", "enum", + ], + "keyword", + ), + ( + &[ + "[A-Z][a-z]*", + "bool", + "usize", + "u8", + "u16", + "u32", + "u64", + "u128", + "i8", + "i16", + "i32", + "i64", + "i128", + "isize", + "f32", + "f64", + ], + "type", + ), + (&["(?m)(//.*)$"], "comment"), + (&["([a-z_][A-Za-z0-9_]*!)\\s*"], "macro"), + (&["([a-z_][A-Za-z0-9_]*)\\s*\\("], "identifier"), + (&["\".*?\"", "\\d", "true", "false"], "literal"), + ], _ => unreachable!(), } } -- cgit v1.2.3-70-g09d2