diff options
Diffstat (limited to 'bash/bash_completion.d/td.bash')
-rw-r--r-- | bash/bash_completion.d/td.bash | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/bash/bash_completion.d/td.bash b/bash/bash_completion.d/td.bash new file mode 100644 index 00000000..ffb9c973 --- /dev/null +++ b/bash/bash_completion.d/td.bash @@ -0,0 +1,18 @@ +# Complete filenames for td(1) +_td() { + local dir + dir=${TODO_DIR:-"$HOME"/Todo} + while IFS= read -rd '' fn ; do + COMPREPLY[${#COMPREPLY[@]}]=$fn + done < <( + shopt -s extglob nullglob + shopt -u dotglob + local -a fns + fns=("$dir"/"${COMP_WORDS[COMP_CWORD]}"*) + fns=("${fns[@]#"$dir"/}") + ((${#fns[@]})) || exit 1 + printf '%s\0' "${fns[@]##"$dir"/}" + ) + return +} +complete -F _td td |