273 lines
9.3 KiB
Diff
273 lines
9.3 KiB
Diff
---
|
|
shell-completion/bash/coredumpctl | 6 +++++-
|
|
shell-completion/bash/hostnamectl | 6 +++++-
|
|
shell-completion/bash/journalctl | 6 +++++-
|
|
shell-completion/bash/kernel-install | 13 ++++++++++++-
|
|
shell-completion/bash/localectl | 6 +++++-
|
|
shell-completion/bash/loginctl | 6 +++++-
|
|
shell-completion/bash/systemctl.in | 6 +++++-
|
|
shell-completion/bash/systemd-analyze | 6 +++++-
|
|
shell-completion/bash/systemd-run | 14 +++++++++++++-
|
|
shell-completion/bash/timedatectl | 6 +++++-
|
|
shell-completion/bash/udevadm | 6 +++++-
|
|
11 files changed, 70 insertions(+), 11 deletions(-)
|
|
|
|
Index: systemd-221/shell-completion/bash/coredumpctl
|
|
===================================================================
|
|
--- systemd-221.orig/shell-completion/bash/coredumpctl
|
|
+++ systemd-221/shell-completion/bash/coredumpctl
|
|
@@ -44,6 +44,10 @@ _coredumpctl() {
|
|
[DUMP]='dump gdb'
|
|
)
|
|
|
|
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
|
|
+ return 0
|
|
+ fi
|
|
+
|
|
if __contains_word "$prev" '--output -o'; then
|
|
comps=$( compgen -A file -- "$cur" )
|
|
compopt -o filenames
|
|
@@ -82,4 +86,4 @@ _coredumpctl() {
|
|
return 0
|
|
}
|
|
|
|
-complete -F _coredumpctl coredumpctl
|
|
+complete -o default -o bashdefault -F _coredumpctl coredumpctl
|
|
Index: systemd-221/shell-completion/bash/hostnamectl
|
|
===================================================================
|
|
--- systemd-221.orig/shell-completion/bash/hostnamectl
|
|
+++ systemd-221/shell-completion/bash/hostnamectl
|
|
@@ -30,6 +30,10 @@ _hostnamectl() {
|
|
local OPTS='-h --help --version --transient --static --pretty
|
|
--no-ask-password -H --host --machine'
|
|
|
|
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
|
|
+ return 0
|
|
+ fi
|
|
+
|
|
if [[ $cur = -* ]]; then
|
|
COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") )
|
|
return 0
|
|
@@ -61,4 +65,4 @@ _hostnamectl() {
|
|
return 0
|
|
}
|
|
|
|
-complete -F _hostnamectl hostnamectl
|
|
+complete -o default -o bashdefault -F _hostnamectl hostnamectl
|
|
Index: systemd-221/shell-completion/bash/journalctl
|
|
===================================================================
|
|
--- systemd-221.orig/shell-completion/bash/journalctl
|
|
+++ systemd-221/shell-completion/bash/journalctl
|
|
@@ -55,6 +55,10 @@ _journalctl() {
|
|
--root --machine'
|
|
)
|
|
|
|
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
|
|
+ return 0
|
|
+ fi
|
|
+
|
|
if __contains_word "$prev" ${OPTS[ARG]} ${OPTS[ARGUNKNOWN]}; then
|
|
case $prev in
|
|
--boot|--this-boot|-b)
|
|
@@ -120,4 +124,4 @@ _journalctl() {
|
|
fi
|
|
}
|
|
|
|
-complete -F _journalctl journalctl
|
|
+complete -o default -o bashdefault -F _journalctl journalctl
|
|
Index: systemd-221/shell-completion/bash/kernel-install
|
|
===================================================================
|
|
--- systemd-221.orig/shell-completion/bash/kernel-install
|
|
+++ systemd-221/shell-completion/bash/kernel-install
|
|
@@ -18,11 +18,22 @@
|
|
# You should have received a copy of the GNU Lesser General Public License
|
|
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
+__contains_word () {
|
|
+ local w word=$1; shift
|
|
+ for w in "$@"; do
|
|
+ [[ $w = "$word" ]] && return
|
|
+ done
|
|
+}
|
|
+
|
|
_kernel_install() {
|
|
local comps
|
|
local MACHINE_ID
|
|
local cur=${COMP_WORDS[COMP_CWORD]}
|
|
|
|
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
|
|
+ return 0
|
|
+ fi
|
|
+
|
|
case $COMP_CWORD in
|
|
1)
|
|
comps="add remove"
|
|
@@ -47,4 +58,4 @@ _kernel_install() {
|
|
return 0
|
|
}
|
|
|
|
-complete -F _kernel_install kernel-install
|
|
+complete -o default -o bashdefault -F _kernel_install kernel-install
|
|
Index: systemd-221/shell-completion/bash/localectl
|
|
===================================================================
|
|
--- systemd-221.orig/shell-completion/bash/localectl
|
|
+++ systemd-221/shell-completion/bash/localectl
|
|
@@ -36,6 +36,10 @@ _localectl() {
|
|
local OPTS='-h --help --version --no-convert --no-pager --no-ask-password
|
|
-H --host --machine'
|
|
|
|
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
|
|
+ return 0
|
|
+ fi
|
|
+
|
|
if __contains_word "$prev" $OPTS; then
|
|
case $prev in
|
|
--host|-H)
|
|
@@ -89,4 +93,4 @@ _localectl() {
|
|
return 0
|
|
}
|
|
|
|
-complete -F _localectl localectl
|
|
+complete -o default -o bashdefault -F _localectl localectl
|
|
Index: systemd-221/shell-completion/bash/loginctl
|
|
===================================================================
|
|
--- systemd-221.orig/shell-completion/bash/loginctl
|
|
+++ systemd-221/shell-completion/bash/loginctl
|
|
@@ -38,6 +38,10 @@ _loginctl () {
|
|
[ARG]='--host -H --kill-who --property -p --signal -s --machine'
|
|
)
|
|
|
|
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
|
|
+ return 0
|
|
+ fi
|
|
+
|
|
if __contains_word "$prev" ${OPTS[ARG]}; then
|
|
case $prev in
|
|
--signal|-s)
|
|
@@ -107,4 +111,4 @@ _loginctl () {
|
|
return 0
|
|
}
|
|
|
|
-complete -F _loginctl loginctl
|
|
+complete -o default -o bashdefault -F _loginctl loginctl
|
|
Index: systemd-221/shell-completion/bash/systemctl.in
|
|
===================================================================
|
|
--- systemd-221.orig/shell-completion/bash/systemctl.in
|
|
+++ systemd-221/shell-completion/bash/systemctl.in
|
|
@@ -96,6 +96,10 @@ _systemctl () {
|
|
[ARG]='--host -H --kill-who --property -p --signal -s --type -t --state --job-mode --root'
|
|
)
|
|
|
|
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
|
|
+ return 0
|
|
+ fi
|
|
+
|
|
if __contains_word "--user" ${COMP_WORDS[*]}; then
|
|
mode=--user
|
|
else
|
|
@@ -268,4 +272,4 @@ _systemctl () {
|
|
return 0
|
|
}
|
|
|
|
-complete -F _systemctl systemctl
|
|
+complete -o default -o bashdefault -F _systemctl systemctl
|
|
Index: systemd-221/shell-completion/bash/systemd-analyze
|
|
===================================================================
|
|
--- systemd-221.orig/shell-completion/bash/systemd-analyze
|
|
+++ systemd-221/shell-completion/bash/systemd-analyze
|
|
@@ -47,6 +47,10 @@ _systemd_analyze() {
|
|
[VERIFY]='verify'
|
|
)
|
|
|
|
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
|
|
+ return 0
|
|
+ fi
|
|
+
|
|
_init_completion || return
|
|
|
|
for ((i=0; i < COMP_CWORD; i++)); do
|
|
@@ -114,4 +118,4 @@ _systemd_analyze() {
|
|
return 0
|
|
}
|
|
|
|
-complete -F _systemd_analyze systemd-analyze
|
|
+complete -o default -o bashdefault -F _systemd_analyze systemd-analyze
|
|
Index: systemd-221/shell-completion/bash/systemd-run
|
|
===================================================================
|
|
--- systemd-221.orig/shell-completion/bash/systemd-run
|
|
+++ systemd-221/shell-completion/bash/systemd-run
|
|
@@ -17,6 +17,13 @@
|
|
# You should have received a copy of the GNU Lesser General Public License
|
|
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
+__contains_word () {
|
|
+ local w word=$1; shift
|
|
+ for w in "$@"; do
|
|
+ [[ $w = "$word" ]] && return
|
|
+ done
|
|
+}
|
|
+
|
|
__systemctl() {
|
|
local mode=$1; shift 1
|
|
systemctl $mode --full --no-legend "$@"
|
|
@@ -38,6 +45,11 @@ _systemd_run() {
|
|
|
|
local mode=--system
|
|
local i
|
|
+
|
|
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
|
|
+ return 0
|
|
+ fi
|
|
+
|
|
for (( i=1; i <= COMP_CWORD; i++ )); do
|
|
if [[ ${COMP_WORDS[i]} != -* ]]; then
|
|
local root_command=${COMP_WORDS[i]}
|
|
@@ -98,4 +110,4 @@ _systemd_run() {
|
|
return 0
|
|
}
|
|
|
|
-complete -F _systemd_run systemd-run
|
|
+complete -o default -o bashdefault -F _systemd_run systemd-run
|
|
Index: systemd-221/shell-completion/bash/timedatectl
|
|
===================================================================
|
|
--- systemd-221.orig/shell-completion/bash/timedatectl
|
|
+++ systemd-221/shell-completion/bash/timedatectl
|
|
@@ -30,6 +30,10 @@ _timedatectl() {
|
|
local OPTS='-h --help --version --adjust-system-clock --no-pager
|
|
--no-ask-password -H --host --machine'
|
|
|
|
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
|
|
+ return 0
|
|
+ fi
|
|
+
|
|
if __contains_word "$prev" $OPTS; then
|
|
case $prev in
|
|
--host|-H)
|
|
@@ -73,4 +77,4 @@ _timedatectl() {
|
|
return 0
|
|
}
|
|
|
|
-complete -F _timedatectl timedatectl
|
|
+complete -o default -o bashdefault -F _timedatectl timedatectl
|
|
Index: systemd-221/shell-completion/bash/udevadm
|
|
===================================================================
|
|
--- systemd-221.orig/shell-completion/bash/udevadm
|
|
+++ systemd-221/shell-completion/bash/udevadm
|
|
@@ -36,6 +36,10 @@ _udevadm() {
|
|
|
|
local verbs=(info trigger settle control monitor hwdb test-builtin test)
|
|
|
|
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
|
|
+ return 0
|
|
+ fi
|
|
+
|
|
for ((i=0; i < COMP_CWORD; i++)); do
|
|
if __contains_word "${COMP_WORDS[i]}" "${verbs[@]}" &&
|
|
! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then
|
|
@@ -94,4 +98,4 @@ _udevadm() {
|
|
return 0
|
|
}
|
|
|
|
-complete -F _udevadm udevadm
|
|
+complete -o default -o bashdefault -F _udevadm udevadm
|