build bash completion improved.
This commit is contained in:
@@ -22,22 +22,42 @@ target:
|
|||||||
EOF
|
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
|
complete -F build_completion build
|
||||||
build_completion()
|
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
|
# Platforms
|
||||||
local PLATFORMS="native marlin bailey loggan"
|
completion_add_if native marlin bailey loggan
|
||||||
if ! [[ "${COMP_WORDS[*]}" =~ "marlin" ||
|
|
||||||
"${COMP_WORDS[*]}" =~ "bailey" ||
|
|
||||||
"${COMP_WORDS[*]}" =~ "loggan" ||
|
|
||||||
"${COMP_WORDS[*]}" =~ "native" ]]; then
|
|
||||||
CANDIDATES+=" $PLATFORMS"
|
|
||||||
fi
|
|
||||||
|
|
||||||
COMPREPLY=($(compgen -W "$CANDIDATES" "${COMP_WORDS[${COMP_CWORD}]}"))
|
COMPREPLY=($(compgen -W "$CANDIDATES" "${COMP_WORDS[${COMP_CWORD}]}"))
|
||||||
}
|
}
|
||||||
|
|
||||||
build()
|
build()
|
||||||
{
|
{
|
||||||
local BUILD_PLATFORM=marlin
|
local BUILD_PLATFORM=marlin
|
||||||
|
|||||||
Reference in New Issue
Block a user