chiark / gitweb /
zsh-completion: journalctl query by binary and device
authorDaniel Wallace <danielwallace@gtmanfred.com>
Tue, 5 Mar 2013 19:32:09 +0000 (14:32 -0500)
committerLennart Poettering <lennart@poettering.net>
Tue, 5 Mar 2013 20:04:15 +0000 (21:04 +0100)
implement 1883552c3d8 from bash completion in zsh-completion

shell-completion/systemd-zsh-completion.zsh

index 46e29b2..77b26f6 100644 (file)
@@ -94,6 +94,7 @@ _ctls()
                 '--verify[Verify journal file consistency]' \
                 '--list-catalog[List messages in catalog]' \
                 '--update-catalog[Update binary catalog database]' \
+                '*::default: _journal_none'
         ;;
         localectl)
             _arguments \
@@ -608,6 +609,7 @@ _list_fields() {
                     _{P,U,G}ID _COMM _EXE _CMDLINE
                     _AUDIT_{SESSION,LOGINUID}
                     _SYSTEMD_{CGROUP,SESSION,UNIT,OWNER_UID}
+                    _SYSTEMD_USER_UNIT
                     _SELINUX_CONTEXT _SOURCE_REALTIME_TIMESTAMP
                     _{BOOT,MACHINE}_ID _HOSTNAME _TRANSPORT
                     _KERNEL_{DEVICE,SUBSYSTEM}
@@ -616,6 +618,15 @@ _list_fields() {
     _describe 'possible fields' journal_fields
 }
 
+_journal_none() {
+    local -a _commands _files
+    _commands=( ${(f)"$(_call_program commands "$service" -F _EXE 2>/dev/null)"} )
+    _alternative : \
+        'files:/dev files:_files -W /dev -P /dev/' \
+        "commands:commands:($_commands[@])" \
+        'fields:fields:_list_fields'
+}
+
 _journal_fields() {
     local -a _fields cmd
     cmd=("journalctl" "-F ${@[-1]}" "2>/dev/null" )