diff options
Diffstat (limited to 'contrib/lftp')
-rw-r--r-- | contrib/lftp | 39 |
1 files changed, 32 insertions, 7 deletions
diff --git a/contrib/lftp b/contrib/lftp index feb8af62..15d0a977 100644 --- a/contrib/lftp +++ b/contrib/lftp @@ -3,19 +3,44 @@ have lftp && _lftp() { - local cur + local cur prev COMPREPLY=() - cur=`_get_cword` + _get_comp_words_by_ref cur prev + + case $prev in + -f) + _filedir + return 0 + ;; + -c|-h|--help|-v|--version|-e|-u|-p) + return 0 + ;; + esac - if [ $COMP_CWORD -eq 1 ] && [ -f ~/.lftp/bookmarks ]; then - COMPREPLY=( $( compgen -W '$( sed -ne "s/^\(.*\)'$'\t''.*$/\1/p" \ - ~/.lftp/bookmarks )' -- "$cur" ) ) + 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 -o filenames lftp +have lftpget && +_lftpget() +{ + COMPREPLY=() + local cur + _get_comp_words_by_ref cur + + if [[ "$cur" == -* ]] ; then + COMPREPLY=( $( compgen -W '-c -d -v' -- "$cur" ) ) + fi } && -complete -F _lftp $default lftp +complete -F _lftpget lftpget # Local variables: # mode: shell-script |