2017-01-03 23:10:45 -06:00

34 lines
1.2 KiB
Plaintext

# a bash_completion for arkmanager with server names
# ARK: survival evolved manager
#
# Original author: AnEmortalKid
_arkmanager()
{
local cur prev opts home_instances etc_instances
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
# retrieve the ones in /etc/arkmanager/instances first
etc_instances=$(for f in `ls -1 /etc/arkmanager/instances/*.cfg`; do if [ -f "${f}" ]; then instancename="${f##*/}"; echo "@${instancename%.cfg}"; fi done)
# check that ${HOME}/.config/arkmanager/instances exists
if [ -d "${HOME}/.config/arkmanager/instances/" ] ; then
# check that it also isn't empty if it exists
if [ "$(ls -A ${HOME}/.config/arkmanager/instances/)" ] ; then
home_instances=$(for f in `ls -1 ${HOME}/.config/arkmanager/instances/*.cfg`; do if [ -f "${f}" ]; then instancename="${f##*/}"; echo "@${instancename%.cfg}"; fi done)
fi
fi
# append both results together for the completion
all_instances="@all ${etc_instances} ${home_instances}"
if [[ ${cur} == @* ]] ; then
COMPREPLY=( $(compgen -W "${all_instances}" -- ${cur}) )
return 0
fi
}
complete -F _arkmanager arkmanager