blob: 368670ef5fbbd242848cc7cef0e122160db724af (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
use mingling::{
ShellContext, Suggest,
macros::{chain, completion, dispatcher, pack, suggest},
parser::Picker,
};
use crate::{ThisProgram, project_installer::install_all};
dispatcher!("refresh", RefreshCommand => RefreshEntry);
pack!(ResultRefreshCompleted = ());
#[completion(RefreshEntry)]
pub(crate) fn comp_refresh(ctx: &ShellContext) -> Suggest {
if ctx.typing_argument() {
return suggest! {
"--clean": "Clean build artifacts before installation",
"-c": "Clean build artifacts before installation",
};
}
return suggest!();
}
#[chain]
pub(crate) fn handle_refresh_entry(prev: RefreshEntry) -> NextProcess {
let is_clean_before_build = Picker::new(prev.inner)
.pick::<bool>(["--clean", "-c"])
.unpack();
let _ = install_all(is_clean_before_build);
ResultRefreshCompleted::new(())
}
|