view runtime/syntax/fetchmail.vim @ 33646:314ef6fe82e8 v9.0.2063

patch 9.0.2063: pacman hooks are detected as conf filetype Commit: https://github.com/vim/vim/commit/7d254dbc2db35badc65668db85f826f605486986 Author: Guido Cella <guido@guidocella.xyz> Date: Mon Oct 23 19:27:06 2023 +0200 patch 9.0.2063: pacman hooks are detected as conf filetype Problem: pacman hooks are detected as conf filetype Solution: make it consistent to pacman.conf and detect those hooks as confini Because confini has much better syntax highlighting than conf. For reference, I identified pacman.conf and pacman hooks as dosini in https://github.com/vim/vim/pull/6335, then https://github.com/vim/vim/pull/10213 changed them to conf, then https://github.com/vim/vim/pull/10518 changed pacman.conf to confini but forgot to change hooks. closes: #13399 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Guido Cella <guido@guidocella.xyz>
author Christian Brabandt <cb@256bit.org>
date Mon, 23 Oct 2023 19:30:09 +0200
parents 03e3b0034e31
children
line wrap: on
line source

" Vim syntax file
" Language:		fetchmail(1) RC File
" Maintainer:		Doug Kearns <dougkearns@gmail.com>
" Previous Maintainer:	Nikolai Weibull <now@bitwi.se>
" Latest Revision:	2022 Jul 02

" Version 6.4.3

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
				\ service auth[enticate] timeout envelope
				\ qvirtual aka interface monitor plugin plugout
				\ dns checkalias uidl interval tracepolls
				\ principal esmtpname esmtppassword
" removed in 6.3.0
syn keyword fetchmailServerOpts contained netsec
syn match   fetchmailServerOpts contained '\<bad-header\>'
syn match   fetchmailServerOpts contained '\<no\_s\+\(envelope\|dns\|checkalias\|uidl\)'

syn keyword fetchmailUserOpts	contained user[name] is to pass[word] ssl
				\ sslcert sslcertck sslcertfile sslcertpath
				\ sslfingerprint sslkey sslproto folder
				\ smtphost fetchdomains smtpaddress smtpname
				\ antispam mda bsmtp preconnect postconnect
				\ keep flush limitflush fetchall rewrite
				\ stripcr forcecr pass8bits dropstatus
				\ dropdelivered mimedecode idle limit warnings
				\ batchlimit fetchlimit fetchsizelimit
				\ fastuidl expunge properties
				\ sslcommonname
syn match   fetchmailUserOpts	contained '\<no\_s\+\(sslcertck\|keep\|flush\|fetchall\|rewrite\|stripcr\|forcecr\|pass8bits\|dropstatus\|dropdelivered\|mimedecode\|idle\)'

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
				\ softbounce logfile pidfile idfile syslog properties
syn match   fetchmailOptions	'\<no\_s\+\(bouncemail\|spambounce\|softbounce\|syslog\)'

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