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 {{{ | ||||
| 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() { | ||||
| 	# Verify argument | ||||
| 	if [ "${#}" -eq 0 ]; then | ||||
|  | @ -544,6 +506,84 @@ function tadone() { | |||
| 	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 {{{ | ||||
| zstyle ':completion:*:*:task:*' verbose yes | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue