aboutsummaryrefslogtreecommitdiffhomepage
path: root/share/completions/ssh.fish
blob: 6131c2545c923335da5cd79ff9eddf887072dfc4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#
# Load common ssh options
#

__fish_complete_ssh ssh

complete -x -c ssh -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 ssh -d User -a "
(__fish_print_users | string match -r -v '^_')@
"
complete -c ssh --description "Command to run" -x -a '(__fish_complete_subcommand --fcs-skip=2)'

complete -c ssh -s a --description "Disables forwarding of the authentication agent"
complete -c ssh -s A --description "Enables forwarding of the authentication agent"
complete -x -c ssh -s b --description "Interface to transmit from" -a "
(
	cat /proc/net/arp ^/dev/null| string match -r -v '^IP'|cut -d ' ' -f 1 ^/dev/null
)
"

complete -x -c ssh -s e --description "Escape character" -a "\^ none"
complete -c ssh -s f --description "Go to background"
complete -c ssh -s g --description "Allow remote host to connect to local forwarded ports"
complete -c ssh -s I --description "Smartcard device"
complete -c ssh -s k --description "Disable forwarding of Kerberos tickets"
complete -c ssh -s l -x -a "(__fish_complete_users)" --description "User"
complete -c ssh -s m --description "MAC algorithm"
complete -c ssh -s n --description "Prevent reading from stdin"
complete -c ssh -s N --description "Do not execute remote command"
complete -c ssh -s p -x --description "Port"
complete -c ssh -s q --description "Quiet mode"
complete -c ssh -s s --description "Subsystem"
complete -c ssh -s t --description "Force pseudo-tty allocation"
complete -c ssh -s T --description "Disable pseudo-tty allocation"
complete -c ssh -s x --description "Disable X11 forwarding"
complete -c ssh -s X --description "Enable X11 forwarding"
complete -c ssh -s L --description "Locally forwarded ports"
complete -c ssh -s R --description "Remotely forwarded ports"
complete -c ssh -s D --description "Dynamic port forwarding"

# Since ssh runs subcommands, it can accept any switches
complete -c ssh -u