mirror of
				git://git.code.sf.net/p/zsh/code
				synced 2025-10-31 06:00:54 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			41 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| #compdef mosh
 | |
| 
 | |
| local curcontext="$curcontext" state line expl ret=1
 | |
| 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]' \
 | |
|   '(--family -6)-4[use IPv4 only]' \
 | |
|   '(--family -4)-6[use IPv6 only]' \
 | |
|   '(-4 -6)--family=[specify address family]:family [prefer-inet]:(inet inet6 auto all prefer-inet prefer-inet6)' \
 | |
|   '--bind-server=[ask the server to reply from an IP address]:{ssh|any|IP}' \
 | |
|   '--server[specify command to run server helper]:remote file:_files' \
 | |
|   '--client[specify command to run client helper]:_command_names -e' \
 | |
|   "--no-ssh-pty[don't allocate a pseudo tty on ssh connection]" \
 | |
|   '--local[run mosh-server locally without using ssh]' \
 | |
|   '--experimental-remote-ip=[select method for discovering remote IP address to use for mosh]:method:(local remote proxy)' \
 | |
|   '1:remote host name:->userhost' \
 | |
|   '*:::args:_normal' && ret=0
 | |
| 
 | |
| case $state in
 | |
|   userhost)
 | |
|     if compset -P '*@'; then
 | |
|       _wanted hosts expl 'remote host name' _ssh_hosts && ret=0
 | |
|     elif compset -S '@*'; then
 | |
|       _wanted users expl 'login name' _combination -s '[:@]' my-accounts users-hosts users -S '' && ret=0
 | |
|     else
 | |
|       _alternative \
 | |
| 	'hosts:remote host name:_ssh_hosts' \
 | |
| 	'users:login name:_combination -s "[:@]" my-accounts users-hosts users -qS@' && ret=0
 | |
|     fi
 | |
|   ;;
 | |
| esac
 | |
| 
 | |
| return ret
 |