mirror of
https://github.com/systemd/systemd.git
synced 2026-08-10 17:14:31 +00:00
shell-completion: fix portablectl path completion with preceding params
The completion fails to complete to paths for verbs that need them when
a --param is the previous word, e.g.:
portablectl attach --runtime <tab>
fails to complete to paths
(cherry picked from commit 2abb433ca1)
This commit is contained in:
@@ -91,7 +91,7 @@ _portablectl() {
|
||||
elif __contains_word "$verb" ${VERBS[STANDALONE]}; then
|
||||
comps=''
|
||||
elif __contains_word "$verb" ${VERBS[IMAGE]}; then
|
||||
if [[ $n == 1 ]]; then
|
||||
if [[ $n == 1 ]] || [[ "$prev" = -* ]] || __contains_word "${COMP_WORDS[COMP_CWORD-2]}" ${OPTS[ARG]}; then
|
||||
comps=$( compgen -A file -- "$cur" )
|
||||
compopt -o filenames
|
||||
else
|
||||
@@ -101,10 +101,10 @@ _portablectl() {
|
||||
comps=$( compgen -A file -- "$cur" )
|
||||
compopt -o filenames
|
||||
elif __contains_word "$verb" ${VERBS[IMAGE_WITH_BOOL]}; then
|
||||
if [[ $n == 1 ]]; then
|
||||
if [[ $n == 1 ]] || [[ "$prev" = -* ]] || __contains_word "${COMP_WORDS[COMP_CWORD-2]}" ${OPTS[ARG]}; then
|
||||
comps=$( compgen -A file -- "$cur" )
|
||||
compopt -o filenames
|
||||
elif [[ $n == 2 ]]; then
|
||||
elif ! __contains_word "$prev" "yes" "no" && { [[ $n == 2 ]] || [[ "$prev" != -* ]]; }; then
|
||||
comps='yes no'
|
||||
else
|
||||
comps=''
|
||||
|
||||
Reference in New Issue
Block a user