88 lines
2.4 KiB
Diff
88 lines
2.4 KiB
Diff
From eeb51a72ee10b89b7a13af7f3623cf1ef9a2a7ba Mon Sep 17 00:00:00 2001
|
|
From: Thijs Raymakers <thijs@raymakers.nl>
|
|
Date: Wed, 22 May 2024 16:24:01 +0200
|
|
Subject: coresched: add bash completions
|
|
|
|
Addresses: https://issues.redhat.com/browse/RHEL-34021
|
|
Signed-off-by: Thijs Raymakers <thijs@raymakers.nl>
|
|
Upstream: http://github.com/util-linux/util-linux/commit/f9d28c8e234503d5c6b4a91a2475df94ab599bbd)
|
|
Signed-off-by: Karel Zak <kzak@redhat.com>
|
|
---
|
|
bash-completion/Makemodule.am | 3 +++
|
|
bash-completion/coresched | 51 +++++++++++++++++++++++++++++++++++
|
|
2 files changed, 54 insertions(+)
|
|
|
|
diff --git a/bash-completion/Makemodule.am b/bash-completion/Makemodule.am
|
|
index 034f9434a..f7aa99fcf 100644
|
|
--- a/bash-completion/Makemodule.am
|
|
+++ b/bash-completion/Makemodule.am
|
|
@@ -18,6 +18,9 @@ endif
|
|
if BUILD_COLUMN
|
|
dist_bashcompletion_DATA += bash-completion/column
|
|
endif
|
|
+if BUILD_CORESCHED
|
|
+dist_bashcompletion_DATA += bash-completion/coresched
|
|
+endif
|
|
if BUILD_EXCH
|
|
dist_bashcompletion_DATA += bash-completion/exch
|
|
endif
|
|
diff --git a/bash-completion/coresched b/bash-completion/coresched
|
|
index e69de29bb..3a14c5080 100644
|
|
--- a/bash-completion/coresched
|
|
+++ b/bash-completion/coresched
|
|
@@ -0,0 +1,51 @@
|
|
+_coresched_module()
|
|
+{
|
|
+ compopt -o nosort
|
|
+
|
|
+ COMPREPLY=()
|
|
+
|
|
+ # If the previous argument equals the program name
|
|
+ if [[ "$1" == "$3" ]]; then
|
|
+ COMPREPLY=( $(compgen -W "get new copy --help --version" -- "$2") )
|
|
+ return 0
|
|
+ fi
|
|
+
|
|
+ case $3 in
|
|
+ "-s"|"--source"|"-d"|"--dest")
|
|
+ local pids sorted_pids
|
|
+ pids=$(cd /proc && echo [0-9]*)
|
|
+ sorted_pids=$(echo "${pids[@]}" | tr ' ' '\n' | sort -nr | tr '\n' ' ')
|
|
+ COMPREPLY=( $(compgen -W "$sorted_pids" -- "$2") )
|
|
+ return 0
|
|
+ ;;
|
|
+ "-t"|"--dest-type")
|
|
+ COMPREPLY=( $(compgen -W "pid tgid pgid" -- "$2") )
|
|
+ return 0
|
|
+ ;;
|
|
+ "--")
|
|
+ COMPREPLY=( $(compgen -c "$2") )
|
|
+ return 0
|
|
+ ;;
|
|
+ esac
|
|
+
|
|
+ local function="${COMP_WORDS[1]}"
|
|
+ case $function in
|
|
+ 'get')
|
|
+ COMPREPLY=( $(compgen -W "--source" -- "$2") )
|
|
+ return 0
|
|
+ ;;
|
|
+ 'new')
|
|
+ COMPREPLY=( $(compgen -W "--dest -- --dest-type --verbose" -- "$2") )
|
|
+ return 0
|
|
+ ;;
|
|
+ 'copy')
|
|
+ COMPREPLY=( $(compgen -W "--source --dest -- --dest-type --verbose" -- "$2") )
|
|
+ return 0
|
|
+ ;;
|
|
+ '-h'|'--help'|'-V'|'--version')
|
|
+ return 0
|
|
+ ;;
|
|
+ esac
|
|
+ return 0
|
|
+}
|
|
+complete -F _coresched_module coresched
|
|
--
|
|
2.50.1
|
|
|