Compare commits

..

No commits in common. "fe4ab556f8e310361bf13643f6333b2c929ce7e9" and "589649298c1925fbf1cd1ac2e7bfac03dcbc0da3" have entirely different histories.

3 changed files with 82 additions and 118 deletions

View file

@ -1,3 +1,3 @@
[toolchain] [toolchain]
channel = "nightly-2023-09-17" channel = "nightly"
components = ["rust-src", "llvm-tools"] components = ["rust-src", "llvm-tools"]

View file

@ -19,7 +19,7 @@ impl Config<'static> {
let mut engine = Engine::new(); let mut engine = Engine::new();
let mut scope = Scope::new(); let mut scope = Scope::new();
let ast = engine let ast = engine
.compile_file(PathBuf::from_str("/home/able/Projects/adit/assets/config.rhai").unwrap()) .compile_file(PathBuf::from_str("assets/config.rhai").unwrap())
.unwrap(); .unwrap();
let result = engine.call_fn::<Dynamic>(&mut scope, &ast, "status_bar", ()); let result = engine.call_fn::<Dynamic>(&mut scope, &ast, "status_bar", ());

View file

@ -32,123 +32,87 @@ impl FileType {
&self.hl_opts &self.hl_opts
} }
pub fn from(file_name: &str) -> Self { pub fn from(file_name: &str) -> Self {
let ext = file_name.split('.').last(); if file_name.ends_with(".rs") {
if ext.is_some() { return Self {
let ext = ext.unwrap(); name: String::from("Rust"),
match ext { hl_opts: HighlightingOptions {
"rs" => { numbers: true,
return Self { strings: true,
name: String::from("Rust"), characters: true,
hl_opts: HighlightingOptions { comments: true,
numbers: true, multiline_comments: true,
strings: true, primary_keywords: vec![
characters: true, "as".to_string(),
comments: true, "break".to_string(),
multiline_comments: true, "const".to_string(),
primary_keywords: vec![ "continue".to_string(),
"as".to_string(), "crate".to_string(),
"break".to_string(), "else".to_string(),
"const".to_string(), "enum".to_string(),
"continue".to_string(), "extern".to_string(),
"crate".to_string(), "false".to_string(),
"else".to_string(), "fn".to_string(),
"enum".to_string(), "for".to_string(),
"extern".to_string(), "if".to_string(),
"false".to_string(), "impl".to_string(),
"fn".to_string(), "in".to_string(),
"for".to_string(), "let".to_string(),
"if".to_string(), "loop".to_string(),
"impl".to_string(), "match".to_string(),
"in".to_string(), "mod".to_string(),
"let".to_string(), "move".to_string(),
"loop".to_string(), "mut".to_string(),
"match".to_string(), "pub".to_string(),
"mod".to_string(), "ref".to_string(),
"move".to_string(), "return".to_string(),
"mut".to_string(), "self".to_string(),
"pub".to_string(), "Self".to_string(),
"ref".to_string(), "static".to_string(),
"return".to_string(), "struct".to_string(),
"self".to_string(), "super".to_string(),
"Self".to_string(), "trait".to_string(),
"static".to_string(), "true".to_string(),
"struct".to_string(), "type".to_string(),
"super".to_string(), "unsafe".to_string(),
"trait".to_string(), "use".to_string(),
"true".to_string(), "where".to_string(),
"type".to_string(), "while".to_string(),
"unsafe".to_string(), "dyn".to_string(),
"use".to_string(), "abstract".to_string(),
"where".to_string(), "become".to_string(),
"while".to_string(), "box".to_string(),
"dyn".to_string(), "do".to_string(),
"abstract".to_string(), "final".to_string(),
"become".to_string(), "macro".to_string(),
"box".to_string(), "override".to_string(),
"do".to_string(), "priv".to_string(),
"final".to_string(), "typeof".to_string(),
"macro".to_string(), "unsized".to_string(),
"override".to_string(), "virtual".to_string(),
"priv".to_string(), "yield".to_string(),
"typeof".to_string(), "async".to_string(),
"unsized".to_string(), "await".to_string(),
"virtual".to_string(), "try".to_string(),
"yield".to_string(), ],
"async".to_string(), secondary_keywords: vec![
"await".to_string(), "bool".to_string(),
"try".to_string(), "char".to_string(),
], "i8".to_string(),
secondary_keywords: vec![ "i16".to_string(),
"bool".to_string(), "i32".to_string(),
"char".to_string(), "i64".to_string(),
"i8".to_string(), "isize".to_string(),
"i16".to_string(), "u8".to_string(),
"i32".to_string(), "u16".to_string(),
"i64".to_string(), "u32".to_string(),
"isize".to_string(), "u64".to_string(),
"u8".to_string(), "usize".to_string(),
"u16".to_string(), "f32".to_string(),
"u32".to_string(), "f64".to_string(),
"u64".to_string(), ],
"usize".to_string(), },
"f32".to_string(), };
"f64".to_string(),
],
},
}
}
"hb" => {
return Self {
name: String::from("HBLang"),
hl_opts: HighlightingOptions {
numbers: true,
strings: true,
characters: true,
comments: true,
multiline_comments: true,
primary_keywords: vec![
"if".to_string(),
"else".to_string(),
"return".to_string(),
"loop".to_string(),
"break".to_string(),
"struct".to_string(),
],
secondary_keywords: vec![
":=".to_string(),
"void".to_string(),
"never".to_string(),
"int".to_string(),
"bool".to_string(),
],
},
};
}
_ => return Self::default(),
}
} }
Self::default() Self::default()
} }
} }