#!/usr/bin/m4
# made from a preprocessor file
divert(-1)
# #
# M4 CODE #
# #
# define(`forloop',
# `pushdef(`$1', `$2')_forloop(`$1', `$2', `$3', `$4')popdef(`$1')')dnl
# define(`_forloop',
# `$4`'ifelse($1, `$3', ,
# `define(`$1', incr($1))_forloop(`$1', `$2', `$3', `$4')')')dnl
# define(macro1,Now I got `$#' names: $1 `substr($2,0,1)' $3)dnl
# define(mymacro, `ifelse(eval($# > 1), 1, Now I got `$#' names : `forloop(`i', 2,`$#', `shift($2)' )',``# pas assez d"arguments dans la fonction $0($*)''dnl
# )')dnl
# mymacro
# mymacro(Name)
# mymacro(The,Name)
# mymacro(First,Middle,Last)
# mymacro(John,Fitzgerald,Kennedy)
# foreach(x, (item_1, item_2, ..., item_n), stmt)
# define(`foreach', `pushdef(`$1', `')_foreach(`$1', `$2', `$3',$4)popdef(`$1')')
# define(`_foreach',
# `ifelse(`$2', `()',,
# `define(`$1', _arg1$2)$3`'_foreach(`$1', (shift$2), `$3')')')
#define(`_list',
# `ifelse(`$1', `()',,
# `pushdef(`i', _arg1$1)i`'_list( (shift$1))')')
# `define(`$1', _arg1$2)$3`'_list(`$1', (shift$2), `$3')')')
# code real ! :
define(`_arg1', `$1\\|')
define(`_argf', `$1')
define(`_list',
`ifelse(`$1', `()',,
`ifelse((shift$1),`()',
`pushdef(`i', _argf$1)i`'_list((shift$1))',
`pushdef(`i', _arg1$1)i`'_list((shift$1))')')')
define(`list', `color index $1 black "~f.*(_list(`$2')).*"
color index bright$1 black "~N|~O ~f.*(_list(`$2')).*"
')
define(`tsil', `color index black $1 "~h.*(_list(`$2')).*"
')
define(`chaine',[' \-\.+_a-zA-Z0-9])
# #
# / M4 CODE #
# #
# m4 functions syntaxes:
# list(yellow,`(a,b,c,d)')
divert dnl
# colors
color hdrdefault cyan black
color quoted brightgreen black
color quoted1 green black
color quoted2 yellow black
color bold brightyellow black
color signature brightblue black
color attachment brightyellow black
color markers brightred black
color error brightred black
color tilde white black
color tree cyan black
# color status brightgreen blue
color status black magenta
color indicator black cyan
color normal white black
color header brightyellow black ^(Sebz|From):
color header brightyellow black ^(To|Gb):
color header brightcyan black ^(Reply-To|Ercyl-Gb):
color header brightcyan black ^(Date|Qngr):
color header brightcyan black ^(Cc|Pp):
color header brightyellow black ^(Subject|Fhowrpg):
color header brightred black \\[(test|tip|astuce)\\]
color body brightyellow black "_[' \-\.+_a-zA-Z0-9]+_"
color body brightyellow black "[\-\.+_a-zA-Z0-9]*_[' \-\.+_a-zA-Z0-9]+_[\-\.+_a-zA-Z0-9]*"
color body brightyellow black "[\"]chaine+[\"]"
color body brightyellow black "\\*chaine+\\*"
color body brightyellow black "\\$chaine+\\$"
color body brightblue black "\\(chaine+\\)"
color body brightred black "[\-\.+_a-zA-Z0-9=]+@[\-\.a-zA-Z0-9]+"
# color body cyan black ([hH][tT][tT][Pp][sS]|[hH][tT][tT][Pp]|[fF][tT][Pp])://[\[\]\-\.\,/%~_:?\#a-zA-Z0-9=\;&+]+
# color body cyan black [wW][wW][wW]\.[\-\.\,/%~_:?\#a-zA-Z0-9=\;&+]+
color body yellow black "[ ]?[;!]+[-^o]?[]Pp)>}D]+"
color body brightyellow black "[ ]?[-=:]+[-o]?[])>}D]+"
color body brightred black "[ ]?[=:;-]+[-=^o]?[[(<{|/\\]+"
color body brightcyan black "(([wW][wW][wW].)|(([hH][tT][tT][Pp][sS]?)|([fF][tT][Pp][Ss]?)://))([\-\.\,/%~_:XXXXX@\|]+)"
# set smileys="(>From )|(:[-^]?[][)(><}{|/DP])"
# Normal
color index white black ".*"
color index brightwhite black "~N|~O"
# Spam ?
###################
# tsil(red,`(
# Content-Type:\\ text\\/html\\;\\ charset=us-ascii,
# helo)')
# les domaines de potes et domaine interessants.
###################
list(magenta,`(
@nospam\.org,
@nospam\.org,
@nospam.org,
@nospam\.org,
@nospam,
@nospam,
@.*efrei\.fr,
@.*proxad\.net,
@nospam\.fr,
@nospam\.org,
@nospam.co,
@nospam.org,
@nospam.com)')
list(magenta,`(
@nospam.com,
@nospam\.org,
@nospam\.org,
@nospam.com)')
list(green,`(
matthieu.barret@nospam.net,
landry.bonnet@nospam.fr,
(letters(-no-spamm\\|),[Rr]uben)@.*sw3k.net,
solennmazuet@nospam.com,
thomas@nospam.fr.eu.org,
hermitte@nospam.fr,
f1sxo@nospam.org,
ploum@nospam.net,
cedricduval@nospam.fr)')
list(green,`(
jm.oltra@nospam.net,
lionel.ulmer@nospam.fr,
Master.Jim@nospam.fr,
david@nospam.com)')
# petit nefreien mais pas a nefrei ;)
###################
list(cyan,`(
airmax.*\@,
benjamin.*scaillerez,
seyman\@nospam\.com,
gcoeugnet@nospam.auchan.com)')
list(cyan,`(
d_rougier@nospam.fr,
laurent.veron@nospam.com,
abj\@nospam\.fr)')
# Famille
###################
list(yellow,`(
stephane.bouchard2@nospam.fr,
Sylvie.Phung@nospam.lindegas.com,
raphael@nospam.org,
@nospam.org,
michelraph@nospam.fr,
dmichel5@nospam.fr,
dmichel@nospam.fr,
dfmichel@nospam.fr,
dmichel@nospam.fr,
dfmichel@nospam.fr)')
# seconde liste car sinon la regex est trop longue
list(yellow,`(
fr.celine@nospam.fr,
celine.froidevaux@nospam.fr,
Sylvie.Phung@nospam.linde-gas.com,
david.michel@nospam.net)')
# Todo list
color index black magenta "~s.*([tT][oO][dD][oO]).*"
color index black brightmagenta "~O|~N ~s.*([tT][oO][dD][oO]).*"
# flagged messages
color index black magenta "~hX-Status:\\ F"
color index black brightmagenta "~O|~N ~hX-Status:\\ F"