xref: /vim-8.2.3635/runtime/syntax/pf.vim (revision cb03397a)
1" pf syntax file
2" Language:        OpenBSD packet filter configuration (pf.conf)
3" Original Author: Camiel Dobbelaar <[email protected]>
4" Maintainer:      Lauri Tirkkonen <[email protected]>
5" Last Change:     2016 Jul 06
6
7if exists("b:current_syntax")
8  finish
9endif
10
11setlocal foldmethod=syntax
12syn iskeyword @,48-57,_,-,+
13syn sync fromstart
14
15syn cluster	pfNotLS		contains=pfTodo,pfVarAssign
16syn keyword	pfCmd		anchor antispoof block include match pass queue
17syn keyword	pfCmd		queue set table
18syn match	pfCmd		/^\s*load\sanchor\>/
19syn keyword	pfTodo		TODO XXX contained
20syn keyword	pfWildAddr	all any
21syn match	pfComment	/#.*$/ contains=pfTodo
22syn match	pfCont		/\\$/
23syn match	pfErrClose	/}/
24syn match	pfIPv4		/\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}/
25syn match	pfIPv6		/[a-fA-F0-9:]*::[a-fA-F0-9:.]*/
26syn match	pfIPv6		/[a-fA-F0-9:]\+:[a-fA-F0-9:]\+:[a-fA-F0-9:.]\+/
27syn match	pfNetmask	/\/\d\+/
28syn match	pfNum		/[a-zA-Z0-9_:.]\@<!\d\+[a-zA-Z0-9_:.]\@!/
29syn match	pfTable		/<\s*[a-zA-Z0-9_:][a-zA-Z0-9_:.-]*\s*>/
30syn match	pfVar		/$[a-zA-Z][a-zA-Z0-9_]*/
31syn match	pfVarAssign	/^\s*[a-zA-Z][a-zA-Z0-9_]*\s*=/me=e-1
32syn region	pfFold1		start=/^#\{1}>/ end=/^#\{1,3}>/me=s-1 transparent fold
33syn region	pfFold2		start=/^#\{2}>/ end=/^#\{2,3}>/me=s-1 transparent fold
34syn region	pfFold3		start=/^#\{3}>/ end=/^#\{3}>/me=s-1 transparent fold
35syn region	pfList		start=/{/ end=/}/ transparent contains=ALLBUT,pfErrClose,@pfNotLS
36syn region	pfString	start=/"/ skip=/\\"/ end=/"/ contains=pfIPv4,pfIPv6,pfNetmask,pfTable,pfVar
37syn region	pfString	start=/'/ skip=/\\'/ end=/'/ contains=pfIPv4,pfIPv6,pfNetmask,pfTable,pfVar
38
39syn keyword	pfService	802-11-iapp Microsoft-SQL-Monitor
40syn keyword	pfService	Microsoft-SQL-Server NeXTStep NextStep
41syn keyword	pfService	afpovertcp afs3-bos afs3-callback afs3-errors
42syn keyword	pfService	afs3-fileserver afs3-kaserver afs3-prserver
43syn keyword	pfService	afs3-rmtsys afs3-update afs3-vlserver
44syn keyword	pfService	afs3-volser amt-redir-tcp amt-redir-tls
45syn keyword	pfService	amt-soap-http amt-soap-https asf-rmcp at-echo
46syn keyword	pfService	at-nbp at-rtmp at-zis auth authentication
47syn keyword	pfService	bfd-control bfd-echo bftp bgp bgpd biff bootpc
48syn keyword	pfService	bootps canna cddb cddbp chargen chat cmd
49syn keyword	pfService	cmip-agent cmip-man comsat conference
50syn keyword	pfService	conserver courier csnet-ns cso-ns cvspserver
51syn keyword	pfService	daap datametrics daytime dhcpd-sync
52syn keyword	pfService	dhcpv6-client dhcpv6-server discard domain
53syn keyword	pfService	echo efs eklogin ekshell ekshell2 epmap eppc
54syn keyword	pfService	exec finger ftp ftp-data git gopher hostname
55syn keyword	pfService	hostnames hprop http https hunt hylafax iapp
56syn keyword	pfService	icb ident imap imap2 imap3 imaps ingreslock
57syn keyword	pfService	ipp iprop ipsec-msft ipsec-nat-t ipx irc
58syn keyword	pfService	isakmp iscsi isisd iso-tsap kauth kdc kerberos
59syn keyword	pfService	kerberos-adm kerberos-iv kerberos-sec
60syn keyword	pfService	kerberos_master kf kip klogin kpasswd kpop
61syn keyword	pfService	krb524 krb_prop krbupdate krcmd kreg kshell kx
62syn keyword	pfService	l2tp ldap ldaps ldp link login mail mdns
63syn keyword	pfService	mdnsresponder microsoft-ds ms-sql-m ms-sql-s
64syn keyword	pfService	msa msp mtp mysql name nameserver netbios-dgm
65syn keyword	pfService	netbios-ns netbios-ssn netnews netplan netrjs
66syn keyword	pfService	netstat netwall newdate nextstep nfs nfsd
67syn keyword	pfService	nicname nnsp nntp ntalk ntp null openwebnet
68syn keyword	pfService	ospf6d ospfapi ospfd photuris pop2 pop3 pop3pw
69syn keyword	pfService	pop3s poppassd portmap postgresql postoffice
70syn keyword	pfService	pptp presence printer prospero prospero-np
71syn keyword	pfService	puppet pwdgen qotd quote radacct radius
72syn keyword	pfService	radius-acct rdp readnews remotefs resource rfb
73syn keyword	pfService	rfe rfs rfs_server ripd ripng rje rkinit rlp
74syn keyword	pfService	routed router rpc rpcbind rsync rtelnet rtsp
75syn keyword	pfService	sa-msg-port sane-port sftp shell sieve silc
76syn keyword	pfService	sink sip smtp smtps smux snmp snmp-trap
77syn keyword	pfService	snmptrap snpp socks source spamd spamd-cfg
78syn keyword	pfService	spamd-sync spooler spop3 ssdp ssh submission
79syn keyword	pfService	sunrpc supdup supfiledbg supfilesrv support
80syn keyword	pfService	svn svrloc swat syslog syslog-tls systat
81syn keyword	pfService	tacacs tacas+ talk tap tcpmux telnet tempo
82syn keyword	pfService	tftp time timed timeserver timserver tsap
83syn keyword	pfService	ttylink ttytst ub-dns-control ulistserv untp
84syn keyword	pfService	usenet users uucp uucp-path uucpd vnc vxlan
85syn keyword	pfService	wais webster who whod whois www x400 x400-snd
86syn keyword	pfService	xcept xdmcp xmpp-bosh xmpp-client xmpp-server
87syn keyword	pfService	z3950 zabbix-agent zabbix-trapper zebra
88syn keyword	pfService	zebrasrv
89
90hi def link pfCmd	Statement
91hi def link pfComment	Comment
92hi def link pfCont	Statement
93hi def link pfErrClose	Error
94hi def link pfIPv4	Type
95hi def link pfIPv6	Type
96hi def link pfNetmask	Constant
97hi def link pfNum	Constant
98hi def link pfService	Constant
99hi def link pfString	String
100hi def link pfTable	Identifier
101hi def link pfTodo	Todo
102hi def link pfVar	Identifier
103hi def link pfVarAssign	Identifier
104hi def link pfWildAddr	Type
105
106let b:current_syntax = "pf"
107