1# systemd-cat(1) completion -*- shell-script -*- 2# SPDX-License-Identifier: LGPL-2.1-or-later 3# 4# This file is part of systemd. 5# 6# 7# systemd is free software; you can redistribute it and/or modify it 8# under the terms of the GNU Lesser General Public License as published by 9# the Free Software Foundation; either version 2.1 of the License, or 10# (at your option) any later version. 11# 12# systemd is distributed in the hope that it will be useful, but 13# WITHOUT ANY WARRANTY; without even the implied warranty of 14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15# General Public License for more details. 16# 17# You should have received a copy of the GNU Lesser General Public License 18# along with systemd; If not, see <http://www.gnu.org/licenses/>. 19 20__contains_word() { 21 local w word=$1; shift 22 for w in "$@"; do 23 [[ $w = "$word" ]] && return 24 done 25} 26 27_systemd_cat() { 28 local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]} words cword 29 local i verb comps 30 31 local -A OPTS=( 32 [STANDALONE]='-h --help --version' 33 [ARG]='-t --identifier -p --priority --level-prefix' 34 ) 35 36 _init_completion || return 37 38 if __contains_word "$prev" ${OPTS[ARG]}; then 39 case $prev in 40 --identifier|-t) 41 comps='' 42 ;; 43 --priority|-p) 44 comps='emerg alert crit err warning notice info debug' 45 ;; 46 --level-prefix) 47 comps='yes no' 48 ;; 49 esac 50 COMPREPLY=( $(compgen -W '$comps' -- "$cur") ) 51 return 0 52 fi 53 54 COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") ) 55} 56 57complete -F _systemd_cat systemd-cat 58