view runtime/syntax/fetchmail.vim @ 12451:61450cb2b6a1 v8.0.1105

patch 8.0.1105: match() and matchend() are not tested commit https://github.com/vim/vim/commit/1190cf68e27a123cf9f6fb57897782a3b9f7b810 Author: Bram Moolenaar <Bram@vim.org> Date: Thu Sep 14 14:31:18 2017 +0200 patch 8.0.1105: match() and matchend() are not tested Problem: match() and matchend() are not tested. Solution: Add tests. (Ozaki Kiichi, closes https://github.com/vim/vim/issues/2088)
author Christian Brabandt <cb@256bit.org>
date Thu, 14 Sep 2017 14:45:04 +0200
parents 1218c5353e2b
children 912224cab37f
line wrap: on
line source

" Vim syntax file
" Language:             fetchmail(1) RC File
" Previous Maintainer:  Nikolai Weibull <now@bitwi.se>
" Latest Revision:      2006-04-19

if exists("b:current_syntax")
  finish
endif

let s:cpo_save = &cpo
set cpo&vim

syn keyword fetchmailTodo       contained FIXME TODO XXX NOTE

syn region  fetchmailComment    start='#' end='$' contains=fetchmailTodo,@Spell

syn match   fetchmailNumber     display '\<\d\+\>'

syn region  fetchmailString     start=+"+ skip=+\\\\\|\\"+ end=+"+
                                \ contains=fetchmailStringEsc
syn region  fetchmailString     start=+'+ skip=+\\\\\|\\'+ end=+'+
                                \ contains=fetchmailStringEsc

syn match   fetchmailStringEsc  contained '\\\([ntb]\|0\d*\|x\x\+\)'

syn region  fetchmailKeyword    transparent matchgroup=fetchmailKeyword
                                \ start='\<poll\|skip\|defaults\>'
                                \ end='\<poll\|skip\|defaults\>'
                                \ contains=ALLBUT,fetchmailOptions,fetchmailSet

syn keyword fetchmailServerOpts contained via proto[col] local[domains] port
                                \ auth[enticate] timeout envelope qvirtual aka
                                \ interface monitor plugin plugout dns
                                \ checkalias uidl interval netsec principal
                                \ esmtpname esmtppassword
                                \ sslcertck sslcertpath sslfingerprint
syn match   fetchmailServerOpts contained '\<no\_s\+\(envelope\|dns\|checkalias\|uidl\)'

syn keyword fetchmailUserOpts   contained user[name] is to pass[word] ssl
                                \ sslcert sslkey sslproto folder smtphost
                                \ fetchdomains smtpaddress smtpname antispam
                                \ mda bsmtp preconnect postconnect keep flush
                                \ fetchall rewrite stripcr forcecr pass8bits
                                \ dropstatus dropdelivered mimedecode idle
                                \ 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

syn keyword fetchmailNoise      and with has wants options
syn match   fetchmailNoise      display '[:;,]'

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\)'

hi def link fetchmailComment    Comment
hi def link fetchmailTodo       Todo
hi def link fetchmailNumber     Number
hi def link fetchmailString     String
hi def link fetchmailStringEsc  SpecialChar
hi def link fetchmailKeyword    Keyword
hi def link fetchmailServerOpts Identifier
hi def link fetchmailUserOpts   Identifier
hi def link fetchmailSpecial    Special
hi def link fetchmailSet        Keyword
hi def link fetchmailOptions    Identifier

let b:current_syntax = "fetchmail"

let &cpo = s:cpo_save
unlet s:cpo_save