summaryrefslogtreecommitdiff
path: root/runtime/syntax/fetchmail.vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/syntax/fetchmail.vim')
-rw-r--r--runtime/syntax/fetchmail.vim88
1 files changed, 88 insertions, 0 deletions
diff --git a/runtime/syntax/fetchmail.vim b/runtime/syntax/fetchmail.vim
new file mode 100644
index 000000000..c586ee7c5
--- /dev/null
+++ b/runtime/syntax/fetchmail.vim
@@ -0,0 +1,88 @@
+" Vim syntax file
+" Language: fetchmail(1) RC File
+" Maintainer: Nikolai Weibull <source@pcppopper.org>
+" URL: http://www.pcppopper.org/vim/syntax/pcp/fetchmail/
+" Latest Revision: 2004-05-06
+" arch-tag: 59d8adac-6e59-45f6-88cb-f9ba1e009c1f
+
+if version < 600
+ syntax clear
+elseif exists("b:current_syntax")
+ finish
+endif
+
+" todo
+syn keyword fetchmailTodo contained FIXME TODO XXX NOTE
+
+" comments
+syn region fetchmailComment start="#" end="$" contains=fetchmailTodo
+
+" numbers
+syn match fetchmailNumber "\<\d\+\>"
+
+" strings
+syn region fetchmailString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=fetchmailStringEsc
+syn region fetchmailString start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=fetchmailStringEsc
+
+" escape characters in strings
+syn match fetchmailStringEsc "\\\([ntb]\|0\d*\|x\x\+\)"
+
+" server entries
+syn region fetchmailKeyword transparent matchgroup=fetchmailKeyword start="\<poll\|skip\|defaults\>" end="\<poll\|skip\|defaults\>" contains=ALLBUT,fetchmailOptions,fetchmailSet
+
+" server options
+syn keyword fetchmailServerOpts contained via proto[col] local[domains] port auth[enticate]
+syn keyword fetchmailServerOpts contained timeout envelope qvirtual aka interface monitor
+syn keyword fetchmailServerOpts contained plugin plugout dns checkalias uidl interval netsec
+syn keyword fetchmailServerOpts contained principal esmtpname esmtppassword
+syn match fetchmailServerOpts contained "\<no\_s\+\(envelope\|dns\|checkalias\|uidl\)"
+
+" user options
+syn keyword fetchmailUserOpts contained user[name] is to pass[word] ssl sslcert sslkey sslproto folder
+syn keyword fetchmailUserOpts contained smtphost fetchdomains smtpaddress smtpname antispam mda bsmtp
+syn keyword fetchmailUserOpts contained preconnect postconnect keep flush fetchall rewrite stripcr
+syn keyword fetchmailUserOpts contained forcecr pass8bits dropstatus dropdelivered mimedecode idle
+syn keyword fetchmailUserOpts contained limit warnings batchlimit fetchlimit expunge tracepolls properties
+syn match fetchmailUserOpts contained "\<no\_s\+\(keep\|flush\|fetchall\|rewrite\|stripcr\|forcecr\|pass8bits\|dropstatus\|dropdelivered\|mimedecode\|noidle\)"
+
+syn keyword fetchmailSpecial contained here there
+
+
+" noise keywords
+syn keyword fetchmailNoise and with has wants options
+syn match fetchmailNoise "[:;,]"
+
+" options
+syn keyword fetchmailSet nextgroup=fetchmailOptions skipwhite skipnl set
+
+syn keyword fetchmailOptions daemon postmaster bouncemail spambounce logfile idfile syslog nosyslog properties
+syn match fetchmailOptions "\<no\_s\+\(bouncemail\|spambounce\)"
+
+" Define the default highlighting.
+" For version 5.7 and earlier: only when not done already
+" For version 5.8 and later: only when an item doesn't have highlighting yet
+if version >= 508 || !exists("did_fetchmail_syn_inits")
+ if version < 508
+ let did_fetchmail_syn_inits = 1
+ command -nargs=+ HiLink hi link <args>
+ else
+ command -nargs=+ HiLink hi def link <args>
+ endif
+
+ HiLink fetchmailComment Comment
+ HiLink fetchmailTodo Todo
+ HiLink fetchmailNumber Number
+ HiLink fetchmailString String
+ HiLink fetchmailStringEsc SpecialChar
+ HiLink fetchmailKeyword Keyword
+ HiLink fetchmailServerOpts Identifier
+ HiLink fetchmailUserOpts Identifier
+ HiLink fetchmailSpecial Special
+ HiLink fetchmailSet Keyword
+ HiLink fetchmailOptions Identifier
+ delcommand HiLink
+endif
+
+let b:current_syntax = "fetchmail"
+
+" vim: set sts=2 sw=2: