diff options
Diffstat (limited to 'completions/sshfs')
-rw-r--r-- | completions/sshfs | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/completions/sshfs b/completions/sshfs new file mode 100644 index 00000000..d7945f88 --- /dev/null +++ b/completions/sshfs @@ -0,0 +1,34 @@ +# sshfs(1) completion + +have sshfs && +_sshfs() +{ + local cur userhost path + + COMPREPLY=() + _get_comp_words_by_ref -n : cur + + _expand || return 0 + + if [[ "$cur" == *:* ]] && type _scp_remote_files &>/dev/null ; then + _scp_remote_files -d + # unlike scp and rsync, sshfs works with 1 backslash instead of 3 + COMPREPLY=( "${COMPREPLY[@]//\\\\\\/\\}" ) + return 0 + fi + + [[ "$cur" == */* ]] || _known_hosts_real -c -a "$cur" + + type _scp_local_files &>/dev/null && _scp_local_files -d + + return 0 +} && +complete -F _sshfs -o nospace sshfs + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh |