36 lines
767 B
Bash
36 lines
767 B
Bash
# sshfs(1) completion
|
|
|
|
have sshfs || return
|
|
|
|
_sshfs()
|
|
{
|
|
local cur prev words cword
|
|
_init_completion -n : || return
|
|
|
|
local userhost path
|
|
|
|
_expand || return 0
|
|
|
|
if [[ "$cur" == *:* ]] && declare -F _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"
|
|
|
|
declare -F _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
|