Merge pull request #2029 from gaelicWizard/completion/bash-it

completion/bash-it: lint and simplify
pull/2040/head
Noah Gorny 2022-01-25 17:56:34 +02:00 committed by GitHub
commit 457a279263
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 129 additions and 206 deletions

View File

@ -37,6 +37,7 @@ aliases/available/vim.aliases.bash
# #
completion/available/apm.completion.bash completion/available/apm.completion.bash
completion/available/awless.completion.bash completion/available/awless.completion.bash
completion/available/bash-it.completion.bash
completion/available/brew.completion.bash completion/available/brew.completion.bash
completion/available/cargo.completion.bash completion/available/cargo.completion.bash
completion/available/composer.completion.bash completion/available/composer.completion.bash

View File

@ -1,171 +1,91 @@
#!/usr/bin/env bash # shellcheck shell=bash
_bash-it-comp-enable-disable() function _compreply_candidates() {
{ local IFS=$'\n'
local enable_disable_args="alias completion plugin"
COMPREPLY=( $(compgen -W "${enable_disable_args}" -- "${cur}") ) read -d '' -ra COMPREPLY < <(compgen -W "${candidates[*]}" -- "${cur}")
} }
_bash-it-comp-list-available-not-enabled() function _bash-it() {
{ local cur prev verb file_type candidates suffix
local subdirectory="$1"
local enabled_components all_things available_things
all_things=( $(compgen -G "${BASH_IT}/$subdirectory/available/*.bash") ); all_things=( "${all_things[@]##*/}" )
enabled_components=( $(command ls "${BASH_IT}"/{"$subdirectory"/,}enabled/*.bash 2>/dev/null) )
enabled_components=( "${enabled_components[@]##*/}" ); enabled_components="${enabled_components[@]##*---}"
available_things=( $(sort -d <(for i in ${enabled_components}
do
all_things=( "${all_things[@]//$i}" )
done
printf '%s\n' "${all_things[@]}")) ); available_things="${available_things[@]%.*.bash}"
COMPREPLY=( $(compgen -W "all ${available_things}" -- "${cur}") )
}
_bash-it-comp-list-enabled()
{
local subdirectory="$1"
local suffix enabled_things
suffix="${subdirectory/plugins/plugin}"
enabled_things=( $(sort -d <(compgen -G "${BASH_IT}/$subdirectory/enabled/*.${suffix}.bash") <(compgen -G "${BASH_IT}/enabled/*.${suffix}.bash")) )
enabled_things=( "${enabled_things[@]##*/}" ); enabled_things=( "${enabled_things[@]##*---}" ); enabled_things="${enabled_things[@]%.*.bash}"
COMPREPLY=( $(compgen -W "all ${enabled_things}" -- "${cur}") )
}
_bash-it-comp-list-available()
{
local subdirectory="$1"
local enabled_things
enabled_things=( $(sort -d <(compgen -G "${BASH_IT}/$subdirectory/available/*.bash")) )
enabled_things=( "${enabled_things[@]##*/}" ); enabled_things="${enabled_things[@]%.*.bash}"
COMPREPLY=( $(compgen -W "${enabled_things}" -- "${cur}") )
}
_bash-it-comp-list-profiles()
{
local profiles
profiles=$(for f in `compgen -G "${BASH_IT}/profiles/*.bash_it" | sort -d`;
do
basename $f | sed -e 's/.bash_it//g'
done)
COMPREPLY=( $(compgen -W "${profiles}" -- ${cur}) )
}
_bash-it-comp()
{
local cur prev opts
COMPREPLY=() COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}" cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD - 1]}" prev="${COMP_WORDS[COMP_CWORD - 1]}"
chose_opt="${COMP_WORDS[1]}" verb="${COMP_WORDS[1]}"
file_type="${COMP_WORDS[2]}" file_type="${COMP_WORDS[2]:-}"
opts="disable enable help migrate reload restart profile doctor search show update version" candidates=('disable' 'enable' 'help' 'migrate' 'reload' 'restart' 'profile' 'doctor' 'search' 'show' 'update' 'version')
case "${chose_opt}" in case "${verb}" in
show) show)
local show_args="aliases completions plugins" candidates=('aliases' 'completions' 'plugins')
COMPREPLY=( $(compgen -W "${show_args}" -- "${cur}") ) _compreply_candidates
return 0
;; ;;
help) help)
if [ x"${prev}" == x"aliases" ]; then if [[ "${prev}" == "aliases" ]]; then
_bash-it-comp-list-available aliases candidates=('all' "$(_bash-it-component-list "${file_type}")")
return 0 _compreply_candidates
else else
local help_args="aliases completions migrate plugins update" candidates=('aliases' 'completions' 'migrate' 'plugins' 'update')
COMPREPLY=( $(compgen -W "${help_args}" -- "${cur}") ) _compreply_candidates
return 0
fi fi
;; ;;
profile) profile)
case "${file_type}" in case "${file_type}" in
load) load | rm)
if [[ "load" == "$prev" ]]; then if [[ "${file_type}" == "$prev" ]]; then
_bash-it-comp-list-profiles candidates=("${BASH_IT}/profiles"/*.bash_it)
candidates=("${candidates[@]##*/}")
candidates=("${candidates[@]%%.bash_it}")
_compreply_candidates
fi fi
return 0
;;
rm)
if [[ "rm" == "$prev" ]]; then
_bash-it-comp-list-profiles
fi
return 0
;;
save)
return 0
;;
list)
return 0
;; ;;
save | list) ;;
*) *)
local profile_args="load save list rm" candidates=('load' 'save' 'list' 'rm')
COMPREPLY=( $(compgen -W "${profile_args}" -- ${cur}) ) _compreply_candidates
return 0
;; ;;
esac esac
;; ;;
doctor) doctor)
local doctor_args="errors warnings all" candidates=('errors' 'warnings' 'all')
COMPREPLY=( $(compgen -W "${doctor_args}" -- "${cur}") ) _compreply_candidates
return 0
;; ;;
update) update)
if [[ "${cur}" == -* ]]; then if [[ "${cur}" == -* ]]; then
local update_args="-s --silent" candidates=('-s' '--silent')
else else
local update_args="stable dev" candidates=('stable' 'dev')
fi fi
COMPREPLY=( $(compgen -W "${update_args}" -- "${cur}") ) _compreply_candidates
return 0
;;
migrate | reload | restart | search | version)
return 0
;; ;;
migrate | reload | restart | search | version) ;;
enable | disable) enable | disable)
if [ x"${chose_opt}" == x"enable" ];then if [[ "${verb}" == "enable" ]]; then
suffix="available-not-enabled" suffix="disabled"
else else
suffix="enabled" suffix="enabled"
fi fi
case "${file_type}" in case "${file_type}" in
alias) alias | completion | plugin)
_bash-it-comp-list-"${suffix}" aliases candidates=('all' "$("_bash-it-component-list-${suffix}" "${file_type}")")
return 0 _compreply_candidates
;;
plugin)
_bash-it-comp-list-"${suffix}" plugins
return 0
;;
completion)
_bash-it-comp-list-"${suffix}" completion
return 0
;; ;;
*) *)
_bash-it-comp-enable-disable candidates=('alias' 'completion' 'plugin')
return 0 _compreply_candidates
;; ;;
esac esac
;; ;;
*)
_compreply_candidates
;;
esac esac
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
return 0
} }
# Activate completion for bash-it and its common misspellings # Activate completion for bash-it and its common misspellings
complete -F _bash-it-comp bash-it complete -F _bash-it bash-it
complete -F _bash-it-comp bash-ti complete -F _bash-it bash-ti
complete -F _bash-it-comp shit complete -F _bash-it shit
complete -F _bash-it-comp bashit complete -F _bash-it bashit
complete -F _bash-it-comp batshit complete -F _bash-it batshit
complete -F _bash-it-comp bash_it complete -F _bash-it bash_it

View File

@ -1,14 +1,16 @@
#!/usr/bin/env bats #!/usr/bin/env bats
load ../test_helper load ../test_helper
load ../../lib/utilities
load ../../lib/helpers
load ../../completion/available/bash-it.completion load ../../completion/available/bash-it.completion
function local_setup { function local_setup {
setup_test_fixture setup_test_fixture
} }
@test "completion bash-it: ensure that the _bash-it-comp function is available" { @test "completion bash-it: ensure that the _bash-it function is available" {
type -a _bash-it-comp &> /dev/null type -a _bash-it &> /dev/null
assert_success assert_success
} }
@ -36,7 +38,7 @@ function __check_completion () {
COMP_CWORD=$(( ${#COMP_WORDS[@]} - 1 )) COMP_CWORD=$(( ${#COMP_WORDS[@]} - 1 ))
# Run the Bash-it completion function # Run the Bash-it completion function
_bash-it-comp _bash-it
# Return the completion output # Return the completion output
echo "${COMPREPLY[@]}" echo "${COMPREPLY[@]}"
@ -153,10 +155,10 @@ function __check_completion () {
} }
@test "completion bash-it: disable - provide the a* aliases when atom is enabled with the old location and name" { @test "completion bash-it: disable - provide the a* aliases when atom is enabled with the old location and name" {
ln -s $BASH_IT/aliases/available/atom.aliases.bash $BASH_IT/aliases/enabled/atom.aliases.bash ln -s "$BASH_IT/aliases/available/atom.aliases.bash" "$BASH_IT/aliases/enabled/atom.aliases.bash"
assert_link_exist "$BASH_IT/aliases/enabled/atom.aliases.bash" assert_link_exist "$BASH_IT/aliases/enabled/atom.aliases.bash"
ln -s $BASH_IT/completion/available/apm.completion.bash $BASH_IT/completion/enabled/apm.completion.bash ln -s "$BASH_IT/completion/available/apm.completion.bash" "$BASH_IT/completion/enabled/apm.completion.bash"
assert_link_exist "$BASH_IT/completion/enabled/apm.completion.bash" assert_link_exist "$BASH_IT/completion/enabled/apm.completion.bash"
run __check_completion 'bash-it disable alias a' run __check_completion 'bash-it disable alias a'
@ -164,10 +166,10 @@ function __check_completion () {
} }
@test "completion bash-it: disable - provide the a* aliases when atom is enabled with the old location and priority-based name" { @test "completion bash-it: disable - provide the a* aliases when atom is enabled with the old location and priority-based name" {
ln -s $BASH_IT/aliases/available/atom.aliases.bash $BASH_IT/aliases/enabled/150---atom.aliases.bash ln -s "$BASH_IT/aliases/available/atom.aliases.bash" "$BASH_IT/aliases/enabled/150---atom.aliases.bash"
assert_link_exist "$BASH_IT/aliases/enabled/150---atom.aliases.bash" assert_link_exist "$BASH_IT/aliases/enabled/150---atom.aliases.bash"
ln -s $BASH_IT/completion/available/apm.completion.bash $BASH_IT/completion/enabled/350---apm.completion.bash ln -s "$BASH_IT/completion/available/apm.completion.bash" "$BASH_IT/completion/enabled/350---apm.completion.bash"
assert_link_exist "$BASH_IT/completion/enabled/350---apm.completion.bash" assert_link_exist "$BASH_IT/completion/enabled/350---apm.completion.bash"
run __check_completion 'bash-it disable alias a' run __check_completion 'bash-it disable alias a'
@ -175,10 +177,10 @@ function __check_completion () {
} }
@test "completion bash-it: disable - provide the a* aliases when atom is enabled with the new location and priority-based name" { @test "completion bash-it: disable - provide the a* aliases when atom is enabled with the new location and priority-based name" {
ln -s $BASH_IT/aliases/available/atom.aliases.bash $BASH_IT/enabled/150---atom.aliases.bash ln -s "$BASH_IT/aliases/available/atom.aliases.bash" "$BASH_IT/enabled/150---atom.aliases.bash"
assert_link_exist "$BASH_IT/enabled/150---atom.aliases.bash" assert_link_exist "$BASH_IT/enabled/150---atom.aliases.bash"
ln -s $BASH_IT/completion/available/apm.completion.bash $BASH_IT/enabled/350---apm.completion.bash ln -s "$BASH_IT/completion/available/apm.completion.bash" "$BASH_IT/enabled/350---apm.completion.bash"
assert_link_exist "$BASH_IT/enabled/350---apm.completion.bash" assert_link_exist "$BASH_IT/enabled/350---apm.completion.bash"
run __check_completion 'bash-it disable alias a' run __check_completion 'bash-it disable alias a'
@ -186,10 +188,10 @@ function __check_completion () {
} }
@test "completion bash-it: disable - provide the docker-machine plugin when docker-machine is enabled with the old location and name" { @test "completion bash-it: disable - provide the docker-machine plugin when docker-machine is enabled with the old location and name" {
ln -s $BASH_IT/aliases/available/docker-compose.aliases.bash $BASH_IT/aliases/enabled/docker-compose.aliases.bash ln -s "$BASH_IT/aliases/available/docker-compose.aliases.bash" "$BASH_IT/aliases/enabled/docker-compose.aliases.bash"
assert_link_exist "$BASH_IT/aliases/enabled/docker-compose.aliases.bash" assert_link_exist "$BASH_IT/aliases/enabled/docker-compose.aliases.bash"
ln -s $BASH_IT/plugins/available/docker-machine.plugin.bash $BASH_IT/plugins/enabled/docker-machine.plugin.bash ln -s "$BASH_IT/plugins/available/docker-machine.plugin.bash" "$BASH_IT/plugins/enabled/docker-machine.plugin.bash"
assert_link_exist "$BASH_IT/plugins/enabled/docker-machine.plugin.bash" assert_link_exist "$BASH_IT/plugins/enabled/docker-machine.plugin.bash"
run __check_completion 'bash-it disable plugin docker' run __check_completion 'bash-it disable plugin docker'
@ -197,10 +199,10 @@ function __check_completion () {
} }
@test "completion bash-it: disable - provide the docker-machine plugin when docker-machine is enabled with the old location and priority-based name" { @test "completion bash-it: disable - provide the docker-machine plugin when docker-machine is enabled with the old location and priority-based name" {
ln -s $BASH_IT/aliases/available/docker-compose.aliases.bash $BASH_IT/aliases/enabled/150---docker-compose.aliases.bash ln -s "$BASH_IT/aliases/available/docker-compose.aliases.bash" "$BASH_IT/aliases/enabled/150---docker-compose.aliases.bash"
assert_link_exist "$BASH_IT/aliases/enabled/150---docker-compose.aliases.bash" assert_link_exist "$BASH_IT/aliases/enabled/150---docker-compose.aliases.bash"
ln -s $BASH_IT/plugins/available/docker-machine.plugin.bash $BASH_IT/plugins/enabled/350---docker-machine.plugin.bash ln -s "$BASH_IT/plugins/available/docker-machine.plugin.bash" "$BASH_IT/plugins/enabled/350---docker-machine.plugin.bash"
assert_link_exist "$BASH_IT/plugins/enabled/350---docker-machine.plugin.bash" assert_link_exist "$BASH_IT/plugins/enabled/350---docker-machine.plugin.bash"
run __check_completion 'bash-it disable plugin docker' run __check_completion 'bash-it disable plugin docker'
@ -208,10 +210,10 @@ function __check_completion () {
} }
@test "completion bash-it: disable - provide the docker-machine plugin when docker-machine is enabled with the new location and priority-based name" { @test "completion bash-it: disable - provide the docker-machine plugin when docker-machine is enabled with the new location and priority-based name" {
ln -s $BASH_IT/aliases/available/docker-compose.aliases.bash $BASH_IT/enabled/150---docker-compose.aliases.bash ln -s "$BASH_IT/aliases/available/docker-compose.aliases.bash" "$BASH_IT/enabled/150---docker-compose.aliases.bash"
assert_link_exist "$BASH_IT/enabled/150---docker-compose.aliases.bash" assert_link_exist "$BASH_IT/enabled/150---docker-compose.aliases.bash"
ln -s $BASH_IT/plugins/available/docker-machine.plugin.bash $BASH_IT/enabled/350---docker-machine.plugin.bash ln -s "$BASH_IT/plugins/available/docker-machine.plugin.bash" "$BASH_IT/enabled/350---docker-machine.plugin.bash"
assert_link_exist "$BASH_IT/enabled/350---docker-machine.plugin.bash" assert_link_exist "$BASH_IT/enabled/350---docker-machine.plugin.bash"
run __check_completion 'bash-it disable plugin docker' run __check_completion 'bash-it disable plugin docker'
@ -219,10 +221,10 @@ function __check_completion () {
} }
@test "completion bash-it: disable - provide the todo.txt-cli aliases when todo plugin is enabled with the old location and name" { @test "completion bash-it: disable - provide the todo.txt-cli aliases when todo plugin is enabled with the old location and name" {
ln -s $BASH_IT/aliases/available/todo.txt-cli.aliases.bash $BASH_IT/aliases/enabled/todo.txt-cli.aliases.bash ln -s "$BASH_IT/aliases/available/todo.txt-cli.aliases.bash" "$BASH_IT/aliases/enabled/todo.txt-cli.aliases.bash"
assert_link_exist "$BASH_IT/aliases/enabled/todo.txt-cli.aliases.bash" assert_link_exist "$BASH_IT/aliases/enabled/todo.txt-cli.aliases.bash"
ln -s $BASH_IT/plugins/available/todo.plugin.bash $BASH_IT/plugins/enabled/todo.plugin.bash ln -s "$BASH_IT/plugins/available/todo.plugin.bash" "$BASH_IT/plugins/enabled/todo.plugin.bash"
assert_link_exist "$BASH_IT/plugins/enabled/todo.plugin.bash" assert_link_exist "$BASH_IT/plugins/enabled/todo.plugin.bash"
run __check_completion 'bash-it disable alias to' run __check_completion 'bash-it disable alias to'
@ -230,10 +232,10 @@ function __check_completion () {
} }
@test "completion bash-it: disable - provide the todo.txt-cli aliases when todo plugin is enabled with the old location and priority-based name" { @test "completion bash-it: disable - provide the todo.txt-cli aliases when todo plugin is enabled with the old location and priority-based name" {
ln -s $BASH_IT/aliases/available/todo.txt-cli.aliases.bash $BASH_IT/aliases/enabled/150---todo.txt-cli.aliases.bash ln -s "$BASH_IT/aliases/available/todo.txt-cli.aliases.bash" "$BASH_IT/aliases/enabled/150---todo.txt-cli.aliases.bash"
assert_link_exist "$BASH_IT/aliases/enabled/150---todo.txt-cli.aliases.bash" assert_link_exist "$BASH_IT/aliases/enabled/150---todo.txt-cli.aliases.bash"
ln -s $BASH_IT/plugins/available/todo.plugin.bash $BASH_IT/plugins/enabled/350---todo.plugin.bash ln -s "$BASH_IT/plugins/available/todo.plugin.bash" "$BASH_IT/plugins/enabled/350---todo.plugin.bash"
assert_link_exist "$BASH_IT/plugins/enabled/350---todo.plugin.bash" assert_link_exist "$BASH_IT/plugins/enabled/350---todo.plugin.bash"
run __check_completion 'bash-it disable alias to' run __check_completion 'bash-it disable alias to'
@ -241,10 +243,10 @@ function __check_completion () {
} }
@test "completion bash-it: disable - provide the todo.txt-cli aliases when todo plugin is enabled with the new location and priority-based name" { @test "completion bash-it: disable - provide the todo.txt-cli aliases when todo plugin is enabled with the new location and priority-based name" {
ln -s $BASH_IT/aliases/available/todo.txt-cli.aliases.bash $BASH_IT/enabled/150---todo.txt-cli.aliases.bash ln -s "$BASH_IT/aliases/available/todo.txt-cli.aliases.bash" "$BASH_IT/enabled/150---todo.txt-cli.aliases.bash"
assert_link_exist "$BASH_IT/enabled/150---todo.txt-cli.aliases.bash" assert_link_exist "$BASH_IT/enabled/150---todo.txt-cli.aliases.bash"
ln -s $BASH_IT/plugins/available/todo.plugin.bash $BASH_IT/enabled/350---todo.plugin.bash ln -s "$BASH_IT/plugins/available/todo.plugin.bash" "$BASH_IT/enabled/350---todo.plugin.bash"
assert_link_exist "$BASH_IT/enabled/350---todo.plugin.bash" assert_link_exist "$BASH_IT/enabled/350---todo.plugin.bash"
run __check_completion 'bash-it disable alias to' run __check_completion 'bash-it disable alias to'
@ -262,7 +264,7 @@ function __check_completion () {
} }
@test "completion bash-it: enable - provide the a* aliases when atom is enabled with the old location and name" { @test "completion bash-it: enable - provide the a* aliases when atom is enabled with the old location and name" {
ln -s $BASH_IT/aliases/available/atom.aliases.bash $BASH_IT/aliases/enabled/atom.aliases.bash ln -s "$BASH_IT/aliases/available/atom.aliases.bash" "$BASH_IT/aliases/enabled/atom.aliases.bash"
assert_link_exist "$BASH_IT/aliases/enabled/atom.aliases.bash" assert_link_exist "$BASH_IT/aliases/enabled/atom.aliases.bash"
run __check_completion 'bash-it enable alias a' run __check_completion 'bash-it enable alias a'
@ -270,7 +272,7 @@ function __check_completion () {
} }
@test "completion bash-it: enable - provide the a* aliases when atom is enabled with the old location and priority-based name" { @test "completion bash-it: enable - provide the a* aliases when atom is enabled with the old location and priority-based name" {
ln -s $BASH_IT/aliases/available/atom.aliases.bash $BASH_IT/aliases/enabled/150---atom.aliases.bash ln -s "$BASH_IT/aliases/available/atom.aliases.bash" "$BASH_IT/aliases/enabled/150---atom.aliases.bash"
assert_link_exist "$BASH_IT/aliases/enabled/150---atom.aliases.bash" assert_link_exist "$BASH_IT/aliases/enabled/150---atom.aliases.bash"
run __check_completion 'bash-it enable alias a' run __check_completion 'bash-it enable alias a'
@ -278,55 +280,55 @@ function __check_completion () {
} }
@test "completion bash-it: enable - provide the a* aliases when atom is enabled with the new location and priority-based name" { @test "completion bash-it: enable - provide the a* aliases when atom is enabled with the new location and priority-based name" {
ln -s $BASH_IT/aliases/available/atom.aliases.bash $BASH_IT/enabled/150---atom.aliases.bash ln -s "$BASH_IT/aliases/available/atom.aliases.bash" "$BASH_IT/enabled/150---atom.aliases.bash"
assert_link_exist "$BASH_IT/enabled/150---atom.aliases.bash" assert_link_exist "$BASH_IT/enabled/150---atom.aliases.bash"
run __check_completion 'bash-it enable alias a' run __check_completion 'bash-it enable alias a'
assert_line -n 0 "all ag ansible apt" assert_line -n 0 "all ag ansible apt"
} }
@test "completion bash-it: enable - provide the docker-* plugins when nothing is enabled with the old location and name" { @test "completion bash-it: enable - provide the docker* plugins when docker-compose is enabled with the old location and name" {
ln -s $BASH_IT/aliases/available/docker-compose.aliases.bash $BASH_IT/aliases/enabled/docker-compose.aliases.bash ln -s "$BASH_IT/aliases/available/docker-compose.aliases.bash" "$BASH_IT/aliases/enabled/docker-compose.aliases.bash"
assert_link_exist "$BASH_IT/aliases/enabled/docker-compose.aliases.bash" assert_link_exist "$BASH_IT/aliases/enabled/docker-compose.aliases.bash"
run __check_completion 'bash-it enable plugin docker' run __check_completion 'bash-it enable plugin docker'
assert_line -n 0 "docker-compose docker-machine docker" assert_line -n 0 "docker docker-compose docker-machine"
} }
@test "completion bash-it: enable - provide the docker-* plugins when nothing is enabled with the old location and priority-based name" { @test "completion bash-it: enable - provide the docker-* plugins when docker-compose is enabled with the old location and priority-based name" {
ln -s $BASH_IT/aliases/available/docker-compose.aliases.bash $BASH_IT/aliases/enabled/150---docker-compose.aliases.bash ln -s "$BASH_IT/aliases/available/docker-compose.aliases.bash" "$BASH_IT/aliases/enabled/150---docker-compose.aliases.bash"
assert_link_exist "$BASH_IT/aliases/enabled/150---docker-compose.aliases.bash" assert_link_exist "$BASH_IT/aliases/enabled/150---docker-compose.aliases.bash"
run __check_completion 'bash-it enable plugin docker' run __check_completion 'bash-it enable plugin docker'
assert_line -n 0 "docker-compose docker-machine docker" assert_line -n 0 "docker docker-compose docker-machine"
} }
@test "completion bash-it: enable - provide the docker-* plugins when nothing is enabled with the new location and priority-based name" { @test "completion bash-it: enable - provide the docker-* plugins when docker-compose is enabled with the new location and priority-based name" {
ln -s $BASH_IT/aliases/available/docker-compose.aliases.bash $BASH_IT/enabled/150---docker-compose.aliases.bash ln -s "$BASH_IT/aliases/available/docker-compose.aliases.bash" "$BASH_IT/enabled/150---docker-compose.aliases.bash"
assert_link_exist "$BASH_IT/enabled/150---docker-compose.aliases.bash" assert_link_exist "$BASH_IT/enabled/150---docker-compose.aliases.bash"
run __check_completion 'bash-it enable plugin docker' run __check_completion 'bash-it enable plugin docker'
assert_line -n 0 "docker-compose docker-machine docker" assert_line -n 0 "docker docker-compose docker-machine"
} }
@test "completion bash-it: enable - provide the docker-* completions when nothing is enabled with the old location and name" { @test "completion bash-it: enable - provide the docker* completions when docker-compose is enabled with the old location and name" {
ln -s $BASH_IT/aliases/available/docker-compose.aliases.bash $BASH_IT/aliases/enabled/docker-compose.aliases.bash ln -s "$BASH_IT/aliases/available/docker-compose.aliases.bash" "$BASH_IT/aliases/enabled/docker-compose.aliases.bash"
assert_link_exist "$BASH_IT/aliases/enabled/docker-compose.aliases.bash" assert_link_exist "$BASH_IT/aliases/enabled/docker-compose.aliases.bash"
run __check_completion 'bash-it enable completion docker' run __check_completion 'bash-it enable completion docker'
assert_line -n 0 "docker docker-compose docker-machine" assert_line -n 0 "docker docker-compose docker-machine"
} }
@test "completion bash-it: enable - provide the docker-* completions when nothing is enabled with the old location and priority-based name" { @test "completion bash-it: enable - provide the docker* completions when docker-compose is enabled with the old location and priority-based name" {
ln -s $BASH_IT/aliases/available/docker-compose.aliases.bash $BASH_IT/aliases/enabled/150---docker-compose.aliases.bash ln -s "$BASH_IT/aliases/available/docker-compose.aliases.bash" "$BASH_IT/aliases/enabled/150---docker-compose.aliases.bash"
assert_link_exist "$BASH_IT/aliases/enabled/150---docker-compose.aliases.bash" assert_link_exist "$BASH_IT/aliases/enabled/150---docker-compose.aliases.bash"
run __check_completion 'bash-it enable completion docker' run __check_completion 'bash-it enable completion docker'
assert_line -n 0 "docker docker-compose docker-machine" assert_line -n 0 "docker docker-compose docker-machine"
} }
@test "completion bash-it: enable - provide the docker-* completions when nothing is enabled with the new location and priority-based name" { @test "completion bash-it: enable - provide the docker* completions when docker-compose is enabled with the new location and priority-based name" {
ln -s $BASH_IT/aliases/available/docker-compose.aliases.bash $BASH_IT/enabled/150---docker-compose.aliases.bash ln -s "$BASH_IT/aliases/available/docker-compose.aliases.bash" "$BASH_IT/enabled/150---docker-compose.aliases.bash"
assert_link_exist "$BASH_IT/enabled/150---docker-compose.aliases.bash" assert_link_exist "$BASH_IT/enabled/150---docker-compose.aliases.bash"
run __check_completion 'bash-it enable completion docker' run __check_completion 'bash-it enable completion docker'
@ -334,7 +336,7 @@ function __check_completion () {
} }
@test "completion bash-it: enable - provide the todo.txt-cli aliases when todo plugin is enabled with the old location and name" { @test "completion bash-it: enable - provide the todo.txt-cli aliases when todo plugin is enabled with the old location and name" {
ln -s $BASH_IT/plugins/available/todo.plugin.bash $BASH_IT/plugins/enabled/todo.plugin.bash ln -s "$BASH_IT/plugins/available/todo.plugin.bash" "$BASH_IT/plugins/enabled/todo.plugin.bash"
assert_link_exist "$BASH_IT/plugins/enabled/todo.plugin.bash" assert_link_exist "$BASH_IT/plugins/enabled/todo.plugin.bash"
run __check_completion 'bash-it enable alias to' run __check_completion 'bash-it enable alias to'
@ -342,7 +344,7 @@ function __check_completion () {
} }
@test "completion bash-it: enable - provide the todo.txt-cli aliases when todo plugin is enabled with the old location and priority-based name" { @test "completion bash-it: enable - provide the todo.txt-cli aliases when todo plugin is enabled with the old location and priority-based name" {
ln -s $BASH_IT/plugins/available/todo.plugin.bash $BASH_IT/plugins/enabled/350---todo.plugin.bash ln -s "$BASH_IT/plugins/available/todo.plugin.bash" "$BASH_IT/plugins/enabled/350---todo.plugin.bash"
assert_link_exist "$BASH_IT/plugins/enabled/350---todo.plugin.bash" assert_link_exist "$BASH_IT/plugins/enabled/350---todo.plugin.bash"
run __check_completion 'bash-it enable alias to' run __check_completion 'bash-it enable alias to'
@ -350,7 +352,7 @@ function __check_completion () {
} }
@test "completion bash-it: enable - provide the todo.txt-cli aliases when todo plugin is enabled with the new location and priority-based name" { @test "completion bash-it: enable - provide the todo.txt-cli aliases when todo plugin is enabled with the new location and priority-based name" {
ln -s $BASH_IT/plugins/available/todo.plugin.bash $BASH_IT/enabled/350---todo.plugin.bash ln -s "$BASH_IT/plugins/available/todo.plugin.bash" "$BASH_IT/enabled/350---todo.plugin.bash"
assert_link_exist "$BASH_IT/enabled/350---todo.plugin.bash" assert_link_exist "$BASH_IT/enabled/350---todo.plugin.bash"
run __check_completion 'bash-it enable alias to' run __check_completion 'bash-it enable alias to'