complete -x -c mosh -d Hostname -a " (__fish_print_hostnames) ( #Prepend any username specified in the completion to the hostname echo (commandline -ct)|sed -ne 's/\(.*@\).*/\1/p' )(__fish_print_hostnames) " complete -x -c mosh -d User -a " (__fish_print_users)@ " complete -c mosh --description "Command to run" -x -a '(__fish_complete_subcommand --fcs-skip=2)' complete -c mosh -l client --description 'Path to client helper on local machine (default: "mosh-client")' complete -c mosh -l server --description 'Command to run server helper on remote machine (default: "mosh-server")' complete -c mosh -l ssh --description 'SSH command to run when setting up session (example: "ssh -p 2222") (default: "ssh")' complete -c mosh -f -l predict --description 'Controls use of speculative local echo' -a 'adaptive always never experimental' complete -c mosh -s a --description 'Synonym for --predict=always' complete -c mosh -s n --description 'Synonym for --predict=never' complete -c mosh -s p -l port --description 'Use a particular server-side UDP port or port range' # Since mosh runs subcommands, it can accept any switches complete -c mosh -u