aboutsummaryrefslogtreecommitdiff
path: root/runtime/syntax/pf.vim
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2014-07-11 04:05:51 +0000
committerJustin M. Keyes <justinkz@gmail.com>2014-07-29 02:12:31 +0000
commita98a6996c291b3e300d27b791eded9eed333d677 (patch)
tree51d92f6cac128f938cd0aaa9a8dd0ce7a83d63a9 /runtime/syntax/pf.vim
parent66bc13163398786c88e20b7cdd61c66978b4d3fb (diff)
downloadrneovim-a98a6996c291b3e300d27b791eded9eed333d677.tar.gz
rneovim-a98a6996c291b3e300d27b791eded9eed333d677.tar.bz2
rneovim-a98a6996c291b3e300d27b791eded9eed333d677.zip
re-integrate runtime/ vim-patch:0 #938
Vim runtime files based on 7.4.384 / hg changeset 7090d7f160f7 Excluding: Amiga icons (*.info, icons/) doc/hangulin.txt tutor/ spell/ lang/ (only used for menu translations) macros/maze/, macros/hanoi/, macros/life/, macros/urm/ These were used to test vi compatibility. termcap "Demonstration of a termcap file (for the Amiga and Archimedes)" Helped-by: Rich Wareham <rjw57@cam.ac.uk> Helped-by: John <john.schmidt.h@gmail.com> Helped-by: Yann <yann@yann-salaun.com> Helped-by: Christophe Badoit <c.badoit@lesiteimmo.com> Helped-by: drasill <github@tof2k.com> Helped-by: Tae Sandoval Murgan <taecilla@gmail.com> Helped-by: Lowe Thiderman <lowe.thiderman@gmail.com>
Diffstat (limited to 'runtime/syntax/pf.vim')
-rw-r--r--runtime/syntax/pf.vim76
1 files changed, 76 insertions, 0 deletions
diff --git a/runtime/syntax/pf.vim b/runtime/syntax/pf.vim
new file mode 100644
index 0000000000..1a8f34bbba
--- /dev/null
+++ b/runtime/syntax/pf.vim
@@ -0,0 +1,76 @@
+" pf syntax file
+" 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
+
+" 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
+
+syn cluster pfNotLS contains=pfTodo,pfVarAssign
+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"