aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/zsh-completion
blob: c5e653f42fefb1e63fdf5eaac49de80754fd832b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Set up command completion for zsh
#
fetchmailauthtypes=(password kerberos kerberos_v5)
fetchmailprotocols=(auto pop2 pop3 apop rpop kpop sdps imap imap-k4 imap-gss etrn)
function fetchmailformattedinterfaces ()
{ reply=(`ifconfig|perl -e '$/="";while(<>){s/[\r\n]//g;if(/^(\w+\d*).*inet addr:([\d\.]+)/){print "$1/$2\n";}}'`) }
function fetchmailcompctl ()
{ reply=(`awk '{ print $2 }' < ~/.fetchmailrc` `fetchmail --help 2>&1| cut -c 7-19 | sed "s/,//g"`) }
compctl -K fetchmailcompctl \
	-x "C[-1,-L|--logfile]" -f \
	-  "C[-1,-f|--fetchmailrc]" -f \
	-  "C[-1,-i|--idfile]" -f \
	-  "C[-1,-I|--interface]" -K fetchmailformattedinterfaces \
	-  "C[-1,-M|--monitor]" -K fetchmailformattedinterfaces \
	-  "C[-1,-p|--protocol]" -k fetchmailprotocols \
	-  "C[-1,-A|--auth]" -k fetchmailauthtypes \
	-  "c[-1,--plugin]" -m \
	-  "c[-1,--plugout]" -m \
	-- fetchmail
.il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
#------------------------------------------------------------------------------
#
#               GotMail - Statistics Printing Script for GetMail
#
#             1999 by Thomas Nesges <ThomaNesges@TNT-Computer.de>
#
#------------------------------------------------------------------------------

#------------------------------------------------------------------------------
# GotMail reads a GetMail logfile (/var/log/fetchmail.log) and prints
# statistics from all sessions logged in it, either as normal text on the
# Console, or as an html-file. The parsing is done with the awk-scripts
# gotmail.awk and gotmail.html.awk.
# You can configure its output with a file gotmail.conf either in your home,
# /etc, or in /usr/local/gotmail.
#
# GetMail has to be properly installed. For HTML output the htmllib has to be
# installed in /usr/local/htmllib.
#
# If you have any changes/corrections in the script, please send me email.
#------------------------------------------------------------------------------


#!/bin/sh

# Gotmail
# 1999 by Thomas Nesges <ThomasNesges@TNT-Computer.de>

# read the configuration
# the configuration can either be
#  ~/.gotmail.conf
#  /etc/gotmail.conf
#  /usr/local/gotmail/gotmail.conf
if { test -e ~/.gotmail.conf; };
    then { source ~/.gotmail.conf; };
    else { if { test -e /etc/gotmail.conf; }; 
          then { source /etc/gotmail.conf; };
          else { if { test -e /usr/local/gotmail/gotmail.conf; };
          then { source /usr/local/gotmail/gotmail.conf; };
                 else { echo 'Error: gotmail.conf could not be read';
			echo 'gotmail exits now..';
			exit; };
                 fi; };
          fi; };
fi;


# grep the fetchmail.log for relevant messages and save them in
# gotmails tempfile
cat /var/log/fetchmail.log | grep 'message' >> /tmp/gotmail.log.tmp
cat /var/log/fetchmail.log | grep 'Authorization' >> /tmp/gotmail.log.tmp
cat /var/log/fetchmail.log | grep 'fetchmail st' >> /tmp/gotmail.log.tmp


# parse the gotmail tempfile and prints a statistiks-screen
case "$1" in
  html)
    awk -f /usr/local/htmllib/htmllib.awk -f /usr/local/gotmail/gotmail.html.awk /tmp/gotmail.log.tmp > /dev/null
    ;;
  -v)
    echo 'gotmail version: 0.0.1'
    ;;
  *)
    awk -f /usr/local/gotmail/gotmail.awk /tmp/gotmail.log.tmp
    ;;
esac

# remove the gotmail tempfile
rm /tmp/gotmail.log.tmp