summaryrefslogtreecommitdiff
path: root/autoload/filetype/mail.kak
diff options
context:
space:
mode:
Diffstat (limited to 'autoload/filetype/mail.kak')
-rw-r--r--autoload/filetype/mail.kak30
1 files changed, 30 insertions, 0 deletions
diff --git a/autoload/filetype/mail.kak b/autoload/filetype/mail.kak
new file mode 100644
index 0000000..b6ef616
--- /dev/null
+++ b/autoload/filetype/mail.kak
@@ -0,0 +1,30 @@
+hook global BufCreate .+\.eml %{
+ set-option buffer filetype mail
+}
+
+hook global WinSetOption filetype=mail %{
+ require-module mail
+ map buffer normal <ret> :diff-jump<ret>
+ hook -once -always window WinSetOption filetype=.* %{
+ unmap buffer normal <ret> :diff-jump<ret>
+ }
+}
+
+hook -group mail-highlight global WinSetOption filetype=mail %{
+ add-highlighter window/mail ref mail
+ hook -once -always window WinSetOption filetype=.* %{ remove-highlighter window/mail }
+}
+
+
+provide-module mail %{
+
+require-module diff
+
+add-highlighter shared/mail group
+add-highlighter shared/mail/ ref diff
+add-highlighter shared/mail/ regex ^(From|To|Cc|Bcc|Subject|Reply-To|In-Reply-To|References|Date|Message-Id|User-Agent):([^\n]*(?:\n\h+[^\n]+)*)$ 1:keyword 2:attribute
+add-highlighter shared/mail/ regex <[a-zA-Z0-9!#$%&'*+/=?^`{|}~.-]+@[a-zA-Z0-9!#$%&'*+/=?^`{|}~.-]+> 0:string
+add-highlighter shared/mail/ regex ^>.*?$ 0:comment
+add-highlighter shared/mail/ regex ^--\ \n.* 0:comment
+
+}