chiark / gitweb /
shell-completion(zsh): journalctl's -b changes
authorEric Cook <llua@gmx.com>
Sat, 27 Sep 2014 12:48:09 +0000 (08:48 -0400)
committerDaniel Mack <daniel@zonque.org>
Sat, 27 Sep 2014 17:57:04 +0000 (19:57 +0200)
removed pointless index sort of bootids.
use `compadd -a' to add each array, instead of expanding possibly hundreds of words needlessly.
optional completion of -b

shell-completion/zsh/_journalctl

index 0d16a26..a469bbc 100644 (file)
@@ -41,11 +41,11 @@ _journal_fields() {
 
 _journal_boots() {
   local -a _bootid _previousboots
-  _bootid=( ${(fao)"$(_call_program bootid "$service -F _BOOT_ID")"}  )
+  _bootid=( ${(f)"$(_call_program bootid "$service -F _BOOT_ID")"}  )
   _previousboots=( -{1..${#_bootid}} )
   _alternative : \
-    "offsets:boot offsets:(${_previousboots[1,-2]})" \
-    "bootid:boot ids:(${_bootid[@]})"
+    "offsets:boot offsets:compadd -a '_previousboots[1,-2]'" \
+    "bootid:boot ids:compadd -a _bootid"
 }
 
 _arguments -s \
@@ -63,7 +63,7 @@ _arguments -s \
     {-x,--catalog}'[Show explanatory texts with each log line]' \
     {-q,--quiet}"[Don't show privilege warning]" \
     {-m,--merge}'[Show entries from all available journals]' \
-    {-b+,--boot=}'[Show data only from the specified boot or offset]:boot id or offset:_journal_boots' \
+    {-b+,--boot=}'[Show data only from the specified boot or offset]::boot id or offset:_journal_boots' \
     '--list-boots[List boots ordered by time]' \
     {-k,--dmesg}'[Show only kernel messages from the current boot]' \
     {-u+,--unit=}'[Show data only from the specified unit]:units:_journal_fields _SYSTEMD_UNIT' \