Updated runtime files.
diff --git a/runtime/doc/channel.txt b/runtime/doc/channel.txt
index 47039e1..dd4b8d3 100644
--- a/runtime/doc/channel.txt
+++ b/runtime/doc/channel.txt
@@ -1,4 +1,4 @@
-*channel.txt* For Vim version 7.4. Last change: 2016 Jun 02
+*channel.txt* For Vim version 7.4. Last change: 2016 Jul 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -495,6 +495,9 @@
job stdin. This allows for editing the last line and sending it when pressing
Enter.
+NUL bytes in the text will be passed to the job (internally Vim stores these
+as NL bytes).
+
Reading job output in the close callback ~
*read-in-close-cb*
@@ -684,7 +687,8 @@
first column of the last line, the cursor will be moved to the newly added
line and the window is scrolled up to show the cursor if needed.
-Undo is synced for every added line.
+Undo is synced for every added line. NUL bytes are accepted (internally Vim
+stores these as NL bytes).
Writing to a file ~
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 438e28e..d8fe9c0 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -3283,7 +3283,7 @@
It is not possible to use `:redir` anywhere in {command}.
To get a list of lines use |split()| on the result: >
- split(evalcmd('args'), "\n")
+ split(execute('args'), "\n")
< When used recursively the output of the recursive call is not
included in the output of the higher level call.
diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt
index 5584460..4b9299b 100644
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -1,4 +1,4 @@
-*map.txt* For Vim version 7.4. Last change: 2016 Jun 10
+*map.txt* For Vim version 7.4. Last change: 2016 Jul 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1274,6 +1274,7 @@
-complete=mapping mapping name
-complete=menu menus
-complete=option options
+ -complete=packadd optional package |pack-add| names
-complete=shellcmd Shell command
-complete=sign |:sign| suboptions
-complete=syntax syntax file names |'syntax'|
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 98017ec..f535fcf 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt* For Vim version 7.4. Last change: 2016 Jul 01
+*options.txt* For Vim version 7.4. Last change: 2016 Jul 09
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -8180,10 +8180,10 @@
has been used since the last search command.
*viminfo-n*
n Name of the viminfo file. The name must immediately follow
- the 'n'. Must be the last one! If the "-i" argument was
- given when starting Vim, that file name overrides the one
- given here with 'viminfo'. Environment variables are expanded
- when opening the file, not when setting the option.
+ the 'n'. Must be at the end of the option! If the "-i"
+ argument was given when starting Vim, that file name overrides
+ the one given here with 'viminfo'. Environment variables are
+ expanded when opening the file, not when setting the option.
*viminfo-r*
r Removable media. The argument is a string (up to the next
','). This parameter can be given several times. Each
diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt
index 817703d..b613cf0 100644
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -1,4 +1,4 @@
-*starting.txt* For Vim version 7.4. Last change: 2016 Jun 15
+*starting.txt* For Vim version 7.4. Last change: 2016 Jul 03
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1426,6 +1426,7 @@
BBB - value from session B
BOTH - value from session B, value from session A is lost
+ *viminfo-timestamp*
For some items a timestamp is used to keep the last changed version. Here it
doesn't matter in which sequence Vim sessions exit, the newest item(s) are
always kept. This is used for:
diff --git a/runtime/doc/tags b/runtime/doc/tags
index a35bb7a..12ed733 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -2041,6 +2041,8 @@
:cat eval.txt /*:cat*
:catch eval.txt /*:catch*
:cb quickfix.txt /*:cb*
+:cbo quickfix.txt /*:cbo*
+:cbottom quickfix.txt /*:cbottom*
:cbuffer quickfix.txt /*:cbuffer*
:cc quickfix.txt /*:cc*
:ccl quickfix.txt /*:ccl*
@@ -2393,6 +2395,8 @@
:lat undo.txt /*:lat*
:later undo.txt /*:later*
:lb quickfix.txt /*:lb*
+:lbo quickfix.txt /*:lbo*
+:lbottom quickfix.txt /*:lbottom*
:lbuffer quickfix.txt /*:lbuffer*
:lc editing.txt /*:lc*
:lcd editing.txt /*:lcd*
@@ -4457,6 +4461,7 @@
E928 eval.txt /*E928*
E929 starting.txt /*E929*
E93 windows.txt /*E93*
+E930 eval.txt /*E930*
E94 windows.txt /*E94*
E95 message.txt /*E95*
E96 diff.txt /*E96*
@@ -4472,6 +4477,7 @@
Ex-mode intro.txt /*Ex-mode*
Exuberant_ctags tagsrch.txt /*Exuberant_ctags*
F motion.txt /*F*
+FALSE eval.txt /*FALSE*
FAQ intro.txt /*FAQ*
Farsi farsi.txt /*Farsi*
FileAppendCmd autocmd.txt /*FileAppendCmd*
@@ -4686,6 +4692,7 @@
TOhtml-performance syntax.txt /*TOhtml-performance*
TOhtml-uncopyable-text syntax.txt /*TOhtml-uncopyable-text*
TOhtml-wrap-text syntax.txt /*TOhtml-wrap-text*
+TRUE eval.txt /*TRUE*
TSQL ft_sql.txt /*TSQL*
TTpro-telnet syntax.txt /*TTpro-telnet*
Tab intro.txt /*Tab*
@@ -5746,6 +5753,7 @@
exclusive motion.txt /*exclusive*
exclusive-linewise motion.txt /*exclusive-linewise*
executable() eval.txt /*executable()*
+execute() eval.txt /*execute()*
execute-menus gui.txt /*execute-menus*
exepath() eval.txt /*exepath()*
exim starting.txt /*exim*
@@ -6373,6 +6381,7 @@
getcmdpos() eval.txt /*getcmdpos()*
getcmdtype() eval.txt /*getcmdtype()*
getcmdwintype() eval.txt /*getcmdwintype()*
+getcompletion() eval.txt /*getcompletion()*
getcurpos() eval.txt /*getcurpos()*
getcwd() eval.txt /*getcwd()*
getfontname() eval.txt /*getfontname()*
@@ -9051,6 +9060,7 @@
viminfo-read starting.txt /*viminfo-read*
viminfo-read-write starting.txt /*viminfo-read-write*
viminfo-s options.txt /*viminfo-s*
+viminfo-timestamp starting.txt /*viminfo-timestamp*
viminfo-write starting.txt /*viminfo-write*
vimrc starting.txt /*vimrc*
vimrc-filetype usr_05.txt /*vimrc-filetype*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 07c4f05..88a6ce2 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt* For Vim version 7.4. Last change: 2016 Jul 02
+*todo.txt* For Vim version 7.4. Last change: 2016 Jul 09
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -34,14 +34,10 @@
*known-bugs*
-------------------- Known bugs and current work -----------------------
-Further implement 'barline' in viminfo:
-- Use timestamp for more items: locations, marks.
-
Problem with setqflist([]): grep 4 times, ":colder 3", setqflist([]) will
clear the next list, not the current one. Ramel Eshed, Jun 8.
+channel:
-- Should write_buf_line() change NL to NUL characters?
- GUI cursor blinking interrupted when the job output goes to a buffer that is
in a window. (Ramel Eshed, 2016 Jun 9)
- GUI cursor blinking interrupted when there is a status line. (Ramel Eshed,
@@ -61,17 +57,11 @@
With xterm could use -S{pty}.
Quickfix improvements for background building and grepping:
- Patch from Yegappan, 2016 Jun 17.
- Need to reset values when starting a new list.
-- If 'efm' is the same as last time re-use the fmt_first list.
-- Do not clear "dir_stack", "directory" and "file_stack", "currfile" when
- using ":addexpr".
- Move multiline, multiignore, multiscan outside of the function.
-- Add :cbottom, if quickfix window is visible scroll to make the last line
- visible. Use scroll_cursor_bot(0, FALSE);
-- Add a flag/property/option to quickfix commands and functions to keep a file
- name as a string and not create a buffer for it? To avoid creating lots of
- buffers. (Ramel Eshed)
+- Add a command modifier ":usefname" to quickfix commands and functions to
+ keep a file name as a string and not create a buffer for it? To avoid
+ creating lots of buffers. (Ramel Eshed)
+ Store the relative file name and set a flag "qf_relative". Before changing
+ directory turn them into full paths.
Regexp problems:
- When using automatic engine selection there is a false match. Forcing
@@ -130,16 +120,18 @@
Should json_encode()/json_decode() restrict recursiveness?
Or avoid recursiveness.
-Patch to support 64 bit ints for Number. (Ken Takata, 2016 Jan 21)
-Update 2016 Apr 24.
-Update 2016 Jun 14, includes some tests.
-
-Patch to support expression argument to sort() instead of a function name.
-Yasuhiro Matsumoto, 2013 May 31.
-Or should we add a more general mechanism, like a lambda() function?
+Add a lambda() function.
Patch by Yasuhiro Matsumoto, 2014 Sep 16, update 2016 Apr 17.
Correction for test, Ken Takata, 2016 May 27.
Merged patch: Ken Takata, 2016 Jun 15.
+Need to separate-out closure and lambda somehow.
+Define lambda directly, not as a string: {v -> v * 8}
+Lambda implementation by Ken Takata, 2016 Jul 7.
+
+Python: Extended funcrefs: use func_T* structure in place of char_u* function
+names.
+(ZyX, 2013 Jul 15, update Sep 22, 24, 28; Update 2013 Dec 15, 2014 Jan 6)
+Also fixes Bug: E685 error for func_unref(). (ZyX, 2010 Aug 5)
Once .exe with updated installer is available: Add remark to download page
about /S and /D options (Ken Takata, 2016 Apr 13)
@@ -161,7 +153,8 @@
5)
'completeopt' noinsert breaks redo register (Shougo, 2016 Jun 18, #874)
-Patch to fix this: #875
+Patch to fix this: #905.
+There also is #875 to fix another problem?
Problem with whitespace in errorformat. (Gerd Wachsmuth, 2016 May 15, #807)
@@ -769,11 +762,6 @@
:help gives example for z?, but it does not work. m? and t? do work.
-Python: Extended funcrefs: use func_T* structure in place of char_u* function
-names.
-(ZyX, 2013 Jul 15, update Sep 22, 24, 28; Update 2013 Dec 15, 2014 Jan 6)
-Also fixes Bug: E685 error for func_unref(). (ZyX, 2010 Aug 5)
-
Patch to add funcref to Lua. (Luis Carvalho, 2013 Sep 4)
With tests: Sep 5.
diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt
index d720344..1eec17e 100644
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -1,4 +1,4 @@
-*usr_41.txt* For Vim version 7.4. Last change: 2016 Jun 13
+*usr_41.txt* For Vim version 7.4. Last change: 2016 Jul 09
VIM USER MANUAL - by Bram Moolenaar
@@ -611,6 +611,7 @@
byteidxcomp() like byteidx() but count composing characters
repeat() repeat a string multiple times
eval() evaluate a string expression
+ execute() execute an Ex command and get the output
List manipulation: *list-functions*
get() get an item without error for wrong index
@@ -978,6 +979,8 @@
shiftwidth() effective value of 'shiftwidth'
+ wordcount() get byte/word/char count of buffer
+
taglist() get list of matching tags
tagfiles() get a list of tags files
@@ -986,7 +989,6 @@
perleval() evaluate Perl expression (|+perl|)
py3eval() evaluate Python expression (|+python3|)
pyeval() evaluate Python expression (|+python|)
- wordcount() get byte/word/char count of buffer
==============================================================================
*41.7* Defining a function
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index 31f1a1b..01182c7 100644
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -1,4 +1,4 @@
-*various.txt* For Vim version 7.4. Last change: 2016 May 24
+*various.txt* For Vim version 7.4. Last change: 2016 Jul 09
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -470,9 +470,12 @@
shown on the screen. When [!] is included, an
existing file is overwritten. When [!] is omitted,
and {file} exists, this command fails.
+
Only one ":redir" can be active at a time. Calls to
":redir" will close any active redirection before
- starting redirection to the new target.
+ starting redirection to the new target. For recursive
+ use check out |execute()|.
+
To stop the messages and commands from being echoed to
the screen, put the commands in a function and call it
with ":silent call Function()".
@@ -512,6 +515,8 @@
redirection starts, if the variable is removed or
locked or the variable type is changed, then further
command output messages will cause errors. {not in Vi}
+ To get the output of one command the |execute()|
+ function can be used.
:redi[r] =>> {var} Append messages to an existing variable. Only string
variables can be used. {not in Vi}
diff --git a/runtime/doc/version8.txt b/runtime/doc/version8.txt
index bb8d62d..5340733 100644
--- a/runtime/doc/version8.txt
+++ b/runtime/doc/version8.txt
@@ -1,4 +1,4 @@
-*version8.txt* For Vim version 8.0. Last change: 2016 Jun 04
+*version8.txt* For Vim version 8.0. Last change: 2016 Jul 03
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -16,12 +16,12 @@
See |version4.txt|, |version5.txt|, |version6.txt| and |version7.txt| for
differences between other versions.
-INCOMPATIBLE CHANGES |incompatible-8|
-
NEW FEATURES |new-8|
Vim script enhancements |new-vim-script-8|
+INCOMPATIBLE CHANGES |incompatible-8|
+
IMPROVEMENTS |improvements-8|
COMPILE TIME CHANGES |compile-changes-8|
@@ -30,21 +30,6 @@
==============================================================================
-INCOMPATIBLE CHANGES *incompatible-8*
-
-These changes are incompatible with previous releases. Check this list if you
-run into a problem when upgrading from Vim 7.4 to 8.0.
-
-The support for MS-DOS has been removed. It hasn't been working for a while
-and removing it cleans up the code quite a bit.
-
-The support for Windows 16 bit (Windows 95 and older) has been removed.
-
-Minor incompatibilities:
-
-For filetype detection: ...
-
-==============================================================================
NEW FEATURES *new-8*
First a list of the bigger new features. A comprehensive list is below.
@@ -52,14 +37,18 @@
Asynchronous I/O support, channels ~
-Vim can now exchange messages with another process in the background. The
-messages are received and handled while Vim is waiting for a character. See
-|channel-demo| for an example, communicating with a Python server.
+Vim can now exchange messages with other processes in the background. This
+makes it possible to have servers do work and send back the results to Vim.
+See |channel-demo| for an example, this shows communicating with a Python
+server.
Closely related to channels is JSON support. JSON is widely supported and can
easily be used for inter-process communication, allowing for writing a server
in any language. The functions to use are |json_encode()| and |json_decode()|.
+This makes it possible to build very complex plugins, written in any language
+and running in a separate process.
+
Jobs ~
@@ -74,8 +63,8 @@
Also asynchronous are timers. They can fire once or repeatedly and invoke a
function to do any work. For example: >
let tempTimer = timer_start(4000, 'CheckTemp')
-This will make a call four seconds (4000 milli seconds) later, like: >
- call CheckTemp()
+This will call the CheckTemp() function four seconds (4000 milli seconds)
+later.
Partials ~
@@ -85,8 +74,7 @@
especially useful for callbacks on channels and timers. E.g., for the timer
example above, to pass an argument to the function: >
let tempTimer = timer_start(4000, function('CheckTemp', ['out']))
-This will a make call four seconds later, like: >
- call CheckTemp('out')
+This will call CheckTemp('out') four seconds later.
Packages ~
@@ -103,26 +91,7 @@
This is for Vim developers. So far writing tests for Vim has not been easy.
Vim 8 adds assert functions and a framework to run tests. This makes it a lot
simpler to write tests and keep them updated. Also new are several functions
-that are added specifically for testing.
-
-These functions have been added:
- |assert_equal()|
- |assert_notequal()|
- |assert_exception()|
- |assert_fails()|
- |assert_false()|
- |assert_match()|
- |assert_notmatch()|
- |assert_true()|
- |test_alloc_fail()|
- |test_disable_char_avail()|
- |test_garbagecollect_now()|
- |test_null_channel()|
- |test_null_dict()|
- |test_null_job()|
- |test_null_list()|
- |test_null_partial()|
- |test_null_string()|
+that are added specifically for testing. See |test-functions|.
Window IDs ~
@@ -132,6 +101,13 @@
unique ID, so that they are easy to find. See |win_getid()| and |win_id2win()|.
+Viminfo uses timestamps ~
+
+Previously the information stored in viminfo was whatever the last Vim wrote
+there. Now timestamps are used to always keep the most recent items.
+See |viminfo-timestamp|.
+
+
Wrapping lines with indent ~
The 'breakindent' option has been added to be able to wrap lines without
@@ -216,6 +192,21 @@
==============================================================================
+INCOMPATIBLE CHANGES *incompatible-8*
+
+These changes are incompatible with previous releases. Check this list if you
+run into a problem when upgrading from Vim 7.4 to 8.0.
+
+The support for MS-DOS has been removed. It hasn't been working for a while
+and removing it cleans up the code quite a bit.
+
+The support for Windows 16 bit (Windows 95 and older) has been removed.
+
+Minor incompatibilities:
+
+For filetype detection: ...
+
+==============================================================================
IMPROVEMENTS *improvements-8*
The existing blowfish encryption turned out to be much weaker than it was
diff --git a/runtime/syntax/c.vim b/runtime/syntax/c.vim
index 3fe3256..57d99ab 100644
--- a/runtime/syntax/c.vim
+++ b/runtime/syntax/c.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2016 Apr 10
+" Last Change: 2016 Jul 07
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
@@ -295,7 +295,7 @@
syn keyword cConstant SCHAR_MIN SINT_MIN SLONG_MIN SSHRT_MIN
syn keyword cConstant SCHAR_MAX SINT_MAX SLONG_MAX SSHRT_MAX
if !exists("c_no_c99")
- syn keyword cConstant __func__
+ syn keyword cConstant __func__ __VA_ARGS__
syn keyword cConstant LLONG_MIN LLONG_MAX ULLONG_MAX
syn keyword cConstant INT8_MIN INT16_MIN INT32_MIN INT64_MIN
syn keyword cConstant INT8_MAX INT16_MAX INT32_MAX INT64_MAX
diff --git a/runtime/syntax/cpp.vim b/runtime/syntax/cpp.vim
index c7a6838..fefd0ff 100644
--- a/runtime/syntax/cpp.vim
+++ b/runtime/syntax/cpp.vim
@@ -2,7 +2,7 @@
" Language: C++
" Current Maintainer: vim-jp (https://github.com/vim-jp/vim-cpp)
" Previous Maintainer: Ken Shan <ccshan@post.harvard.edu>
-" Last Change: 2015 Nov 10
+" Last Change: 2016 Jul 07
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -80,6 +80,7 @@
HiLink cppConstant Constant
HiLink cppRawStringDelimiter Delimiter
HiLink cppRawString String
+ HiLink cppNumber Number
delcommand HiLink
endif
diff --git a/runtime/syntax/pf.vim b/runtime/syntax/pf.vim
index 1a8f34b..81add10 100644
--- a/runtime/syntax/pf.vim
+++ b/runtime/syntax/pf.vim
@@ -2,30 +2,22 @@
" 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
+" Last Change: 2016 Jul 06
-" 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")
+if exists("b:current_syntax")
finish
endif
setlocal foldmethod=syntax
+syn iskeyword @,48-57,_,-,+
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 pfCmd anchor antispoof block include match pass queue
+syn keyword pfCmd queue set table
+syn match pfCmd /^\s*load\sanchor\>/
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 /}/
@@ -34,43 +26,81 @@
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 pfTable /<\s*[a-zA-Z0-9_:][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
+syn region pfString start=/"/ skip=/\\"/ end=/"/ contains=pfIPv4,pfIPv6,pfNetmask,pfTable,pfVar
+syn region pfString start=/'/ skip=/\\'/ end=/'/ contains=pfIPv4,pfIPv6,pfNetmask,pfTable,pfVar
-" 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
+syn keyword pfService 802-11-iapp Microsoft-SQL-Monitor
+syn keyword pfService Microsoft-SQL-Server NeXTStep NextStep
+syn keyword pfService afpovertcp afs3-bos afs3-callback afs3-errors
+syn keyword pfService afs3-fileserver afs3-kaserver afs3-prserver
+syn keyword pfService afs3-rmtsys afs3-update afs3-vlserver
+syn keyword pfService afs3-volser amt-redir-tcp amt-redir-tls
+syn keyword pfService amt-soap-http amt-soap-https asf-rmcp at-echo
+syn keyword pfService at-nbp at-rtmp at-zis auth authentication
+syn keyword pfService bfd-control bfd-echo bftp bgp bgpd biff bootpc
+syn keyword pfService bootps canna cddb cddbp chargen chat cmd
+syn keyword pfService cmip-agent cmip-man comsat conference
+syn keyword pfService conserver courier csnet-ns cso-ns cvspserver
+syn keyword pfService daap datametrics daytime dhcpd-sync
+syn keyword pfService dhcpv6-client dhcpv6-server discard domain
+syn keyword pfService echo efs eklogin ekshell ekshell2 epmap eppc
+syn keyword pfService exec finger ftp ftp-data git gopher hostname
+syn keyword pfService hostnames hprop http https hunt hylafax iapp
+syn keyword pfService icb ident imap imap2 imap3 imaps ingreslock
+syn keyword pfService ipp iprop ipsec-msft ipsec-nat-t ipx irc
+syn keyword pfService isakmp iscsi isisd iso-tsap kauth kdc kerberos
+syn keyword pfService kerberos-adm kerberos-iv kerberos-sec
+syn keyword pfService kerberos_master kf kip klogin kpasswd kpop
+syn keyword pfService krb524 krb_prop krbupdate krcmd kreg kshell kx
+syn keyword pfService l2tp ldap ldaps ldp link login mail mdns
+syn keyword pfService mdnsresponder microsoft-ds ms-sql-m ms-sql-s
+syn keyword pfService msa msp mtp mysql name nameserver netbios-dgm
+syn keyword pfService netbios-ns netbios-ssn netnews netplan netrjs
+syn keyword pfService netstat netwall newdate nextstep nfs nfsd
+syn keyword pfService nicname nnsp nntp ntalk ntp null openwebnet
+syn keyword pfService ospf6d ospfapi ospfd photuris pop2 pop3 pop3pw
+syn keyword pfService pop3s poppassd portmap postgresql postoffice
+syn keyword pfService pptp presence printer prospero prospero-np
+syn keyword pfService puppet pwdgen qotd quote radacct radius
+syn keyword pfService radius-acct rdp readnews remotefs resource rfb
+syn keyword pfService rfe rfs rfs_server ripd ripng rje rkinit rlp
+syn keyword pfService routed router rpc rpcbind rsync rtelnet rtsp
+syn keyword pfService sa-msg-port sane-port sftp shell sieve silc
+syn keyword pfService sink sip smtp smtps smux snmp snmp-trap
+syn keyword pfService snmptrap snpp socks source spamd spamd-cfg
+syn keyword pfService spamd-sync spooler spop3 ssdp ssh submission
+syn keyword pfService sunrpc supdup supfiledbg supfilesrv support
+syn keyword pfService svn svrloc swat syslog syslog-tls systat
+syn keyword pfService tacacs tacas+ talk tap tcpmux telnet tempo
+syn keyword pfService tftp time timed timeserver timserver tsap
+syn keyword pfService ttylink ttytst ub-dns-control ulistserv untp
+syn keyword pfService usenet users uucp uucp-path uucpd vnc vxlan
+syn keyword pfService wais webster who whod whois www x400 x400-snd
+syn keyword pfService xcept xdmcp xmpp-bosh xmpp-client xmpp-server
+syn keyword pfService z3950 zabbix-agent zabbix-trapper zebra
+syn keyword pfService zebrasrv
- 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
+hi def link pfCmd Statement
+hi def link pfComment Comment
+hi def link pfCont Statement
+hi def link pfErrClose Error
+hi def link pfIPv4 Type
+hi def link pfIPv6 Type
+hi def link pfNetmask Constant
+hi def link pfNum Constant
+hi def link pfService Constant
+hi def link pfString String
+hi def link pfTable Identifier
+hi def link pfTodo Todo
+hi def link pfVar Identifier
+hi def link pfVarAssign Identifier
+hi def link pfWildAddr Type
let b:current_syntax = "pf"