summary refs log tree commit diff
path: root/mcolor
diff options
context:
space:
mode:
Diffstat (limited to 'mcolor')
-rwxr-xr-xmcolor4
1 files changed, 3 insertions, 1 deletions
diff --git a/mcolor b/mcolor
index 6ef43e1..ec07e31 100755
--- a/mcolor
+++ b/mcolor
@@ -6,10 +6,12 @@ function fg(c, s) { return sprintf("\033[38;5;%03dm%s\033[0m", c, s) }
 function so(s) { return sprintf("\033[1m%s\033[0m", s) }
 BEGIN { hdr = 1; if (match(ENVIRON["TERM"], "^(dumb|network|9term)")) dumb = 1 }
 dumb { print; next }
+/^\014$/ { nextmail = 1; next }
 /^$/ { hdr = 0 }
 /^-- $/ { ftr = 1 }
 /^--- .* ---/ { print fg(co("SEP",242), $0); ftr = 0; sig = 0; next }
 /^-----BEGIN .* SIGNATURE-----/ { sig = 1 }
+nextmail && /^From:/ { hdr = 1 }
 hdr && /^From:/ { print so(fg(co("FROM",119), $0)); next }
 hdr { print fg(co("HEADER",120), $0); next }
 ftr { print fg(co("FOOTER",244), $0); next }
@@ -17,4 +19,4 @@ ftr { print fg(co("FOOTER",244), $0); next }
 /^-----END .* SIGNATURE-----/ { print fg(co("SIG",244), $0); sig = 0; next }
 sig { print fg(co("SIG",244), $0); next }
 /^>/ { print fg(co("QUOTE",151), $0); next }
-{ print }
+{ nextmail = 0; print }