blob: c586ee7c5fe9175fdee04bdc16031bbb8438c7d4 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: fetchmail(1) RC File
3" Maintainer: Nikolai Weibull <source@pcppopper.org>
4" URL: http://www.pcppopper.org/vim/syntax/pcp/fetchmail/
5" Latest Revision: 2004-05-06
6" arch-tag: 59d8adac-6e59-45f6-88cb-f9ba1e009c1f
7
8if version < 600
9 syntax clear
10elseif exists("b:current_syntax")
11 finish
12endif
13
14" todo
15syn keyword fetchmailTodo contained FIXME TODO XXX NOTE
16
17" comments
18syn region fetchmailComment start="#" end="$" contains=fetchmailTodo
19
20" numbers
21syn match fetchmailNumber "\<\d\+\>"
22
23" strings
24syn region fetchmailString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=fetchmailStringEsc
25syn region fetchmailString start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=fetchmailStringEsc
26
27" escape characters in strings
28syn match fetchmailStringEsc "\\\([ntb]\|0\d*\|x\x\+\)"
29
30" server entries
31syn region fetchmailKeyword transparent matchgroup=fetchmailKeyword start="\<poll\|skip\|defaults\>" end="\<poll\|skip\|defaults\>" contains=ALLBUT,fetchmailOptions,fetchmailSet
32
33" server options
34syn keyword fetchmailServerOpts contained via proto[col] local[domains] port auth[enticate]
35syn keyword fetchmailServerOpts contained timeout envelope qvirtual aka interface monitor
36syn keyword fetchmailServerOpts contained plugin plugout dns checkalias uidl interval netsec
37syn keyword fetchmailServerOpts contained principal esmtpname esmtppassword
38syn match fetchmailServerOpts contained "\<no\_s\+\(envelope\|dns\|checkalias\|uidl\)"
39
40" user options
41syn keyword fetchmailUserOpts contained user[name] is to pass[word] ssl sslcert sslkey sslproto folder
42syn keyword fetchmailUserOpts contained smtphost fetchdomains smtpaddress smtpname antispam mda bsmtp
43syn keyword fetchmailUserOpts contained preconnect postconnect keep flush fetchall rewrite stripcr
44syn keyword fetchmailUserOpts contained forcecr pass8bits dropstatus dropdelivered mimedecode idle
45syn keyword fetchmailUserOpts contained limit warnings batchlimit fetchlimit expunge tracepolls properties
46syn match fetchmailUserOpts contained "\<no\_s\+\(keep\|flush\|fetchall\|rewrite\|stripcr\|forcecr\|pass8bits\|dropstatus\|dropdelivered\|mimedecode\|noidle\)"
47
48syn keyword fetchmailSpecial contained here there
49
50
51" noise keywords
52syn keyword fetchmailNoise and with has wants options
53syn match fetchmailNoise "[:;,]"
54
55" options
56syn keyword fetchmailSet nextgroup=fetchmailOptions skipwhite skipnl set
57
58syn keyword fetchmailOptions daemon postmaster bouncemail spambounce logfile idfile syslog nosyslog properties
59syn match fetchmailOptions "\<no\_s\+\(bouncemail\|spambounce\)"
60
61" Define the default highlighting.
62" For version 5.7 and earlier: only when not done already
63" For version 5.8 and later: only when an item doesn't have highlighting yet
64if version >= 508 || !exists("did_fetchmail_syn_inits")
65 if version < 508
66 let did_fetchmail_syn_inits = 1
67 command -nargs=+ HiLink hi link <args>
68 else
69 command -nargs=+ HiLink hi def link <args>
70 endif
71
72 HiLink fetchmailComment Comment
73 HiLink fetchmailTodo Todo
74 HiLink fetchmailNumber Number
75 HiLink fetchmailString String
76 HiLink fetchmailStringEsc SpecialChar
77 HiLink fetchmailKeyword Keyword
78 HiLink fetchmailServerOpts Identifier
79 HiLink fetchmailUserOpts Identifier
80 HiLink fetchmailSpecial Special
81 HiLink fetchmailSet Keyword
82 HiLink fetchmailOptions Identifier
83 delcommand HiLink
84endif
85
86let b:current_syntax = "fetchmail"
87
88" vim: set sts=2 sw=2: