|
|
|
@ -198,32 +198,16 @@ function _array_subtract { |
|
|
|
[[ ${#arr2[@]} == 0 ]] && result=("${arr1[@]}") && return |
|
|
|
|
|
|
|
declare -A exclude |
|
|
|
for item in "${arr2[@]}"; do |
|
|
|
exclude["$item"]=1 |
|
|
|
done |
|
|
|
for item in "${arr2[@]}"; do exclude["$item"]=1; done |
|
|
|
|
|
|
|
result=() |
|
|
|
for item in "${arr1[@]}"; do |
|
|
|
[[ -z ${exclude["$item"]} ]] && result+=("$item") |
|
|
|
done |
|
|
|
for item in "${arr1[@]}"; do [[ -z ${exclude["$item"]} ]] && result+=("$item"); done |
|
|
|
} |
|
|
|
|
|
|
|
function _comp_debug { |
|
|
|
echo -e "\nDEBUG: $@" >&2 |
|
|
|
} |
|
|
|
|
|
|
|
function _miaou_start { |
|
|
|
local cur="${COMP_WORDS[COMP_CWORD]}" |
|
|
|
|
|
|
|
# containers |
|
|
|
local done=() |
|
|
|
local suggestions=($(compgen -W "$(_incus_stopped_container)" -- "$cur")) |
|
|
|
local selected=("${COMP_WORDS[@]:1}") |
|
|
|
selected=("${selected[@]:0:${#selected[@]}-1}") |
|
|
|
_array_subtract suggestions selected done |
|
|
|
COMPREPLY=("${done[@]}") |
|
|
|
} |
|
|
|
|
|
|
|
function _miaou_start { |
|
|
|
local cur="${COMP_WORDS[COMP_CWORD]}" |
|
|
|
|
|
|
|
|