Compare commits

..

5 Commits

Author SHA1 Message Date
Dmitriy Pleshevskiy 916114bea5
repo/sqlite: add task struct
- repo/sqlite: add method to get active tasks
2022-08-19 16:48:06 +03:00
Dmitriy Pleshevskiy fc009bc0c7
move to database dir 2022-08-19 16:48:06 +03:00
Dmitriy Pleshevskiy 9d686a3bdf
repo/sqlite: add base schema 2022-08-19 16:48:06 +03:00
Dmitriy Pleshevskiy f7c3d2c040
shell/zsh: add basic integration with fzf
Closes #29
2022-08-19 16:39:33 +03:00
Dmitriy Pleshevskiy bd4a581f3e
cli/show: improve error messages 2022-08-18 17:29:24 +03:00
2 changed files with 39 additions and 7 deletions

32
shell/zsh Normal file
View File

@ -0,0 +1,32 @@
function __tas_task_idx() {
echo "$@" | sed 's/^\([0-9]\+\)\..\+$/\1/'
}
function __tas_show() {
tas show $(__tas_task_idx "$@")
}
function __tas_start() {
tas start $(__tas_task_idx "$@")
}
function __tas_list() {
tas list | fzf --info=inline --height=50% --no-sort --keep-right --layout=reverse
}
function taz() {
case $1 in
"" | "show" | "sh")
__tas_show $(__tas_list)
;;
"list" | "ls")
__tas_list
;;
"start" | "st")
__tas_start $(__tas_list)
esac
}

View File

@ -58,10 +58,10 @@ pub fn execute(repo: impl Repository, args: Args) {
Err(idx_err) => match first.parse::<PrintPart>() {
Ok(part) => (None, Some(part)),
Err(part_err) => {
return eprint!(
r#"error: Invalid value "{}": {}; {}"#,
first, idx_err, part_err
)
eprintln!("error: Invalid value {first:?}:");
eprintln!("- {idx_err}");
eprintln!("- {part_err}");
return;
}
},
}
@ -73,16 +73,16 @@ pub fn execute(repo: impl Repository, args: Args) {
let idx = match first.parse::<usize>() {
Ok(idx) => Some(idx),
Err(err) => return eprint!(r#"error: Invalid value "{}": {}"#, first, err),
Err(err) => return eprintln!("error: Invalid value {first:?}: {err}"),
};
let part = match second.parse::<PrintPart>() {
Ok(part) => Some(part),
Err(err) => return eprint!(r#"error: Invalid value "{}": {}"#, second, err),
Err(err) => return eprintln!("error: Invalid value {second:?}: {err}"),
};
(idx, part)
}
_ => return eprintln!("error: To much arguments: {}", args.rest.join(",")),
_ => return eprintln!("error: To much arguments: {:?}", args.rest),
};
let task = if let Some(idx) = idx {