]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
bash-completion: add blkpr
authorKarel Zak <kzak@redhat.com>
Thu, 2 Oct 2025 12:17:42 +0000 (14:17 +0200)
committerKarel Zak <kzak@redhat.com>
Fri, 3 Oct 2025 11:25:18 +0000 (13:25 +0200)
Signed-off-by: Karel Zak <kzak@redhat.com>
bash-completion/Makemodule.am
bash-completion/blkpr [new file with mode: 0644]
meson.build

index 9812052f08ef898c91f3b03bc661fd4994fd309e..fe92addb13d013baa17696046d42704e998a41c7 100644 (file)
@@ -297,6 +297,9 @@ endif
 if BUILD_BLKDISCARD
 dist_bashcompletion_DATA += bash-completion/blkdiscard
 endif
+if BUILD_BLKPR
+dist_bashcompletion_DATA += bash-completion/blkpr
+endif
 if BUILD_BLKZONE
 dist_bashcompletion_DATA += bash-completion/blkzone
 endif
diff --git a/bash-completion/blkpr b/bash-completion/blkpr
new file mode 100644 (file)
index 0000000..f2cf838
--- /dev/null
@@ -0,0 +1,47 @@
+_blkpr_module()
+{
+       local cur prev OPTS
+       COMPREPLY=()
+       cur="${COMP_WORDS[COMP_CWORD]}"
+       prev="${COMP_WORDS[COMP_CWORD-1]}"
+       case $prev in
+               '-c'|'--command')
+                       COMPREPLY=( $(compgen -W "register reserve release preempt preempt-abort clear" -- $cur) )
+                       return 0
+                       ;;
+               '-t'|'--type')
+                       COMPREPLY=( $(compgen -W "write-exclusive exclusive-access write-exclusive-reg-only exclusive-access-reg-only write-exclusive-all-regs exclusive-access-all-regs" -- $cur) )
+                       return 0
+                       ;;
+               '-f'|'--flag')
+                       COMPREPLY=( $(compgen -W "ignore-key" -- $cur) )
+                       return 0
+                       ;;
+               '-k'|'--key'|'-K'|'--oldkey')
+                       COMPREPLY=( $(compgen -W "num" -- $cur) )
+                       return 0
+                       ;;
+               '-h'|'--help'|'-V'|'--version')
+                       return 0
+                       ;;
+       esac
+       case $cur in
+               -*)
+                       OPTS="
+                               --command
+                               --key
+                               --oldkey
+                               --flag
+                               --type
+                               --help
+                               --version
+                       "
+                       COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
+                       return 0
+                       ;;
+       esac
+       compopt -o bashdefault -o default
+       COMPREPLY=( $(compgen -W "$(command lsblk -pnro name)" -- $cur) )
+       return 0
+}
+complete -F _blkpr_module blkpr
index cdaca47eefdac17c50d6306f031d8e7a3d7e07f1..4c36e7f91a59fc844e3bc306ef9c8dbc7fa5b1b9 100644 (file)
@@ -1754,6 +1754,7 @@ exe = executable(
 if opt and not is_disabler(exe)
   exes += exe
   manadocs += blkpr_manadocs
+  bashcompletions += ['blkpr']
 endif
 
 opt = get_option('build-ldattach').require(cc.has_header('linux/if.h')).allowed()