mirror of
				https://github.com/systemd/systemd.git
				synced 2025-10-30 20:24:46 +03:00 
			
		
		
		
	shell-completion: add bash-completion for systemd-vpick command
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
This commit is contained in:
		| @@ -30,6 +30,7 @@ items = [['busctl',              ''], | ||||
|          ['systemd-nspawn',      ''], | ||||
|          ['systemd-path',        ''], | ||||
|          ['systemd-run',         ''], | ||||
|          ['systemd-vpick',       ''], | ||||
|          ['udevadm',             ''], | ||||
|          ['bootctl',             ''], | ||||
|          ['run0',                ''], | ||||
|   | ||||
							
								
								
									
										60
									
								
								shell-completion/bash/systemd-vpick
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								shell-completion/bash/systemd-vpick
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,60 @@ | ||||
| # shellcheck shell=bash | ||||
| # systemd-vpick(1) completion                      -*- shell-script -*- | ||||
| # SPDX-License-Identifier: LGPL-2.1-or-later | ||||
| # | ||||
| # This file is part of systemd. | ||||
| # | ||||
| # systemd is free software; you can redistribute it and/or modify it | ||||
| # under the terms of the GNU Lesser General Public License as published by | ||||
| # the Free Software Foundation; either version 2.1 of the License, or | ||||
| # (at your option) any later version. | ||||
| # | ||||
| # systemd is distributed in the hope that it will be useful, but | ||||
| # WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||||
| # General Public License for more details. | ||||
| # | ||||
| # You should have received a copy of the GNU Lesser General Public License | ||||
| # along with systemd; If not, see <https://www.gnu.org/licenses/>. | ||||
|  | ||||
| __contains_word() { | ||||
|     local w word=$1; shift | ||||
|     for w in "$@"; do | ||||
|         [[ $w = "$word" ]] && return | ||||
|     done | ||||
| } | ||||
|  | ||||
| _systemd-vpick() { | ||||
|     local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]} words cword | ||||
|     local comps | ||||
|  | ||||
|     local -A OPTS=( | ||||
|         [STANDALONE]='--help -h --version' | ||||
|         [ARG]='-B --baseline -V -A -S --suffix --type -p --print --resolve' | ||||
|     ) | ||||
|  | ||||
|     _init_completion || return | ||||
|  | ||||
|     if __contains_word "$prev" ${OPTS[ARG]}; then | ||||
|         case $prev in | ||||
|             -p|--print) | ||||
|                 comps='filename version type arch tries all' | ||||
|                 ;; | ||||
|             --resolve) | ||||
|                 comps='yes no' | ||||
|                 ;; | ||||
|         esac | ||||
|         COMPREPLY=( $(compgen -W '$comps' -- "$cur") ) | ||||
|         return 0 | ||||
|     fi | ||||
|  | ||||
|     if [[ "$cur" = -* ]] || [[ -z ${comps-} ]]; then | ||||
|         COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") ) | ||||
|         return 0 | ||||
|     fi | ||||
|  | ||||
|     COMPREPLY=( $(compgen -W '${comps-}' -- "$cur") ) | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| complete -F _systemd-vpick systemd-vpick | ||||
		Reference in New Issue
	
	Block a user