| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | " pf syntax file | 
					
						
							| 
									
										
										
										
											2013-04-05 22:26:15 +02:00
										 |  |  | " Language:        OpenBSD packet filter configuration (pf.conf) | 
					
						
							|  |  |  | " Original Author: Camiel Dobbelaar <cd@sentia.nl> | 
					
						
							|  |  |  | " Maintainer:      Lauri Tirkkonen <lotheac@iki.fi> | 
					
						
							|  |  |  | " Last Change:     2013 Apr 02 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | " For version 5.x: Clear all syntax items | 
					
						
							|  |  |  | " For version 6.x: Quit when a syntax file was already loaded | 
					
						
							|  |  |  | if version < 600 | 
					
						
							|  |  |  |   syntax clear | 
					
						
							|  |  |  | elseif exists("b:current_syntax") | 
					
						
							|  |  |  |   finish | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | setlocal foldmethod=syntax | 
					
						
							|  |  |  | syn sync fromstart | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-04-05 22:26:15 +02:00
										 |  |  | syn cluster	pfNotLS		contains=pfTodo,pfVarAssign | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | syn keyword	pfCmd		altq anchor antispoof binat nat pass | 
					
						
							|  |  |  | syn keyword	pfCmd		queue rdr scrub table set | 
					
						
							|  |  |  | syn keyword	pfService	auth bgp domain finger ftp http https ident | 
					
						
							|  |  |  | syn keyword	pfService	imap irc isakmp kerberos mail nameserver nfs | 
					
						
							|  |  |  | syn keyword	pfService	nntp ntp pop3 portmap pptp rpcbind rsync smtp | 
					
						
							|  |  |  | syn keyword	pfService	snmp snmptrap socks ssh sunrpc syslog telnet | 
					
						
							|  |  |  | syn keyword	pfService	tftp www | 
					
						
							|  |  |  | syn keyword	pfTodo		TODO XXX contained | 
					
						
							|  |  |  | syn keyword	pfWildAddr	all any | 
					
						
							|  |  |  | syn match	pfCmd		/block\s/ | 
					
						
							|  |  |  | syn match	pfComment	/#.*$/ contains=pfTodo | 
					
						
							|  |  |  | syn match	pfCont		/\\$/ | 
					
						
							|  |  |  | syn match	pfErrClose	/}/ | 
					
						
							|  |  |  | syn match	pfIPv4		/\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}/ | 
					
						
							|  |  |  | syn match	pfIPv6		/[a-fA-F0-9:]*::[a-fA-F0-9:.]*/ | 
					
						
							|  |  |  | syn match	pfIPv6		/[a-fA-F0-9:]\+:[a-fA-F0-9:]\+:[a-fA-F0-9:.]\+/ | 
					
						
							|  |  |  | syn match	pfNetmask	/\/\d\+/ | 
					
						
							|  |  |  | syn match	pfNum		/[a-zA-Z0-9_:.]\@<!\d\+[a-zA-Z0-9_:.]\@!/ | 
					
						
							|  |  |  | syn match	pfTable		/<\s*[a-zA-Z][a-zA-Z0-9_]*\s*>/ | 
					
						
							|  |  |  | syn match	pfVar		/$[a-zA-Z][a-zA-Z0-9_]*/ | 
					
						
							|  |  |  | syn match	pfVarAssign	/^\s*[a-zA-Z][a-zA-Z0-9_]*\s*=/me=e-1 | 
					
						
							|  |  |  | syn region	pfFold1		start=/^#\{1}>/ end=/^#\{1,3}>/me=s-1 transparent fold | 
					
						
							|  |  |  | syn region	pfFold2		start=/^#\{2}>/ end=/^#\{2,3}>/me=s-1 transparent fold | 
					
						
							|  |  |  | syn region	pfFold3		start=/^#\{3}>/ end=/^#\{3}>/me=s-1 transparent fold | 
					
						
							|  |  |  | syn region	pfList		start=/{/ end=/}/ transparent contains=ALLBUT,pfErrClose,@pfNotLS | 
					
						
							|  |  |  | syn region	pfString	start=/"/ end=/"/ transparent contains=ALLBUT,pfString,@pfNotLS | 
					
						
							|  |  |  | syn region	pfString	start=/'/ end=/'/ transparent contains=ALLBUT,pfString,@pfNotLS | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " 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_c_syn_inits") | 
					
						
							|  |  |  |   if version < 508 | 
					
						
							|  |  |  |     let did_c_syn_inits = 1 | 
					
						
							|  |  |  |     command -nargs=+ HiLink hi link <args> | 
					
						
							|  |  |  |   else | 
					
						
							|  |  |  |     command -nargs=+ HiLink hi def link <args> | 
					
						
							|  |  |  |   endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   HiLink pfCmd		Statement | 
					
						
							|  |  |  |   HiLink pfComment	Comment | 
					
						
							|  |  |  |   HiLink pfCont		Statement | 
					
						
							|  |  |  |   HiLink pfErrClose	Error | 
					
						
							|  |  |  |   HiLink pfIPv4		Type | 
					
						
							|  |  |  |   HiLink pfIPv6		Type | 
					
						
							|  |  |  |   HiLink pfNetmask	Constant | 
					
						
							|  |  |  |   HiLink pfNum		Constant | 
					
						
							|  |  |  |   HiLink pfService	Constant | 
					
						
							|  |  |  |   HiLink pfTable	Identifier | 
					
						
							|  |  |  |   HiLink pfTodo		Todo | 
					
						
							|  |  |  |   HiLink pfVar		Identifier | 
					
						
							|  |  |  |   HiLink pfVarAssign	Identifier | 
					
						
							|  |  |  |   HiLink pfWildAddr	Type | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   delcommand HiLink | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | let b:current_syntax = "pf" |