mirror of
https://github.com/TECHNOFAB11/pay-respects.git
synced 2025-12-12 22:40:09 +01:00
feat: more conditionals
This commit is contained in:
parent
6b4d926dde
commit
9ebe08ad64
4 changed files with 56 additions and 30 deletions
|
|
@ -14,11 +14,11 @@ pub fn parse_rules(input: TokenStream) -> TokenStream {
|
|||
#[derive(serde::Deserialize)]
|
||||
struct Rule {
|
||||
command: String,
|
||||
match_output: Vec<MatchOutput>,
|
||||
match_err: Vec<MatchError>,
|
||||
}
|
||||
|
||||
#[derive(serde::Deserialize)]
|
||||
struct MatchOutput {
|
||||
struct MatchError {
|
||||
pattern: Vec<String>,
|
||||
suggest: Vec<String>,
|
||||
}
|
||||
|
|
@ -43,13 +43,13 @@ fn gen_string_hashmap(rules: Vec<Rule>) -> String {
|
|||
for rule in rules {
|
||||
let command = rule.command.to_owned();
|
||||
string_hashmap.push_str(&format!("(\"{}\", vec![", command));
|
||||
for match_output in rule.match_output {
|
||||
let pattern = match_output
|
||||
for match_err in rule.match_err {
|
||||
let pattern = match_err
|
||||
.pattern
|
||||
.iter()
|
||||
.map(|x| x.to_lowercase())
|
||||
.collect::<Vec<String>>();
|
||||
let suggest = match_output.suggest;
|
||||
let suggest = match_err.suggest;
|
||||
string_hashmap.push_str(&format!(
|
||||
"(vec![\"{}\"], vec![\"{}\"]),",
|
||||
pattern.join("\", \""),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue