summaryrefslogtreecommitdiffstats
path: root/completions/sshfs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--completions/sshfs23
1 files changed, 23 insertions, 0 deletions
diff --git a/completions/sshfs b/completions/sshfs
new file mode 100644
index 0000000..223d029
--- /dev/null
+++ b/completions/sshfs
@@ -0,0 +1,23 @@
+# sshfs(1) completion -*- shell-script -*-
+
+_sshfs()
+{
+ local cur prev words cword
+ _init_completion -n : || return
+
+ _expand || return
+
+ if [[ $cur == *:* ]]; then
+ _xfunc ssh _scp_remote_files -d
+ # unlike scp and rsync, sshfs works with 1 backslash instead of 3
+ COMPREPLY=("${COMPREPLY[@]//\\\\\\/\\}")
+ return
+ fi
+
+ [[ $cur == @(*/|[.~])* ]] || _known_hosts_real -c -a -- "$cur"
+
+ _xfunc ssh _scp_local_files -d
+} &&
+ complete -F _sshfs -o nospace sshfs
+
+# ex: filetype=sh