Compare commits
2 commits
589649298c
...
fe4ab556f8
Author | SHA1 | Date | |
---|---|---|---|
able | fe4ab556f8 | ||
able | d836f2f145 |
|
@ -1,3 +1,3 @@
|
|||
[toolchain]
|
||||
channel = "nightly"
|
||||
channel = "nightly-2023-09-17"
|
||||
components = ["rust-src", "llvm-tools"]
|
||||
|
|
|
@ -19,7 +19,7 @@ impl Config<'static> {
|
|||
let mut engine = Engine::new();
|
||||
let mut scope = Scope::new();
|
||||
let ast = engine
|
||||
.compile_file(PathBuf::from_str("assets/config.rhai").unwrap())
|
||||
.compile_file(PathBuf::from_str("/home/able/Projects/adit/assets/config.rhai").unwrap())
|
||||
.unwrap();
|
||||
let result = engine.call_fn::<Dynamic>(&mut scope, &ast, "status_bar", ());
|
||||
|
||||
|
|
196
src/filetype.rs
196
src/filetype.rs
|
@ -32,87 +32,123 @@ impl FileType {
|
|||
&self.hl_opts
|
||||
}
|
||||
pub fn from(file_name: &str) -> Self {
|
||||
if file_name.ends_with(".rs") {
|
||||
return Self {
|
||||
name: String::from("Rust"),
|
||||
hl_opts: HighlightingOptions {
|
||||
numbers: true,
|
||||
strings: true,
|
||||
characters: true,
|
||||
comments: true,
|
||||
multiline_comments: true,
|
||||
primary_keywords: vec![
|
||||
"as".to_string(),
|
||||
"break".to_string(),
|
||||
"const".to_string(),
|
||||
"continue".to_string(),
|
||||
"crate".to_string(),
|
||||
"else".to_string(),
|
||||
"enum".to_string(),
|
||||
"extern".to_string(),
|
||||
"false".to_string(),
|
||||
"fn".to_string(),
|
||||
"for".to_string(),
|
||||
"if".to_string(),
|
||||
"impl".to_string(),
|
||||
"in".to_string(),
|
||||
"let".to_string(),
|
||||
"loop".to_string(),
|
||||
"match".to_string(),
|
||||
"mod".to_string(),
|
||||
"move".to_string(),
|
||||
"mut".to_string(),
|
||||
"pub".to_string(),
|
||||
"ref".to_string(),
|
||||
"return".to_string(),
|
||||
"self".to_string(),
|
||||
"Self".to_string(),
|
||||
"static".to_string(),
|
||||
"struct".to_string(),
|
||||
"super".to_string(),
|
||||
"trait".to_string(),
|
||||
"true".to_string(),
|
||||
"type".to_string(),
|
||||
"unsafe".to_string(),
|
||||
"use".to_string(),
|
||||
"where".to_string(),
|
||||
"while".to_string(),
|
||||
"dyn".to_string(),
|
||||
"abstract".to_string(),
|
||||
"become".to_string(),
|
||||
"box".to_string(),
|
||||
"do".to_string(),
|
||||
"final".to_string(),
|
||||
"macro".to_string(),
|
||||
"override".to_string(),
|
||||
"priv".to_string(),
|
||||
"typeof".to_string(),
|
||||
"unsized".to_string(),
|
||||
"virtual".to_string(),
|
||||
"yield".to_string(),
|
||||
"async".to_string(),
|
||||
"await".to_string(),
|
||||
"try".to_string(),
|
||||
],
|
||||
secondary_keywords: vec![
|
||||
"bool".to_string(),
|
||||
"char".to_string(),
|
||||
"i8".to_string(),
|
||||
"i16".to_string(),
|
||||
"i32".to_string(),
|
||||
"i64".to_string(),
|
||||
"isize".to_string(),
|
||||
"u8".to_string(),
|
||||
"u16".to_string(),
|
||||
"u32".to_string(),
|
||||
"u64".to_string(),
|
||||
"usize".to_string(),
|
||||
"f32".to_string(),
|
||||
"f64".to_string(),
|
||||
],
|
||||
},
|
||||
};
|
||||
let ext = file_name.split('.').last();
|
||||
if ext.is_some() {
|
||||
let ext = ext.unwrap();
|
||||
match ext {
|
||||
"rs" => {
|
||||
return Self {
|
||||
name: String::from("Rust"),
|
||||
hl_opts: HighlightingOptions {
|
||||
numbers: true,
|
||||
strings: true,
|
||||
characters: true,
|
||||
comments: true,
|
||||
multiline_comments: true,
|
||||
primary_keywords: vec![
|
||||
"as".to_string(),
|
||||
"break".to_string(),
|
||||
"const".to_string(),
|
||||
"continue".to_string(),
|
||||
"crate".to_string(),
|
||||
"else".to_string(),
|
||||
"enum".to_string(),
|
||||
"extern".to_string(),
|
||||
"false".to_string(),
|
||||
"fn".to_string(),
|
||||
"for".to_string(),
|
||||
"if".to_string(),
|
||||
"impl".to_string(),
|
||||
"in".to_string(),
|
||||
"let".to_string(),
|
||||
"loop".to_string(),
|
||||
"match".to_string(),
|
||||
"mod".to_string(),
|
||||
"move".to_string(),
|
||||
"mut".to_string(),
|
||||
"pub".to_string(),
|
||||
"ref".to_string(),
|
||||
"return".to_string(),
|
||||
"self".to_string(),
|
||||
"Self".to_string(),
|
||||
"static".to_string(),
|
||||
"struct".to_string(),
|
||||
"super".to_string(),
|
||||
"trait".to_string(),
|
||||
"true".to_string(),
|
||||
"type".to_string(),
|
||||
"unsafe".to_string(),
|
||||
"use".to_string(),
|
||||
"where".to_string(),
|
||||
"while".to_string(),
|
||||
"dyn".to_string(),
|
||||
"abstract".to_string(),
|
||||
"become".to_string(),
|
||||
"box".to_string(),
|
||||
"do".to_string(),
|
||||
"final".to_string(),
|
||||
"macro".to_string(),
|
||||
"override".to_string(),
|
||||
"priv".to_string(),
|
||||
"typeof".to_string(),
|
||||
"unsized".to_string(),
|
||||
"virtual".to_string(),
|
||||
"yield".to_string(),
|
||||
"async".to_string(),
|
||||
"await".to_string(),
|
||||
"try".to_string(),
|
||||
],
|
||||
secondary_keywords: vec![
|
||||
"bool".to_string(),
|
||||
"char".to_string(),
|
||||
"i8".to_string(),
|
||||
"i16".to_string(),
|
||||
"i32".to_string(),
|
||||
"i64".to_string(),
|
||||
"isize".to_string(),
|
||||
"u8".to_string(),
|
||||
"u16".to_string(),
|
||||
"u32".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()
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue