aboutsummaryrefslogtreecommitdiffstats
path: root/bash-completion
diff options
context:
space:
mode:
authorThomas Weißschuh <thomas@t-8ch.de>2023-06-25 16:44:10 +0200
committerThomas Weißschuh <thomas@t-8ch.de>2023-06-30 14:12:48 +0200
commite9ddea79127ebe697dce7cdbc3f042c216b4449a (patch)
tree9d1fc1b2323aa682f7285b1078c9c353ce154780 /bash-completion
parentb9abaae31272d984d16a28edb0bcd42e2fd81f5d (diff)
downloadutil-linux-e9ddea79127ebe697dce7cdbc3f042c216b4449a.tar.gz
lsclocks: new util to interact with system clocks
Usecases: * Compare current monotonic time to timestamps reported by systemd * Validate time namespace operations * Inspect clock resolutions Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Diffstat (limited to 'bash-completion')
-rw-r--r--bash-completion/Makemodule.am3
-rw-r--r--bash-completion/lsclocks48
2 files changed, 51 insertions, 0 deletions
diff --git a/bash-completion/Makemodule.am b/bash-completion/Makemodule.am
index ac8926f2d0..2763895e89 100644
--- a/bash-completion/Makemodule.am
+++ b/bash-completion/Makemodule.am
@@ -347,5 +347,8 @@ endif
if BUILD_ENOSYS
dist_bashcompletion_DATA += bash-completion/enosys
endif
+if BUILD_LSCLOCKS
+dist_bashcompletion_DATA += bash-completion/lsclocks
+endif
endif # BUILD_BASH_COMPLETION
diff --git a/bash-completion/lsclocks b/bash-completion/lsclocks
new file mode 100644
index 0000000000..bd81d88bc2
--- /dev/null
+++ b/bash-completion/lsclocks
@@ -0,0 +1,48 @@
+_lsclocks_module()
+{
+ local cur prev OPTS
+ COMPREPLY=()
+ cur="${COMP_WORDS[COMP_CWORD]}"
+ prev="${COMP_WORDS[COMP_CWORD-1]}"
+
+ case $prev in
+ '-J'|'--json')
+ return 0
+ ;;
+ '-n'|'--noheadings')
+ return 0
+ ;;
+ '-o'|'--output')
+ return 0
+ ;;
+ '-r'|'--raw')
+ return 0
+ ;;
+ '-t'|'--time')
+ clocks="$(command "$1" --noheadings --raw --output NAME)"
+ COMPREPLY=( $(compgen -W "$clocks" -- "$cur") )
+ return 0
+ ;;
+ '-h'|'--help'|'-V'|'--version')
+ return 0
+ ;;
+ esac
+ case $cur in
+ -*)
+ OPTS="--json
+ --noheadings
+ --output
+ --raw
+ --time
+ --help
+ --version"
+ COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
+ return 0
+ ;;
+ *)
+ return 0
+ ;;
+ esac
+ return 0
+}
+complete -F _lsclocks_module lsclocks