From d54fcf100e27a8c29d7a6f863b15c72eb10e7fa2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Mon, 3 Oct 2011 23:57:34 +0300 Subject: ionice: New completion. --- completions/util-linux | 55 +++++++++++++++++++++++++++++++++++++++++ test/completion/ionice.exp | 1 + test/lib/completions/ionice.exp | 18 ++++++++++++++ 3 files changed, 74 insertions(+) create mode 100644 test/completion/ionice.exp create mode 100644 test/lib/completions/ionice.exp diff --git a/completions/util-linux b/completions/util-linux index 72b97765..6243a4d9 100644 --- a/completions/util-linux +++ b/completions/util-linux @@ -61,6 +61,61 @@ _look() } && complete -F _look -o default look +have ionice && +_ionice() +{ + local cur prev words cword + _init_completion || return + + local offset=0 i + for (( i=1; i <= cword; i++ )); do + case ${words[i]} in + -h) + return + ;; + -p) + offset=0 + break + ;; + -c|-n) + (( i++ )) + continue + ;; + -*) + continue + ;; + esac + offset=$i + break + done + + if [[ $offset -gt 0 ]]; then + _command_offset $offset + return + fi + + case $prev in + -c) + COMPREPLY=( $( compgen -W '{0..3}' -- "$cur" ) ) + return + ;; + -n) + COMPREPLY=( $( compgen -W '{0..7}' -- "$cur" ) ) + return + ;; + -p) + _pids + return + ;; + esac + + if [[ $cur == -* ]]; then + COMPREPLY=( $( compgen -W '$( _parse_help "$1" -h )' -- "$cur" ) ) + return + fi +} && +complete -F _ionice ionice + # Local variables: # mode: shell-script # sh-basic-offset: 4 diff --git a/test/completion/ionice.exp b/test/completion/ionice.exp new file mode 100644 index 00000000..d569f418 --- /dev/null +++ b/test/completion/ionice.exp @@ -0,0 +1 @@ +assert_source_completions ionice diff --git a/test/lib/completions/ionice.exp b/test/lib/completions/ionice.exp new file mode 100644 index 00000000..d0ff8b64 --- /dev/null +++ b/test/lib/completions/ionice.exp @@ -0,0 +1,18 @@ +proc setup {} { + save_env +} + + +proc teardown {} { + assert_env_unmodified +} + + +setup + + +assert_complete_any "ionice -" +sync_after_int + + +teardown -- cgit v1.2.1