summaryrefslogtreecommitdiffstats
path: root/runtime/syntax/ipfilter.vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/syntax/ipfilter.vim')
-rw-r--r--runtime/syntax/ipfilter.vim55
1 files changed, 55 insertions, 0 deletions
diff --git a/runtime/syntax/ipfilter.vim b/runtime/syntax/ipfilter.vim
new file mode 100644
index 0000000..c007626
--- /dev/null
+++ b/runtime/syntax/ipfilter.vim
@@ -0,0 +1,55 @@
+" ipfilter syntax file
+" Language: ipfilter configuration file
+" Maintainer: Hendrik Scholz <hendrik@scholz.net>
+" Last Change: 2022 Jun 14
+"
+" http://www.wormulon.net/files/misc/ipfilter.vim
+"
+" This will also work for OpenBSD pf but there might be some tags that are
+" not correctly identified.
+" Please send comments to hendrik@scholz.net
+
+" quit when a syntax file was already loaded
+if exists("b:current_syntax")
+ finish
+endif
+
+" Comment
+syn match IPFComment /#.*$/ contains=ipfTodo
+syn keyword IPFTodo TODO XXX FIXME contained
+
+syn keyword IPFActionBlock block
+syn keyword IPFActionPass pass
+syn keyword IPFProto tcp udp icmp
+syn keyword IPFSpecial quick log first
+" how could we use keyword for words with '-' ?
+syn match IPFSpecial /return-rst/
+syn match IPFSpecial /dup-to/
+"syn match IPFSpecial /icmp-type unreach/
+syn keyword IPFAny all any
+syn match IPFIPv4 /\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}/
+syn match IPFNetmask /\/\d\+/
+
+" service name constants
+syn keyword IPFService auth bgp domain finger ftp http https ident
+syn keyword IPFService imap irc isakmp kerberos mail nameserver nfs
+syn keyword IPFService nntp ntp pop3 portmap pptp rpcbind rsync smtp
+syn keyword IPFService snmp snmptrap socks ssh sunrpc syslog telnet
+syn keyword IPFService tftp www
+
+" Comment
+hi def link IPFComment Comment
+hi def link IPFTodo Todo
+
+hi def link IPFService Constant
+
+hi def link IPFAction Type
+hi def link ipfActionBlock String
+hi def link ipfActionPass Type
+hi def link IPFSpecial Statement
+hi def link IPFIPv4 Label
+hi def link IPFNetmask String
+hi def link IPFAny Statement
+hi def link IPFProto Identifier
+
+let b:current_syntax = 'ipfilter'