diff --git a/parser/src/lib.rs b/parser/src/lib.rs index 864cbe7..63a799c 100644 --- a/parser/src/lib.rs +++ b/parser/src/lib.rs @@ -24,9 +24,7 @@ mod replaces; #[proc_macro] pub fn parse_rules(input: TokenStream) -> TokenStream { - let directory = input.to_string().trim_matches('"').to_owned(); - let rules = get_rules(directory); - + let rules = get_rules(input.to_string().trim_matches('"')); gen_match_rules(&rules) } @@ -42,7 +40,7 @@ struct MatchError { suggest: Vec, } -fn get_rules(directory: String) -> Vec { +fn get_rules(directory: &str) -> Vec { let files = std::fs::read_dir(directory).expect("Failed to read directory."); let mut rules = Vec::new(); diff --git a/parser/src/replaces.rs b/parser/src/replaces.rs index 969d435..a73f13c 100644 --- a/parser/src/replaces.rs +++ b/parser/src/replaces.rs @@ -1,7 +1,7 @@ use proc_macro2::TokenStream as TokenStream2; use quote::quote; -fn rtag(name: &str, x: i32, y: String) -> TokenStream2 { +fn rtag(name: &str, x: i32, y: &str) -> TokenStream2 { format!("{}{} = {}", name, x, y).parse().unwrap() } @@ -43,7 +43,7 @@ pub fn opts( }; opt_list.push(command); - replace_list.push(rtag(tag_name, replace_tag, current_tag.to_owned())); + replace_list.push(rtag(tag_name, replace_tag, ¤t_tag)); suggest.replace_range(placeholder, ¤t_tag); replace_tag += 1; } @@ -66,7 +66,7 @@ pub fn cmd_reg(suggest: &mut String, replace_list: &mut Vec) { let command = format!("cmd_regex(r###\"{}\"###, &last_command)", regex); - replace_list.push(rtag(tag_name, replace_tag, command)); + replace_list.push(rtag(tag_name, replace_tag, &command)); suggest.replace_range(placeholder, &tag(tag_name, replace_tag)); replace_tag += 1; } @@ -83,7 +83,7 @@ pub fn err(suggest: &mut String, replace_list: &mut Vec) { let command = format!("err_regex(r###\"{}\"###, error_msg)", regex); - replace_list.push(rtag(tag_name, replace_tag, command)); + replace_list.push(rtag(tag_name, replace_tag, &command)); suggest.replace_range(placeholder, &tag(tag_name, replace_tag)); replace_tag += 1; } @@ -117,7 +117,7 @@ pub fn command(suggest: &mut String, replace_list: &mut Vec) { let command = format! {r#"split[{}..{}].join(" ")"#, start_string, end_string}; - replace_list.push(rtag(tag_name, replace_tag, command)); + replace_list.push(rtag(tag_name, replace_tag, &command)); suggest.replace_range(placeholder, &tag(tag_name, replace_tag)); } else { let range = range.parse::().unwrap_or(0); @@ -127,7 +127,7 @@ pub fn command(suggest: &mut String, replace_list: &mut Vec) { format!("split[{}]", range) }; - replace_list.push(rtag(tag_name, replace_tag, command)); + replace_list.push(rtag(tag_name, replace_tag, &command)); suggest.replace_range(placeholder, &tag(tag_name, replace_tag)); } replace_tag += 1; @@ -220,7 +220,7 @@ pub fn typo(suggest: &mut String, replace_list: &mut Vec) { ) }; - replace_list.push(rtag(tag_name, replace_tag, command)); + replace_list.push(rtag(tag_name, replace_tag, &command)); suggest.replace_range(placeholder, &tag(tag_name, replace_tag)); replace_tag += 1; } @@ -251,7 +251,7 @@ pub fn shell_tag(suggest: &mut String, replace_list: &mut Vec, cmd let argument = format!("\"{}\"", argument); let function = format!("{}, {}).join(\"\")", split.0, argument); // let function = format!("\"{}, {}\"", split.0, split.1); - replace_list.push(rtag(tag_name, replace_tag, function)); + replace_list.push(rtag(tag_name, replace_tag, &function)); replace_tag += 1; } } diff --git a/utils/src/evals.rs b/utils/src/evals.rs index c447e8e..012f949 100644 --- a/utils/src/evals.rs +++ b/utils/src/evals.rs @@ -101,7 +101,7 @@ pub fn suggest_typo(typos: &[String], candidates: &[String], executables: &[Stri unreachable!("suggest_typo: must have at least two candidates") } } - } else if let Some(suggest) = find_similar(typo, &candidates, Some(2)) { + } else if let Some(suggest) = find_similar(typo, candidates, Some(2)) { suggestions.push(suggest); } else { suggestions.push(typo.to_string());