chiark / gitweb /
zsh_completion: Correctly display journal fields
authorWilliam Giokas <1007380@gmail.com>
Wed, 14 Aug 2013 18:29:58 +0000 (13:29 -0500)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 15 Aug 2013 02:23:08 +0000 (22:23 -0400)
Show equals and field values when used with _journal_none, don't show
anything if we're not using _journal_none.

shell-completion/zsh/_journalctl

index 61983d5b6d2b374be89bbb1621be0ddb861b7e2e..212bfdbc2a8426c61dce48ca20ddc776649e2254 100644 (file)
@@ -19,13 +19,18 @@ _list_fields() {
                     _KERNEL_{DEVICE,SUBSYSTEM}
                     _UDEV_{SYSNAME,DEVNODE,DEVLINK}
                     __CURSOR __{REALTIME,MONOTONIC}_TIMESTAMP)
-    _describe 'possible fields' journal_fields
+    case $_jrnl_none in
+        yes) _values -s '=' 'possible fields' \
+                "${journal_fields[@]}:value:_journal_fields ${words[CURRENT]%%=*}" ;;
+        *)  _describe 'possible fields' journal_fields ;;
+    esac
 }
 
 _journal_none() {
-    local -a _commands _files
+    local -a _commands _files _jrnl_none
     # Setting use-cache will slow this down considerably
     _commands=( ${"$(_call_program commands "$service" -F _EXE 2>/dev/null)"} )
+    _jrnl_none='yes'
     _alternative : \
         'files:/dev files:_files -W /dev -P /dev/' \
         "commands:commands:($_commands[@])" \