diff --git a/aliases/available/kubectl.aliases.bash b/aliases/available/kubectl.aliases.bash index 58670ce5..0322c931 100644 --- a/aliases/available/kubectl.aliases.bash +++ b/aliases/available/kubectl.aliases.bash @@ -18,6 +18,7 @@ function _set_pkg_aliases() alias kcdn='kubectl describe node' alias kcgpan='kubectl get pods --all-namespaces' alias kcgdan='kubectl get deployments --all-namespaces' + alias kcnetshoot='kubectl run --generator=run-pod/v1 netshoot-$(uuidgen | tr A-Z a-z | sed 's/-//g') --rm -i --tty --image nicolaka/netshoot -- /bin/bash' fi } diff --git a/completion/available/vagrant.completion.bash b/completion/available/vagrant.completion.bash index e0abb7af..0803893f 100644 --- a/completion/available/vagrant.completion.bash +++ b/completion/available/vagrant.completion.bash @@ -53,7 +53,7 @@ __vagrantinvestigate() { _vagrant() { cur="${COMP_WORDS[COMP_CWORD]}" prev="${COMP_WORDS[COMP_CWORD-1]}" - commands="snapshot box connect destroy docker-logs docker-run global-status halt help init list-commands login package plugin provision rdp reload resume rsync rsync-auto share ssh ssh-config status suspend up version" + commands="box cloud destroy global-status halt help hostmanager init login package plugin port powershell provision push rdp reload resume scp snapshot ssh ssh-config status suspend up upload validate vbguest version winrm winrm-config" if [ $COMP_CWORD == 1 ] then @@ -91,12 +91,12 @@ _vagrant() { return 0 ;; "box") - box_commands="add help list remove repackage" + box_commands="add list outdated prune remove repackage update" COMPREPLY=($(compgen -W "${box_commands}" -- ${cur})) return 0 ;; "plugin") - plugin_commands="install license list uninstall update" + plugin_commands="expunge install license list repair uninstall update" COMPREPLY=($(compgen -W "${plugin_commands}" -- ${cur})) return 0 ;; @@ -105,7 +105,7 @@ _vagrant() { return 0 ;; "snapshot") - snapshot_commands="back delete go list take" + snapshot_commands="delete list pop push restore save" COMPREPLY=($(compgen -W "${snapshot_commands}" -- ${cur})) return 0 ;; @@ -135,13 +135,29 @@ _vagrant() { esac ;; "snapshot") - if [ "$prev" == "go" ]; then - local snapshot_list=$(vagrant snapshot list | awk '/Name:/ { print $2 }') - COMPREPLY=($(compgen -W "${snapshot_list}" -- ${cur})) + if [ "$prev" == "restore" ]; then + COMPREPLY=($(compgen -W "${vm_list}" -- ${cur})) return 0 fi ;; esac fi + + if [ $COMP_CWORD == 4 ] + then + action="${COMP_WORDS[COMP_CWORD-3]}" + prev="${COMP_WORDS[COMP_CWORD-2]}" + case "$action" in + "snapshot") + if [ "$prev" == "restore" ]; then + local snapshot_list="$(vagrant snapshot list ${cur} 2>/dev/null | awk '{ORS=" "} /==>/ {next} {print}')" + COMPREPLY=($(compgen -W "${snapshot_list}" -- ${cur})) + return 0 + fi + ;; + *) + ;; + esac + fi } complete -F _vagrant vagrant diff --git a/lib/preexec.bash b/lib/preexec.bash index 87922946..2386f46a 100644 --- a/lib/preexec.bash +++ b/lib/preexec.bash @@ -123,7 +123,7 @@ function preexec_install () { # Finally, install the actual traps. if [[ ! -z "${PROMPT_COMMAND// }" ]]; then - PROMPT_COMMAND="${PROMPT_COMMAND};preexec_invoke_cmd" + PROMPT_COMMAND="${PROMPT_COMMAND}"$'\n'"preexec_invoke_cmd" else PROMPT_COMMAND="preexec_invoke_cmd" fi diff --git a/plugins/available/goenv.plugin.bash b/plugins/available/goenv.plugin.bash new file mode 100644 index 00000000..584365b7 --- /dev/null +++ b/plugins/available/goenv.plugin.bash @@ -0,0 +1,18 @@ +cite about-plugin +about-plugin 'load goenv, if you are using it' + +# Don't modify the environment if we can't find the tool: +# - Check if in $PATH already +# - Check if installed manually to $HOME +_command_exists goenv || + [[ -x "$HOME/.goenv/bin/goenv" ]] || + return + +# Set GOENV_ROOT, if not already set +export GOENV_ROOT="${GOENV_ROOT:-$HOME/.goenv}" + +# Add GOENV_ROOT/bin to PATH, if that's where it's installed +[[ -x "$HOME/.goenv/bin/goenv" ]] && pathmunge "$GOENV_ROOT/bin" + +# Initialize goenv +eval "$(goenv init - bash)" diff --git a/themes/base.theme.bash b/themes/base.theme.bash index d5858018..7452eb9f 100644 --- a/themes/base.theme.bash +++ b/themes/base.theme.bash @@ -68,6 +68,8 @@ NVM_THEME_PROMPT_SUFFIX='|' RVM_THEME_PROMPT_PREFIX=' |' RVM_THEME_PROMPT_SUFFIX='|' +THEME_SHOW_RUBY_PROMPT=${THEME_SHOW_RUBY_PROMPT:=true} + THEME_SHOW_USER_HOST=${THEME_SHOW_USER_HOST:=false} USER_HOST_THEME_PROMPT_PREFIX='' USER_HOST_THEME_PROMPT_SUFFIX='' @@ -371,7 +373,9 @@ function chruby_version_prompt { } function ruby_version_prompt { - echo -e "$(rbfu_version_prompt)$(rbenv_version_prompt)$(rvm_version_prompt)$(chruby_version_prompt)" + if [[ "${THEME_SHOW_RUBY_PROMPT}" = "true" ]]; then + echo -e "$(rbfu_version_prompt)$(rbenv_version_prompt)$(rvm_version_prompt)$(chruby_version_prompt)" + fi } function k8s_context_prompt { diff --git a/themes/envy/envy.theme.bash b/themes/envy/envy.theme.bash index 277e3751..f4f09be8 100644 --- a/themes/envy/envy.theme.bash +++ b/themes/envy/envy.theme.bash @@ -9,8 +9,11 @@ GIT_THEME_PROMPT_CLEAN=" ${bold_green}✓" GIT_THEME_PROMPT_PREFIX=" ${green}|" GIT_THEME_PROMPT_SUFFIX="${green}|" +VIRTUALENV_THEME_PROMPT_PREFIX="${green}ⓔ " +VIRTUALENV_THEME_PROMPT_SUFFIX="" + function prompt_command() { - PS1="\n${yellow}$(ruby_version_prompt) ${purple}\h ${reset_color}in ${green}\w\n${bold_cyan}$(scm_char)${green}$(scm_prompt_info) ${green}→${reset_color} " + PS1="\n$(virtualenv_prompt)${yellow}$(ruby_version_prompt) ${purple}\h ${reset_color}in ${green}\w\n${bold_cyan}$(scm_char)${green}$(scm_prompt_info) ${green}→${reset_color} " } safe_append_prompt_command prompt_command