use super::TokenKind;
use std::collections::HashMap;
pub fn keyword_map() -> HashMap<&'static str, TokenKind> {
let mut m = HashMap::new();
m.insert("fn", TokenKind::Fn);
m.insert("let", TokenKind::Let);
m.insert("mut", TokenKind::Mut);
m.insert("const", TokenKind::Const);
m.insert("static", TokenKind::Static);
m.insert("impl", TokenKind::Impl);
m.insert("trait", TokenKind::Trait);
m.insert("pub", TokenKind::Pub);
m.insert("crate", TokenKind::Crate);
m.insert("self", TokenKind::Self_);
m.insert("super", TokenKind::Super);
m.insert("use", TokenKind::Use);
m.insert("mod", TokenKind::Mod);
m.insert("struct", TokenKind::Struct);
m.insert("enum", TokenKind::Enum);
m.insert("union", TokenKind::Union);
m.insert("type", TokenKind::Type_);
m.insert("where", TokenKind::Where);
m.insert("for", TokenKind::For);
m.insert("in", TokenKind::In);
m.insert("if", TokenKind::If);
m.insert("else", TokenKind::Else);
m.insert("match", TokenKind::Match);
m.insert("while", TokenKind::While);
m.insert("loop", TokenKind::Loop);
m.insert("break", TokenKind::Break);
m.insert("continue", TokenKind::Continue);
m.insert("return", TokenKind::Return);
m.insert("async", TokenKind::Async);
m.insert("await", TokenKind::Await);
m.insert("unsafe", TokenKind::Unsafe);
m.insert("extern", TokenKind::Extern);
m.insert("ref", TokenKind::Ref);
m.insert("move", TokenKind::Move);
m.insert("dyn", TokenKind::Dyn);
m.insert("as", TokenKind::As);
m.insert("true", TokenKind::True);
m.insert("false", TokenKind::False);
m.insert("None", TokenKind::None_);
m.insert("Some", TokenKind::None_);
m.insert("Ok", TokenKind::None_);
m.insert("Err", TokenKind::None_);
m.insert("bool", TokenKind::Bool);
m.insert("char", TokenKind::Char);
m.insert("str", TokenKind::Str);
m.insert("i8", TokenKind::I8);
m.insert("i16", TokenKind::I16);
m.insert("i32", TokenKind::I32);
m.insert("i64", TokenKind::I64);
m.insert("i128", TokenKind::I128);
m.insert("isize", TokenKind::Isize);
m.insert("u8", TokenKind::U8);
m.insert("u16", TokenKind::U16);
m.insert("u32", TokenKind::U32);
m.insert("u64", TokenKind::U64);
m.insert("u128", TokenKind::U128);
m.insert("usize", TokenKind::Usize);
m.insert("f32", TokenKind::F32);
m.insert("f64", TokenKind::F64);
m.insert("Box", TokenKind::Box_);
m.insert("Vec", TokenKind::Vec_);
m.insert("Option", TokenKind::Option_);
m.insert("Result", TokenKind::Result_);
m.insert("String", TokenKind::String_);
m.insert("macro_rules", TokenKind::Macro);
m
}