From fb102405069a87ca753b2b3231e583aa8bf0a7c5 Mon Sep 17 00:00:00 2001 From: Jacob Kiers Date: Wed, 25 Jun 2014 18:10:23 +0200 Subject: [PATCH] Split off bash completion. Signed-off-by: Jacob Kiers --- includes/bash_completion.bash | 14 ++++++++++++++ tilde/bash_profile.bash | 14 +------------- 2 files changed, 15 insertions(+), 13 deletions(-) create mode 100644 includes/bash_completion.bash diff --git a/includes/bash_completion.bash b/includes/bash_completion.bash new file mode 100644 index 0000000..ff69b09 --- /dev/null +++ b/includes/bash_completion.bash @@ -0,0 +1,14 @@ +# If possible, add tab completion for many commands +[ -f /etc/bash_completion ] && source /etc/bash_completion + +# Bash completion (installed via Homebrew; source after `brew` is added to PATH) +command -v brew >/dev/null 2>&1 && [ -r "$(brew --prefix)/etc/bash_completion" ] && source "$(brew --prefix)/etc/bash_completion" + +# Add tab completion for SSH hostnames based on ~/.ssh/config, ignoring wildcards +function _ssh_reload_autocomplete() { + [ -e "~/.ssh/config" ] && complete -o "default" -o "nospace" -W "$(grep "^Host" ~/.ssh/config | grep -v "[?*]" | cut -d " " -f2)" scp sftp ssh +} +_ssh_reload_autocomplete + +# Add AWS CLI Completion. +complete -C aws_completer aws diff --git a/tilde/bash_profile.bash b/tilde/bash_profile.bash index 77af266..61a1b80 100644 --- a/tilde/bash_profile.bash +++ b/tilde/bash_profile.bash @@ -69,23 +69,11 @@ NOCOLOR="$(tput sgr0)" export EDITOR=`which vim` # Load prompt and aliases -for file in ~/dotfiles/includes/bash_{prompt,aliases,functions,git}.bash; do +for file in ~/dotfiles/includes/bash_{prompt,aliases,functions,git,completion}.bash; do [ -r "$file" ] && source "$file" done unset file -# If possible, add tab completion for many commands -[ -f /etc/bash_completion ] && source /etc/bash_completion - -# Bash completion (installed via Homebrew; source after `brew` is added to PATH) -command -v brew >/dev/null 2>&1 && [ -r "$(brew --prefix)/etc/bash_completion" ] && source "$(brew --prefix)/etc/bash_completion" - -# Add tab completion for SSH hostnames based on ~/.ssh/config, ignoring wildcards -function _ssh_reload_autocomplete() { - [ -e "~/.ssh/config" ] && complete -o "default" -o "nospace" -W "$(grep "^Host" ~/.ssh/config | grep -v "[?*]" | cut -d " " -f2)" scp sftp ssh -} -_ssh_reload_autocomplete - # Tell ls to be colourful export CLICOLOR=1