New taskw func to take notes
This commit is contained in:
parent
e3808835e6
commit
e60ee19740
116
zshrc
116
zshrc
|
@ -465,44 +465,6 @@ function tadel() {
|
||||||
}
|
}
|
||||||
## }}}
|
## }}}
|
||||||
## Mark a task as done {{{
|
## Mark a task as done {{{
|
||||||
function tapurge() {
|
|
||||||
# Verify argument
|
|
||||||
if [ "${#}" -eq 0 ]; then
|
|
||||||
## If no argument
|
|
||||||
## Ask the user to choose a task description from the deleted tasks list {{{
|
|
||||||
task all status:deleted || return 0
|
|
||||||
|
|
||||||
printf '%b' "Enter few ${MAGENTAB}words matching the description${RESET} of the expected task to purge : "
|
|
||||||
read -r tapurge_task_regexp
|
|
||||||
else
|
|
||||||
## Merge all args into one var
|
|
||||||
tapurge_task_regexp="${*}"
|
|
||||||
## }}}
|
|
||||||
fi
|
|
||||||
|
|
||||||
local tapurge_task_desc=$(task "${tapurge_task_regexp}" simpledeleted | grep --after-context=2 -- "^Description" | tail --lines=1 || return 0)
|
|
||||||
|
|
||||||
# If no task with this Description exists, exit function {{{
|
|
||||||
if [ -z "${tapurge_task_desc}" ]; then
|
|
||||||
printf '%b' "No available task with ${REDB}${tapurge_task_regexp}${RESET} pattern."
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
# }}}
|
|
||||||
|
|
||||||
printf '%b' "Completly purge the task \"${MAGENTAB}${tapurge_task_desc}${RESET}\" [Y/n] ? "
|
|
||||||
read -r tapurge_confirmation
|
|
||||||
|
|
||||||
# Check confirmation
|
|
||||||
if printf -- '%s' "${tapurge_confirmation:=y}" | grep --quiet --word-regexp -- "y"; then
|
|
||||||
task rc.confirmation:no "${tapurge_task_desc}" purge
|
|
||||||
printf '%b' "\"${MAGENTAB}${tapurge_task_desc}${RESET}\" was purged."
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Unset defined variables
|
|
||||||
unset tapurge_confirmation tapurge_task_regexp
|
|
||||||
}
|
|
||||||
## }}}
|
|
||||||
## Mark a task as done {{{
|
|
||||||
function tadone() {
|
function tadone() {
|
||||||
# Verify argument
|
# Verify argument
|
||||||
if [ "${#}" -eq 0 ]; then
|
if [ "${#}" -eq 0 ]; then
|
||||||
|
@ -544,6 +506,84 @@ function tadone() {
|
||||||
unset tadone_confirmation tadone_task_regexp
|
unset tadone_confirmation tadone_task_regexp
|
||||||
}
|
}
|
||||||
## }}}
|
## }}}
|
||||||
|
## Purge an old task {{{
|
||||||
|
function tapurge() {
|
||||||
|
# Verify argument
|
||||||
|
if [ "${#}" -eq 0 ]; then
|
||||||
|
## If no argument
|
||||||
|
## Ask the user to choose a task description from the deleted tasks list {{{
|
||||||
|
task all status:deleted || return 0
|
||||||
|
|
||||||
|
printf '%b' "Enter few ${MAGENTAB}words matching the description${RESET} of the expected task to purge : "
|
||||||
|
read -r tapurge_task_regexp
|
||||||
|
else
|
||||||
|
## Merge all args into one var
|
||||||
|
tapurge_task_regexp="${*}"
|
||||||
|
## }}}
|
||||||
|
fi
|
||||||
|
|
||||||
|
local tapurge_task_desc=$(task "${tapurge_task_regexp}" simpledeleted | grep --after-context=2 -- "^Description" | tail --lines=1 || return 0)
|
||||||
|
|
||||||
|
# If no task with this Description exists, exit function {{{
|
||||||
|
if [ -z "${tapurge_task_desc}" ]; then
|
||||||
|
printf '%b' "No available task with ${REDB}${tapurge_task_regexp}${RESET} pattern."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
printf '%b' "Completly purge the task \"${MAGENTAB}${tapurge_task_desc}${RESET}\" [Y/n] ? "
|
||||||
|
read -r tapurge_confirmation
|
||||||
|
|
||||||
|
# Check confirmation
|
||||||
|
if printf -- '%s' "${tapurge_confirmation:=y}" | grep --quiet --word-regexp -- "y"; then
|
||||||
|
task rc.confirmation:no "${tapurge_task_desc}" purge
|
||||||
|
printf '%b' "\"${MAGENTAB}${tapurge_task_desc}${RESET}\" was purged."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Unset defined variables
|
||||||
|
unset tapurge_confirmation tapurge_task_regexp
|
||||||
|
}
|
||||||
|
## }}}
|
||||||
|
## Take note for a task {{{
|
||||||
|
function tanote() {
|
||||||
|
# Verify argument
|
||||||
|
if [ "${#}" -eq 0 ]; then
|
||||||
|
## If no argument
|
||||||
|
## Ask the user to choose a task description from the recent tasks {{{
|
||||||
|
task simple limit:page || return 0
|
||||||
|
|
||||||
|
printf '%b' "Enter ${MAGENTAB}a pattern${RESET} matching the expected task that need notes : "
|
||||||
|
read -r tanote_task_regexp
|
||||||
|
else
|
||||||
|
## Merge all args into one var
|
||||||
|
tanote_task_regexp="${*}"
|
||||||
|
## }}}
|
||||||
|
fi
|
||||||
|
|
||||||
|
local tanote_task_id=$(task "${tanote_task_regexp}" simpleid | grep --after-context=2 -- ID | tail --lines=1 || return 0)
|
||||||
|
|
||||||
|
# If no task with this ID exists, exit function {{{
|
||||||
|
if [ -z "${tanote_task_id}" ]; then
|
||||||
|
printf '%b' "No available task with ${REDB}${tanote_task_regexp}${RESET} pattern."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
# Get task's description
|
||||||
|
local tanote_task_desc=$(task "${tanote_task_id}" | sed -n "s/^Description *\(.*\)/\1/p")
|
||||||
|
|
||||||
|
printf '%b' "Add notes to \"${MAGENTAB}${tanote_task_id} − ${tanote_task_desc}${RESET}\" task [Y/n] ? "
|
||||||
|
read -r tanote_confirmation
|
||||||
|
|
||||||
|
# Check confirmation
|
||||||
|
if printf -- '%s' "${tanote_confirmation:=y}" | grep --quiet --word-regexp -- "y"; then
|
||||||
|
task note "${tanote_task_id}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Unset defined variables
|
||||||
|
unset tanote_confirmation tanote_task_regexp
|
||||||
|
}
|
||||||
|
## }}}
|
||||||
|
|
||||||
## Completion {{{
|
## Completion {{{
|
||||||
zstyle ':completion:*:*:task:*' verbose yes
|
zstyle ':completion:*:*:task:*' verbose yes
|
||||||
|
|
Loading…
Reference in New Issue