bash-completion: fix completion of complete verbs

When doing 'command verb<TAB>', the arguments for verb would be
proposed, but it is too early. We should complete verb first.

https://bugs.freedesktop.org/show_bug.cgi?id=74596
(cherry picked from commit 3ce09b7da2)

Conflicts:
	shell-completion/bash/busctl
	shell-completion/bash/loginctl
	shell-completion/bash/systemctl
	shell-completion/bash/systemd-analyze
This commit is contained in:
Zbigniew Jędrzejewski-Szmek
2014-02-23 12:42:02 +00:00
committed by Colin Guthrie
parent 9693c7f0bf
commit 1bb3ed6816
7 changed files with 7 additions and 7 deletions
+1 -1
View File
@@ -41,7 +41,7 @@ _hostnamectl() {
[NAME]='set-hostname'
)
for ((i=0; i <= COMP_CWORD; i++)); do
for ((i=0; i < COMP_CWORD; i++)); do
if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]}; then
verb=${COMP_WORDS[i]}
break
+1 -1
View File
@@ -52,7 +52,7 @@ _localectl() {
[X11]='set-x11-keymap'
)
for ((i=0; i <= COMP_CWORD; i++)); do
for ((i=0; i < COMP_CWORD; i++)); do
if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]}; then
verb=${COMP_WORDS[i]}
break
+1 -1
View File
@@ -70,7 +70,7 @@ _loginctl () {
[ATTACH]='attach'
)
for ((i=0; $i <= $COMP_CWORD; i++)); do
for ((i=0; i < COMP_CWORD; i++)); do
if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]} &&
! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then
verb=${COMP_WORDS[i]}
+1 -1
View File
@@ -146,7 +146,7 @@ _systemctl () {
[TARGETS]='set-default'
)
for ((i=0; $i <= $COMP_CWORD; i++)); do
for ((i=0; i < COMP_CWORD; i++)); do
if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]} &&
! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then
verb=${COMP_WORDS[i]}
+1 -1
View File
@@ -39,7 +39,7 @@ _systemd_analyze() {
_init_completion || return
for ((i=0; $i <= $COMP_CWORD; i++)); do
for ((i=0; i < COMP_CWORD; i++)); do
if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]} &&
! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then
verb=${COMP_WORDS[i]}
+1 -1
View File
@@ -52,7 +52,7 @@ _timedatectl() {
[TIME]='set-time'
)
for ((i=0; i <= COMP_CWORD; i++)); do
for ((i=0; i < COMP_CWORD; i++)); do
if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]}; then
verb=${COMP_WORDS[i]}
break
+1 -1
View File
@@ -36,7 +36,7 @@ _udevadm() {
local verbs=(info trigger settle control monitor hwdb test-builtin test)
for ((i=0; i <= COMP_CWORD; i++)); do
for ((i=0; i < COMP_CWORD; i++)); do
if __contains_word "${COMP_WORDS[i]}" "${verbs[@]}" &&
! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then
verb=${COMP_WORDS[i]}