diff options
Diffstat (limited to 'Completion/Linux/Command')
-rw-r--r-- | Completion/Linux/Command/_sshfs | 31 |
1 files changed, 28 insertions, 3 deletions
diff --git a/Completion/Linux/Command/_sshfs b/Completion/Linux/Command/_sshfs index c6a8e102d..e6d137017 100644 --- a/Completion/Linux/Command/_sshfs +++ b/Completion/Linux/Command/_sshfs @@ -1,14 +1,39 @@ #compdef sshfs -_arguments \ +local context state state_descr line +typeset -A opt_args +local curcontext="$curcontext" +integer ret=1 + +_arguments -C \ '-V[version]' \ '-p:tcp port:' \ '-C[compression]' \ - '-o:options:_values -s , "sshfs or fuse or mount options" reconnect sshfs_sync no_readahead sshfs_debug cache=:cache\ setting:(yes no) cache_timeout=:seconds: cache_stat_timeout=:seconds: cache_dir_timeout=:seconds: cache_link_timeout=:seconds: ssh_command=:ssh\ command:_command_names directport=:port: SSHOPT=:ssh\ option: default_permissions allow_other allow_root kernel_cache large_read direct_io max_read=:size: hard_remove debug fs_name=:name: use_ino readdir_ino' \ + '-o:options:->options' \ '-d[debug]' \ '-f[foreground]' \ '-s[disable multithreaded operation]' \ '-r[mount read-only]' \ '-h[help]' \ ':remote directory:_user_at_host -S:' \ - ':mountpoint:_files -/' + ':mountpoint:_files -/' && ret=0 + +if [[ $state == options ]]; then + _values -s , "sshfs or fuse or mount options" \ + reconnect sshfs_sync no_readahead sshfs_debug \ + 'cache=:cache setting:(yes no)' \ + cache_timeout=:seconds: \ + cache_stat_timeout=:seconds: \ + cache_dir_timeout=:seconds: \ + cache_link_timeout=:seconds: \ + 'ssh_command=:ssh command:_command_names' \ + directport=:port: \ + 'SSHOPT=:ssh option:' \ + default_permissions allow_other allow_root kernel_cache large_read direct_io \ + max_read=:size: \ + hard_remove debug \ + fs_name=:name: \ + use_ino readdir_ino && ret=0 +fi + +return ret |