diff --git a/parser/src/lib.rs b/parser/src/lib.rs index 0675d19..864cbe7 100644 --- a/parser/src/lib.rs +++ b/parser/src/lib.rs @@ -27,7 +27,7 @@ pub fn parse_rules(input: TokenStream) -> TokenStream { let directory = input.to_string().trim_matches('"').to_owned(); let rules = get_rules(directory); - gen_match_rules(rules) + gen_match_rules(&rules) } #[derive(serde::Deserialize)] @@ -211,7 +211,7 @@ fn eval_suggest(suggest: &str) -> TokenStream2 { replaces::command(&mut suggest, &mut replace_list); replaces::shell(&mut suggest, &mut cmd_list); replaces::typo(&mut suggest, &mut replace_list); - replaces::shell_tag(&mut suggest, &mut replace_list, cmd_list); + replaces::shell_tag(&mut suggest, &mut replace_list, &cmd_list); quote! { #(#opt_list)* diff --git a/parser/src/replaces.rs b/parser/src/replaces.rs index b9ac8c6..969d435 100644 --- a/parser/src/replaces.rs +++ b/parser/src/replaces.rs @@ -208,14 +208,14 @@ pub fn typo(suggest: &mut String, replace_list: &mut Vec) { "\")" ); format!( - "suggest_typo(&split[{}], {}, executables)", + "suggest_typo(&split[{}], &{}, executables)", string_index, function ) } else { let string_match_list = match_list.join("\".to_string(), \""); let string_match_list = format!("\"{}\".to_string()", string_match_list); format!( - "suggest_typo(&split[{}], vec![{}], executables)", + "suggest_typo(&split[{}], &[{}], executables)", string_index, string_match_list ) }; @@ -243,8 +243,8 @@ pub fn shell_tag(suggest: &mut String, replace_list: &mut Vec, cmd let tag_name = "shell"; for command in cmd_list { - if suggest.contains(&command) { - *suggest = suggest.replace(&command, &tag(tag_name, replace_tag)); + if suggest.contains(command) { + *suggest = suggest.replace(command, &tag(tag_name, replace_tag)); let split = command.split_once(',').unwrap(); let argument = split.1.trim_end_matches(')').trim();