util-linux/0008-coresched-add-bash-completions.patch

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