build bash completion improved.
This commit is contained in:
@@ -22,22 +22,42 @@ target:
|
||||
EOF
|
||||
}
|
||||
|
||||
completion_contains()
|
||||
{
|
||||
# Platforms
|
||||
for WORD in "$@"; do
|
||||
if [[ "${COMP_WORDS[*]}" =~ "$WORD" ]]; then
|
||||
return 1
|
||||
fi
|
||||
done
|
||||
return 0
|
||||
}
|
||||
|
||||
completion_add_if()
|
||||
{
|
||||
completion_contains "$@"
|
||||
if [[ $? == 0 ]]; then
|
||||
CANDIDATES+=" $@"
|
||||
fi
|
||||
}
|
||||
|
||||
complete -F build_completion build
|
||||
build_completion()
|
||||
{
|
||||
local CANDIDATES="help clobber tests addon-checksums icecc docker make"
|
||||
local CANDIDATES="help clobber tests addon-checksums"
|
||||
|
||||
# Docker
|
||||
completion_add_if docker make
|
||||
|
||||
# Build hosts
|
||||
completion_add_if icecc local
|
||||
|
||||
# Platforms
|
||||
local PLATFORMS="native marlin bailey loggan"
|
||||
if ! [[ "${COMP_WORDS[*]}" =~ "marlin" ||
|
||||
"${COMP_WORDS[*]}" =~ "bailey" ||
|
||||
"${COMP_WORDS[*]}" =~ "loggan" ||
|
||||
"${COMP_WORDS[*]}" =~ "native" ]]; then
|
||||
CANDIDATES+=" $PLATFORMS"
|
||||
fi
|
||||
completion_add_if native marlin bailey loggan
|
||||
|
||||
COMPREPLY=($(compgen -W "$CANDIDATES" "${COMP_WORDS[${COMP_CWORD}]}"))
|
||||
}
|
||||
|
||||
build()
|
||||
{
|
||||
local BUILD_PLATFORM=marlin
|
||||
|
||||
Reference in New Issue
Block a user