diff options
Diffstat (limited to 'functions/_mosh')
-rw-r--r-- | functions/_mosh | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/functions/_mosh b/functions/_mosh new file mode 100644 index 0000000..b8e7e49 --- /dev/null +++ b/functions/_mosh @@ -0,0 +1,29 @@ +#compdef mosh + +# load ssh completions to use _ssh_hosts +_ssh + +local curcontext="$curcontext" state line +local -a _comp_priv_prefix + +_arguments -C \ + '(-)--help[display help information]' \ + '(-)--version[display version information]' \ + "--no-init[don't set terminal init string]" \ + '--ssh=[specify ssh command to setup session]:ssh command:_normal' \ + '--port=[specify server-side port range]:port:_sequence -n 2 -s \: _ports' \ + '(-a -n)--predict=[control speculative local echo]:mode:(adaptive always never)' \ + '(--predict -n)-a[synonym for --predict=always]' \ + '(--predict -a)-n[synonym for --predict=never]' \ + '--server[specify command to run server helper]:remote file:_files' \ + '--client[specify command to run client helper]:_command_names -e' \ + '1:remote host name:->userhost' \ + '*:::args:_normal' && return + +case $state in + userhost) + _ssh_hosts || _user_at_host && return + ;; +esac + +return 1 |