Add lftp option completion, simplify bookmark parsing, complete on hostnames.

This commit is contained in:
Ville Skyttä 2009-10-20 09:38:33 +03:00
parent 1065f46e19
commit a874b65b0e
2 changed files with 21 additions and 8 deletions

View File

@ -15,7 +15,7 @@ bash-completion (1.x)
* Apply cardctl completion to pccardctl too.
* Apply pine completion to alpine too.
* Remove many unnecessary short option completions where long ones exist.
* Improve cvs, gkrellm, mdadm, and mysqladmin completions.
* Improve cvs, gkrellm, lftp, mdadm, and mysqladmin completions.
* Add wtf completion, based on work by Raphaël Droz.
* Add lftpget completion.

View File

@ -3,20 +3,33 @@
have lftp &&
_lftp()
{
local cur
local cur prev
COMPREPLY=()
cur=`_get_cword`
prev=${COMP_WORDS[COMP_CWORD-1]}
if [ $COMP_CWORD -eq 1 ] && [ -f ~/.lftp/bookmarks ]; then
COMPREPLY=( $( compgen -W '$( sed -ne "s/^\(.*\)'$'\t''.*$/\1/p" \
~/.lftp/bookmarks )' -- "$cur" ) )
case "$prev" in
-f)
_filedir
return 0
;;
-c|-h|--help|-v|--version|-e|-u|-p)
return 0
;;
esac
if [[ "$cur" == -* ]] ; then
COMPREPLY=( $( compgen -W '-f -c --help --version -e -u -p' \
-- "$cur" ) )
return 0
fi
return 0
COMPREPLY=( $( compgen -W \
'$( cut -f 1 -s ~/.lftp/bookmarks 2>/dev/null )' -- "$cur" ) )
_known_hosts_real "$cur"
} &&
complete -F _lftp $default lftp
complete -F _lftp $filenames lftp
have lftpget &&
_lftpget()
{