mirror of
https://github.com/TECHNOFAB11/pay-respects.git
synced 2025-12-11 22:10:09 +01:00
feat: in-line shell evaluation
This commit is contained in:
parent
8ae71443d6
commit
b5f2f139e4
4 changed files with 19 additions and 3 deletions
|
|
@ -60,7 +60,7 @@ fn gen_match_rules(rules: Vec<Rule>) -> TokenStream {
|
|||
let suggests = x
|
||||
.suggest
|
||||
.iter()
|
||||
.map(|x| x.to_lowercase())
|
||||
.map(|x| x.to_string())
|
||||
.collect::<Vec<String>>();
|
||||
(pattern, suggests)
|
||||
})
|
||||
|
|
|
|||
|
|
@ -188,7 +188,13 @@ pub fn shell_tag(suggest: &mut String, replace_list: &mut Vec<TokenStream2>, cmd
|
|||
if suggest.contains(&command) {
|
||||
|
||||
*suggest = suggest.replace(&command, &tag(tag_name, replace_tag));
|
||||
replace_list.push(rtag(tag_name, replace_tag, command));
|
||||
|
||||
let split = command.split_once(',').unwrap();
|
||||
let argument = split.1.trim_end_matches(')').trim();
|
||||
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_tag += 1;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -75,3 +75,14 @@ suggest = [
|
|||
git checkout {{typo[2]({{shell(git branch)}})}}
|
||||
'''
|
||||
]
|
||||
|
||||
[[match_err]]
|
||||
pattern = [
|
||||
"current branch test has no upstream branch"
|
||||
]
|
||||
suggest = [
|
||||
'''
|
||||
#[cmd_contains(push)]
|
||||
git push --set-upstream origin {{shell(git rev-parse --abbrev-ref HEAD)}}
|
||||
'''
|
||||
]
|
||||
|
|
|
|||
|
|
@ -75,7 +75,6 @@ fn eval_shell_command(shell: &str, command: &str) -> Vec<String> {
|
|||
.expect("failed to execute process");
|
||||
let output = String::from_utf8_lossy(&output.stdout);
|
||||
let split_output = output.split('\n').collect::<Vec<&str>>();
|
||||
println!("{:?}", split_output);
|
||||
split_output
|
||||
.iter()
|
||||
.map(|s| s.trim().to_string())
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue