From 9d7224d756e3521dd0f3115874066d386154b438 Mon Sep 17 00:00:00 2001 From: axel Date: Mon, 2 Feb 2009 09:18:05 +1000 Subject: [PATCH] Add support for completing aliases in ssh. Written by David Bronke. darcs-hash:20090201231805-ac50b-196d4c81981efe681677fe8ca7f1cc833a4734da.gz --- share/completions/ssh.fish | 8 ++++++++ share/functions/__fish_print_ssh_aliases.fish | 7 +++++++ 2 files changed, 15 insertions(+) create mode 100644 share/functions/__fish_print_ssh_aliases.fish diff --git a/share/completions/ssh.fish b/share/completions/ssh.fish index 637f8e495..4af4c2e5e 100644 --- a/share/completions/ssh.fish +++ b/share/completions/ssh.fish @@ -4,6 +4,11 @@ __fish_complete_ssh ssh +complete -x -c ssh -d Alias -a " + +(__fish_print_ssh_aliases) +" + complete -x -c ssh -d Hostname -a " (__fish_print_hostnames) @@ -12,6 +17,9 @@ complete -x -c ssh -d Hostname -a " #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)@ " diff --git a/share/functions/__fish_print_ssh_aliases.fish b/share/functions/__fish_print_ssh_aliases.fish new file mode 100644 index 000000000..719c991ec --- /dev/null +++ b/share/functions/__fish_print_ssh_aliases.fish @@ -0,0 +1,7 @@ + +function __fish_print_ssh_aliases -d "Print a list of known ssh aliases" + # Print ssh aliases + if test -f ~/.ssh/config + awk '/^[[:space:]]*Host\>/ {print $2}' ~/.ssh/config + end +end