diff --git a/vagrant-bash-completion/etc/bash_completion.d/vagrant b/vagrant-bash-completion/etc/bash_completion.d/vagrant index 92901a4..b394842 100644 --- a/vagrant-bash-completion/etc/bash_completion.d/vagrant +++ b/vagrant-bash-completion/etc/bash_completion.d/vagrant @@ -93,10 +93,10 @@ __vagrant_get_commands(){ local vagrant_commands='' vagrant_output='' # local must be declared beforehand in order to return an accurate exit status here - vagrant_output=$(vagrant list-commands 2>/dev/null) || return 1 + vagrant_output=$(VAGRANT_NO_COLOR=1 vagrant list-commands 2>/dev/null) || return 1 # `NF != 0` is there solely to insure against any errata appended to list-commands output at a later date - vagrant_commands=$(awk '/^$/ {while (getline && NF != 0) print $1}' <<<"$vagrant_output" | sort) + vagrant_commands=$(awk '/^\r?$/ {while (getline && NF > 1) print $1}' <<<"$vagrant_output" | sort) [[ -z $vagrant_commands ]] && return 1 @@ -108,9 +108,9 @@ __vagrant_get_environments(){ local vagrant_environments='' vagrant_output='' # local must be declared beforehand in order to return an accurate exit status here - vagrant_output=$(vagrant global-status 2>/dev/null) || return 1 + vagrant_output=$(VAGRANT_NO_COLOR=1 vagrant global-status 2>/dev/null) || return 1 - vagrant_environments=$(awk '/^-+$/ {while (getline && NF != 0) print $1}' <<<"$vagrant_output") + vagrant_environments=$(awk '/^-+\r?$/ {while (getline && NF > 1) print $1}' <<<"$vagrant_output") [[ -z $vagrant_environments ]] && return 1 @@ -139,9 +139,9 @@ __vagrant_get_not_off_global(){ local not_off='' vagrant_output='' # local must be declared beforehand in order to return an accurate exit status here - vagrant_output=$(vagrant global-status 2>/dev/null) || return 1 + vagrant_output=$(VAGRANT_NO_COLOR=1 vagrant global-status 2>/dev/null) || return 1 - not_off=$(awk '/^-+$/ {while (getline && NF != 0) if ($4 != "poweroff") print $1}' <<<"$vagrant_output") + not_off=$(awk '/^-+\r?$/ {while (getline && NF > 1) if ($4 != "poweroff") print $1}' <<<"$vagrant_output") [[ -z $not_off ]] && return 1 @@ -153,9 +153,9 @@ __vagrant_get_not_off_local(){ local not_off='' vagrant_output='' # local must be declared beforehand in order to return an accurate exit status here - vagrant_output=$(vagrant status 2>/dev/null) || return 100 + vagrant_output=$(VAGRANT_NO_COLOR=1 vagrant status 2>/dev/null) || return 100 - not_off=$(awk '/^$/ {while (getline && NF != 0) if ($2 != "poweroff") print $1}' <<<"$vagrant_output") + not_off=$(awk '/^\r?$/ {while (getline && NF > 1) if ($2 != "poweroff") print $1}' <<<"$vagrant_output") [[ -z $not_off ]] && return 1 @@ -184,9 +184,9 @@ __vagrant_get_not_running_global(){ local not_running='' vagrant_output='' # local must be declared beforehand in order to return an accurate exit status here - vagrant_output=$(vagrant global-status 2>/dev/null) || return 1 + vagrant_output=$(VAGRANT_NO_COLOR=1 vagrant global-status 2>/dev/null) || return 1 - not_running=$(awk '/^-+$/ {while (getline && NF != 0) if ($4 != "running") print $1}' <<<"$vagrant_output") + not_running=$(awk '/^-+\r?$/ {while (getline && NF > 1) if ($4 != "running") print $1}' <<<"$vagrant_output") [[ -z $not_running ]] && return 1 @@ -199,9 +199,9 @@ __vagrant_get_not_running_local(){ local not_running='' vagrant_output='' # local must be declared beforehand in order to return an accurate exit status here - vagrant_output=$(vagrant status 2>/dev/null) || return 100 + vagrant_output=$(VAGRANT_NO_COLOR=1 vagrant status 2>/dev/null) || return 100 - not_running=$(awk '/^$/ {while (getline && NF != 0) if ($2 != "running") print $1}' <<<"$vagrant_output") + not_running=$(awk '/^\r?$/ {while (getline && NF > 1) if ($2 != "running") print $1}' <<<"$vagrant_output") [[ -z $not_running ]] && return 1 @@ -224,7 +224,7 @@ __vagrant_get_plugins(){ local vagrant_plugins='' - vagrant_plugins=$(vagrant plugin list 2>/dev/null | awk '{print $1}') + vagrant_plugins=$(VAGRANT_NO_COLOR=1 vagrant plugin list 2>/dev/null | awk '{print $1}') [[ -z $vagrant_plugins ]] && return 1 @@ -236,7 +236,7 @@ __vagrant_get_snapshots(){ local vagrant_output='' vagrant_snapshots='' # local must be declared beforehand in order to return an accurate exit status here - vagrant_output=$(vagrant snapshot list 2>/dev/null) || return 1 + vagrant_output=$(VAGRANT_NO_COLOR=1 vagrant snapshot list 2>/dev/null) || return 1 vagrant_snapshots=$(awk '$1 ~ /Name:/ {print $2}' <<<"$vagrant_output") @@ -250,9 +250,9 @@ __vagrant_get_subcommands(){ local vagrant_output='' vagrant_subcommands='' # local must be declared beforehand in order to return an accurate exit status here - vagrant_output=$(vagrant help "$1" 2>/dev/null) || return 1 + vagrant_output=$(VAGRANT_NO_COLOR=1 vagrant help "$1" 2>/dev/null) || return 1 - vagrant_subcommands=$(awk '/^Available subcommands:$/ {while (getline && NF == 1) print $1}' <<<"$vagrant_output") + vagrant_subcommands=$(awk '/^Available subcommands:\r?$/ {while (getline && length($1) > 1) print $1}' <<<"$vagrant_output") # vagrant_subcommands=$(awk '/^ [a-z]+$/ {print $1}' <<<"$vagrant_output") [[ -z $vagrant_subcommands ]] && return 1 @@ -265,9 +265,9 @@ __vagrant_get_versions(){ local vagrant_output='' vagrant_versions='' # local must be declared beforehand in order to return an accurate exit status here - vagrant_output=$(vagrant box list 2>/dev/null) || return 1 + vagrant_output=$(VAGRANT_NO_COLOR=1 vagrant box list 2>/dev/null) || return 1 - vagrant_versions=$(awk '{sub(")$", "", $NF); print $NF}' <<<"$vagrant_output") + vagrant_versions=$(awk '{sub(")\r?$", "", $NF); print $NF}' <<<"$vagrant_output") [[ -z $vagrant_versions ]] && return 1 @@ -279,9 +279,9 @@ __vagrant_get_vms(){ local vagrant_output='' vagrant_vms='' # local must be declared beforehand in order to return an accurate exit status here - vagrant_output=$(vagrant status 2>/dev/null) || return 1 + vagrant_output=$(VAGRANT_NO_COLOR=1 vagrant status 2>/dev/null) || return 1 - vagrant_vms=$(awk '/^$/ {while (getline && NF != 0) print $1}' <<<"$vagrant_output") + vagrant_vms=$(awk '/^\r?$/ {while (getline && NF > 1) print $1}' <<<"$vagrant_output") [[ -z $vagrant_vms ]] && return 1