changeset 19404:7be3663e2f2b

Update runtime files. Commit: https://github.com/vim/vim/commit/ebdf3c964a901fc00c9009689f7cfda478342c51 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Feb 15 21:41:42 2020 +0100 Update runtime files.
author Bram Moolenaar <Bram@vim.org>
date Sat, 15 Feb 2020 21:45:05 +0100
parents b37055372a73
children 08f4dc2ba716
files runtime/doc/change.txt runtime/doc/options.txt runtime/doc/popup.txt runtime/doc/starting.txt runtime/doc/tabpage.txt runtime/doc/tags runtime/doc/testing.txt runtime/doc/todo.txt runtime/doc/vim9.txt runtime/filetype.vim runtime/syntax/dockerfile.vim runtime/syntax/spec.vim runtime/syntax/sshconfig.vim runtime/syntax/syncolor.vim
diffstat 14 files changed, 113 insertions(+), 69 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt*    For Vim version 8.2.  Last change: 2019 Sep 28
+*change.txt*    For Vim version 8.2.  Last change: 2020 Feb 09
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -636,6 +636,8 @@ 4.2 Substitute						*:substitute*
 			|cmdline-ranges|.
 
 			See |:s_flags| for [flags].
+			The delimiter doesn't need to be /, see
+			|pattern-delimiter|.
 
 :[range]s[ubstitute] [flags] [count]
 :[range]&[&][flags] [count]					*:&*
@@ -775,7 +777,7 @@ This deletes "TESTING" from all lines, b
 For compatibility with Vi these two exceptions are allowed:
 "\/{string}/" and "\?{string}?" do the same as "//{string}/r".
 "\&{string}&" does the same as "//{string}/".
-							*E146*
+						*pattern-delimiter* *E146*
 Instead of the '/' which surrounds the pattern and replacement string, you
 can use any other single-byte character, but not an alphanumeric character,
 '\', '"' or '|'.  This is useful if you want to include a '/' in the search
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 8.2.  Last change: 2020 Jan 24
+*options.txt*	For Vim version 8.2.  Last change: 2020 Feb 14
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1380,6 +1380,7 @@ A jump table for the options with a shor
 
 	This option is used together with 'bufhidden' and 'swapfile' to
 	specify special kinds of buffers.   See |special-buffers|.
+	Also see |win_gettype()|, which returns the type of the window.
 
 	Be careful with changing this option, it can have many side effects!
 
--- a/runtime/doc/popup.txt
+++ b/runtime/doc/popup.txt
@@ -1,4 +1,4 @@
-*popup.txt*  For Vim version 8.2.  Last change: 2020 Feb 03
+*popup.txt*  For Vim version 8.2.  Last change: 2020 Feb 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -402,6 +402,7 @@ popup_hide({id})						*popup_hide()*
 		hidden.
 		If window {id} does not exist nothing happens.  If window {id}
 		exists but is not a popup window an error is given. *E993*
+		If popup window {id} contains a terminal an error is given.
 
 		Can also be used as a |method|: >
 			GetPopup()->popup_hide()
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -1,4 +1,4 @@
-*starting.txt*  For Vim version 8.2.  Last change: 2020 Jan 20
+*starting.txt*  For Vim version 8.2.  Last change: 2020 Feb 04
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -58,10 +58,12 @@ filename	One or more file names.  The fi
 		that is read from stdin.  The commands that would normally be
 		read from stdin will now be read from stderr.  Example: >
 			find . -name "*.c" -print | vim -
-<		The buffer will not be marked as modified, so that it's easy
-		to exit.  Be careful to mark it as modified if you don't want
-		to accidentally lose it.  Example: >
-			ls | view -
+
+<		The buffer will be marked as modified, so that you are
+		reminded to save the text when trying to exit.  If you don't
+		like that, put this these lines in your vimrc: >
+			" Don't set 'modified' when reading from stdin
+			au StdinReadPost * set nomodified
 <
 		Starting in Ex mode: >
 			ex -
--- a/runtime/doc/tabpage.txt
+++ b/runtime/doc/tabpage.txt
@@ -1,4 +1,4 @@
-*tabpage.txt*   For Vim version 8.2.  Last change: 2019 May 05
+*tabpage.txt*   For Vim version 8.2.  Last change: 2020 Feb 06
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -138,7 +138,7 @@ something else.
 		    :+tabclose	    " close the next tab page
 		    :1tabclose	    " close the first tab page
 		    :$tabclose	    " close the last tab page
-		    :tabclose -2    " close the two previous tab page
+		    :tabclose -2    " close the 2nd previous tab page 
 		    :tabclose +	    " close the next tab page
 		    :tabclose 3	    " close the third tab page
 		    :tabclose $	    " close the last tab page
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -2341,6 +2341,8 @@ 90.5	usr_90.txt	/*90.5*
 :diffupdate	diff.txt	/*:diffupdate*
 :dig	digraph.txt	/*:dig*
 :digraphs	digraph.txt	/*:digraphs*
+:disa	vim9.txt	/*:disa*
+:disassemble	vim9.txt	/*:disassemble*
 :display	change.txt	/*:display*
 :dj	tagsrch.txt	/*:dj*
 :djump	tagsrch.txt	/*:djump*
@@ -6108,6 +6110,7 @@ dtd2vim	insert.txt	/*dtd2vim*
 dying-variable	eval.txt	/*dying-variable*
 e	motion.txt	/*e*
 easy	starting.txt	/*easy*
+echoraw()	eval.txt	/*echoraw()*
 echospace-variable	eval.txt	/*echospace-variable*
 edit-a-file	editing.txt	/*edit-a-file*
 edit-binary	editing.txt	/*edit-binary*
@@ -8244,6 +8247,7 @@ patches-8.2	version8.txt	/*patches-8.2*
 pathshorten()	eval.txt	/*pathshorten()*
 pattern	pattern.txt	/*pattern*
 pattern-atoms	pattern.txt	/*pattern-atoms*
+pattern-delimiter	change.txt	/*pattern-delimiter*
 pattern-multi-byte	pattern.txt	/*pattern-multi-byte*
 pattern-multi-items	pattern.txt	/*pattern-multi-items*
 pattern-overview	pattern.txt	/*pattern-overview*
@@ -9485,6 +9489,7 @@ test_refcount()	testing.txt	/*test_refco
 test_scrollbar()	testing.txt	/*test_scrollbar()*
 test_setmouse()	testing.txt	/*test_setmouse()*
 test_settime()	testing.txt	/*test_settime()*
+test_srand_seed()	testing.txt	/*test_srand_seed()*
 testing	testing.txt	/*testing*
 testing-support	testing.txt	/*testing-support*
 testing-variable	eval.txt	/*testing-variable*
@@ -10050,6 +10055,7 @@ win32s	os_win32.txt	/*win32s*
 win_execute()	eval.txt	/*win_execute()*
 win_findbuf()	eval.txt	/*win_findbuf()*
 win_getid()	eval.txt	/*win_getid()*
+win_gettype()	eval.txt	/*win_gettype()*
 win_gotoid()	eval.txt	/*win_gotoid()*
 win_id2tabwin()	eval.txt	/*win_id2tabwin()*
 win_id2win()	eval.txt	/*win_id2win()*
--- a/runtime/doc/testing.txt
+++ b/runtime/doc/testing.txt
@@ -1,4 +1,4 @@
-*testing.txt*	For Vim version 8.2.  Last change: 2019 Sep 08
+*testing.txt*	For Vim version 8.2.  Last change: 2020 Feb 08
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.2.  Last change: 2020 Feb 04
+*todo.txt*      For Vim version 8.2.  Last change: 2020 Feb 15
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -40,15 +40,15 @@ browser use: https://github.com/vim/vim/
 
 Include ipv6 syntax changes?  (DJ Lucas, #5360)
 
-Add win_type(), which "popup" and "cmdline" as values?
+Avoid modifyOtherKeys temporarily:
+	call modify_other_keys(v:false)  " disable modifyOtherKeys
+Should fix #5617.
 
 Vim9 script:
-- test s:var += 'some'
-  test exported += 'some'
-- implement default values for optional arguments
-  Generate instructions at start of function, skip over if argument provided?
+- "echo Func()" is an error if Func() does not return anything.
 - Disallow unlet for local/script/imported vars
 - :func inside vim9script must still use a:arg
+- Make "++nr" work.
 - Check that import in legacy script works and puts item in s:
 - Error in any command in "vim9script" aborts sourcing.
 - Find a way to test expressions in legacy and Vim9 script without duplication
@@ -58,6 +58,7 @@ Vim9 script:
   Test return inside try/finally jumps to finally and then returns.
 - call autoload function.
 - Type checking arguments when calling :def function
+- Implement more expressions, e.g. [a:b]
 - can use func as reference:
 	def SomeFunc() ...
 	map(list, SomeFunc)
@@ -164,6 +165,10 @@ Patch to move duplicated code to a funct
 
 Patch to use more FOR_ALL_ macros and use them. (Yegappan Lakshmanan, #5339)
 
+Patch to explain use of "%" in :!.  (#5591)
+
+Patch to add "-d" to xxd. (#5616)
+
 Running test_gui and test_gui_init with Motif sometimes kills the window
 manager.  Problem with Motif? Now test_gui crashes in submenu_change().
 Athena is OK.
@@ -175,6 +180,8 @@ Flag in 'formatoptions' is not used in t
 Patch to add 'vtp' option. (#5344)
 Needs better docs.  Is there a better name?
 
+Patch for Haiku support. (Emir Sarı, #5605)
+
 undo result wrong: Masato Nishihata, #4798
 
 When 'lazyredraw' is set sometimes the title is not updated.
@@ -186,11 +193,21 @@ Patch to add function to return the text
 Patch for Template string: #4491.  New pull: #4634
 Implementation is too inefficient, avoid using lambda.
 
+Patch to add readdirex() (Ken Takata, #5619)
+
+Request to support <Cmd> in mappings, similar to how Neovim does this.
+(Daniel Hahler, #4784)
+
 Undo puts cursor in wrong line after "cG<Esc>" undo.
 
 :unmap <c-n> gives error but does remove the mapping. (Antony Scriven, 2019
 Dec 19)
 
+Dos uninstal may delete vim.bat from the wrong directory (e.g., when someone
+makes his own wrapper).  Add a magic string with the version number to the
+.bat file and check for it in the uninstaller.  E.g.
+          # uninstall key: vim8.1*
+
 Patch to fix session file when using multiple tab pages. (Jason Franklin, 2019
 May 20)
 Also put :argadd commands at the start for all buffers, so that their order
@@ -216,6 +233,11 @@ ex_next() should pass flag to do_argfile
 Adding "10" to 'spellsuggest' causes spell suggestions to become very slow.
 (#4087)
 
+FR: add search_status(), the current values displayed for search (current
+match, total matches). (#5631)
+Patch to provide search stats in a variable, so that it can be used in the
+statusline. (Fujiwara Takuya, #4446)
+
 ":helptags ALL" should skip directories where "tags" cannot be written.
 (Matěj Cepl, #5026)
 
@@ -225,8 +247,7 @@ unlisted. (#4478)
 
 Patch to include reduce() function. (#5481)
 
-Patch to provide search stats in a variable, so that it can be used in the
-statusline. (Fujiwara Takuya, #4446)
+Statusline highlighting error, off by one. (#5599)
 
 Enable 'termbidi' if $VTE_VERSION >= 5703 ?
 
@@ -1109,11 +1130,9 @@ Make a function to check for function-li
 Screen updated delayed when using CTRL-O u in Insert mode.
 (Barlik, #1191)  Perhaps because status message?
 
-Implement optional arguments for functions.
+Implement named arguments for functions:
     func Foo(start, count = 1 all = 1)
-    call Foo(12)
     call Foo(12, all = 0)
-    call Foo(12, 15, 0)
 
 Add a command to take a range of lines, filter them and put the output
 somewhere else.  :{range}copy {dest} !cmd
@@ -2758,11 +2777,6 @@ argument list or opening each file in a 
 Windows installer: licence text should not use indent, causes bad word wrap.
 (Benjamin Fritz, 2010 Aug 16)
 
-Dos uninstal may delete vim.bat from the wrong directory (e.g., when someone
-makes his own wrapper).  Add a magic string with the version number to the
-.bat file and check for it in the uninstaller.  E.g.
-          # uninstall key: vim8.1*
-
 Changes for Win32 makefile. (Mike Williams, 2007 Jan 22, Alexei Alexandrov,
 2007 Feb 8)
 
@@ -4491,8 +4505,6 @@ 8   argc() returns 0 when using "vim -t 
 8   Pass the command line arguments to Vim scripts in some way.  As v:args
     List?  Or extra parameter to argv()?
 8   Add command arguments with three dashes, passed on to Vim scripts.
-9   Add optional arguments to user functions:
-	:func myFunc(arg1, arg2, arg3 = "blah", arg4 = 17)
 6   User functions: Functions local to buffer "b:func()"?
 8   For Strings add ":let var[{expr}] = {expr}".  When past the end of "var"
     just ignore.
--- a/runtime/doc/vim9.txt
+++ b/runtime/doc/vim9.txt
@@ -1,4 +1,4 @@
-*vim9.txt*	For Vim version 8.2.  Last change: 2020 Jan 30
+*vim9.txt*	For Vim version 8.2.  Last change: 2020 Feb 13
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -231,11 +231,8 @@ THIS IS STILL UNDER DEVELOPMENT - ANYTHI
 			the function follows in the next lines, until the
 			matching `:enddef`.
 
-			When {return-type} is omitted the return type will be
-			decided upon by the first encountered `return`
-			statement in the function.  E.g., for: >
-				return 'message'
-<			The return type will be "string".
+			When {return-type} is omitted the function is not
+			expected to return anything.
 			
 			{arguments} is a sequence of zero or more argument
 			declarations.  There are three forms:
@@ -257,6 +254,10 @@ THIS IS STILL UNDER DEVELOPMENT - ANYTHI
 :enddef			End of a function defined with `:def`.
 
 
+						*:disa* *:disassemble*
+:disa[ssemble] {func}	Show the instructions generated for {func}.
+			This is for debugging and testing.
+
 ==============================================================================
 
 4. Types					*vim9-types*
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
 " Vim support file to detect file types
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2020 Jan 22
+" Last Change:	2020 Jan 31
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
--- a/runtime/syntax/dockerfile.vim
+++ b/runtime/syntax/dockerfile.vim
@@ -1,6 +1,6 @@
 " dockerfile.vim - Syntax highlighting for Dockerfiles
 " Maintainer:   Honza Pokorny <https://honza.ca>
-" Last Change:  2020 Jan 27
+" Last Change:  2020 Feb 11
 " License:      BSD
 
 " https://docs.docker.com/engine/reference/builder/
@@ -22,12 +22,12 @@ syntax region dockerfileFrom matchgroup=
 syntax keyword dockerfileKeyword contained ADD ARG CMD COPY ENTRYPOINT ENV EXPOSE HEALTHCHECK LABEL MAINTAINER ONBUILD RUN SHELL STOPSIGNAL USER VOLUME WORKDIR
 syntax match dockerfileOption contained /\v(^|\s)\zs--\S+/
 
-syntax match dockerfileInstruction contained /\v(\S+)(\s+--\S+)*/             contains=dockerfileKeyword,dockerfileOption skipwhite nextgroup=dockerfileValue
-syntax match dockerfileInstruction contained /\v(ADD|COPY)(\s+--\S+)*/        contains=dockerfileKeyword,dockerfileOption skipwhite nextgroup=dockerfileJSON
-syntax match dockerfileInstruction contained /\v(HEALTHCHECK)(\s+--\S+)*/     contains=dockerfileKeyword,dockerfileOption skipwhite nextgroup=dockerfileInstruction
-syntax match dockerfileInstruction contained /\v(CMD|ENTRYPOINT|RUN)/         contains=dockerfileKeyword skipwhite nextgroup=dockerfileShell
-syntax match dockerfileInstruction contained /\v(CMD|ENTRYPOINT|RUN)\ze\s+\[/ contains=dockerfileKeyword skipwhite nextgroup=dockerfileJSON
-syntax match dockerfileInstruction contained /\v(SHELL|VOLUME)/               contains=dockerfileKeyword skipwhite nextgroup=dockerfileJSON
+syntax match dockerfileInstruction contained /\v<(\S+)>(\s+--\S+)*/             contains=dockerfileKeyword,dockerfileOption skipwhite nextgroup=dockerfileValue
+syntax match dockerfileInstruction contained /\v<(ADD|COPY)>(\s+--\S+)*/        contains=dockerfileKeyword,dockerfileOption skipwhite nextgroup=dockerfileJSON
+syntax match dockerfileInstruction contained /\v<(HEALTHCHECK)>(\s+--\S+)*/     contains=dockerfileKeyword,dockerfileOption skipwhite nextgroup=dockerfileInstruction
+syntax match dockerfileInstruction contained /\v<(CMD|ENTRYPOINT|RUN)>/         contains=dockerfileKeyword skipwhite nextgroup=dockerfileShell
+syntax match dockerfileInstruction contained /\v<(CMD|ENTRYPOINT|RUN)>\ze\s+\[/ contains=dockerfileKeyword skipwhite nextgroup=dockerfileJSON
+syntax match dockerfileInstruction contained /\v<(SHELL|VOLUME)>/               contains=dockerfileKeyword skipwhite nextgroup=dockerfileJSON
 
 syntax region dockerfileString contained start=/\v"/ skip=/\v\\./ end=/\v"/
 syntax region dockerfileJSON   contained keepend start=/\v\[/ skip=/\v\\\_./ end=/\v$/ contains=@JSON
--- a/runtime/syntax/spec.vim
+++ b/runtime/syntax/spec.vim
@@ -3,7 +3,7 @@
 " Language:    SPEC: Build/install scripts for Linux RPM packages
 " Maintainer:  Igor Gnatenko i.gnatenko.brain@gmail.com
 " Former Maintainer:  Donovan Rebbechi elflord@panix.com (until March 2014)
-" Last Change: 2019 Sep 27
+" Last Change: 2020 Feb 07
 
 " quit when a syntax file was already loaded
 if exists("b:current_syntax")
@@ -111,7 +111,7 @@ syn region specDescriptionArea matchgrou
 syn region specPackageArea matchgroup=specSection start='^%package' end='^%'me=e-1 contains=specPackageOpts,specPreAmble,specComment
 
 "%% Scripts Section %%
-syn region specScriptArea matchgroup=specSection start='^%\(prep\|build\|install\|clean\|pre\|postun\|preun\|post\|posttrans\)\>' skip='^%{\|^%\(define\|patch\d*\|configure\|GNUconfigure\|setup\|autosetup\|autopatch\|find_lang\|make_build\|makeinstall\|make_install\)\>' end='^%'me=e-1 contains=specSpecialVariables,specVariables,@specCommands,specVariables,shDo,shFor,shCaseEsac,specNoNumberHilite,specCommandOpts,shComment,shIf,specSpecialChar,specMacroIdentifier,specSectionMacroArea,specSectionMacroBracketArea,shOperator,shQuote1,shQuote2
+syn region specScriptArea matchgroup=specSection start='^%\(prep\|build\|install\|clean\|check\|pre\|postun\|preun\|post\|posttrans\)\>' skip='^%{\|^%\(define\|patch\d*\|configure\|GNUconfigure\|setup\|autosetup\|autopatch\|find_lang\|make_build\|makeinstall\|make_install\)\>' end='^%'me=e-1 contains=specSpecialVariables,specVariables,@specCommands,specVariables,shDo,shFor,shCaseEsac,specNoNumberHilite,specCommandOpts,shComment,shIf,specSpecialChar,specMacroIdentifier,specSectionMacroArea,specSectionMacroBracketArea,shOperator,shQuote1,shQuote2
 
 "%% Changelog Section %%
 syn region specChangelogArea matchgroup=specSection start='^%changelog' end='^%'me=e-1 contains=specEmail,specURL,specWeekday,specMonth,specNumber,specComment,specLicense
--- a/runtime/syntax/sshconfig.vim
+++ b/runtime/syntax/sshconfig.vim
@@ -5,8 +5,9 @@
 " Contributor:  Leonard Ehrenfried <leonard.ehrenfried@web.de>
 " Contributor:  Karsten Hopp <karsten@redhat.com>
 " Contributor:  Dean, Adam Kenneth <adam.ken.dean@hpe.com>
-" Last Change:	2019 Sep 09
+" Last Change:	2020 Feb 12
 "		Added RemoteCommand from pull request #4809
+"		Included additional keywords from Martin.
 " SSH Version:	7.4p1
 "
 
@@ -131,24 +132,25 @@ syn case ignore
 " Keywords
 syn keyword sshconfigHostSect Host
 
-syn keyword sshconfigMatch canonical exec host originalhost user localuser all
+syn keyword sshconfigMatch canonical final exec host originalhost user localuser all
 
 syn keyword sshconfigKeyword AddressFamily
 syn keyword sshconfigKeyword AddKeysToAgent
 syn keyword sshconfigKeyword BatchMode
 syn keyword sshconfigKeyword BindAddress
+syn keyword sshconfigKeyword BindInterface
 syn keyword sshconfigKeyword CanonicalDomains
 syn keyword sshconfigKeyword CanonicalizeFallbackLocal
 syn keyword sshconfigKeyword CanonicalizeHostname
 syn keyword sshconfigKeyword CanonicalizeMaxDots
+syn keyword sshconfigKeyword CanonicalizePermittedCNAMEs
+syn keyword sshconfigKeyword CASignatureAlgorithms
 syn keyword sshconfigKeyword CertificateFile
 syn keyword sshconfigKeyword ChallengeResponseAuthentication
 syn keyword sshconfigKeyword CheckHostIP
-syn keyword sshconfigKeyword Cipher
 syn keyword sshconfigKeyword Ciphers
 syn keyword sshconfigKeyword ClearAllForwardings
 syn keyword sshconfigKeyword Compression
-syn keyword sshconfigKeyword CompressionLevel
 syn keyword sshconfigKeyword ConnectTimeout
 syn keyword sshconfigKeyword ConnectionAttempts
 syn keyword sshconfigKeyword ControlMaster
@@ -158,18 +160,13 @@ syn keyword sshconfigKeyword DynamicForw
 syn keyword sshconfigKeyword EnableSSHKeysign
 syn keyword sshconfigKeyword EscapeChar
 syn keyword sshconfigKeyword ExitOnForwardFailure
+syn keyword sshconfigKeyword FingerprintHash
 syn keyword sshconfigKeyword ForwardAgent
 syn keyword sshconfigKeyword ForwardX11
 syn keyword sshconfigKeyword ForwardX11Timeout
 syn keyword sshconfigKeyword ForwardX11Trusted
 syn keyword sshconfigKeyword GSSAPIAuthentication
-syn keyword sshconfigKeyword GSSAPIClientIdentity
 syn keyword sshconfigKeyword GSSAPIDelegateCredentials
-syn keyword sshconfigKeyword GSSAPIKeyExchange
-syn keyword sshconfigKeyword GSSAPIRenewalForcesRekey
-syn keyword sshconfigKeyword GSSAPIServerIdentity
-syn keyword sshconfigKeyword GSSAPITrustDNS
-syn keyword sshconfigKeyword GSSAPITrustDns
 syn keyword sshconfigKeyword GatewayPorts
 syn keyword sshconfigKeyword GlobalKnownHostsFile
 syn keyword sshconfigKeyword HashKnownHosts
@@ -180,6 +177,7 @@ syn keyword sshconfigKeyword HostbasedAu
 syn keyword sshconfigKeyword HostbasedKeyTypes
 syn keyword sshconfigKeyword IPQoS
 syn keyword sshconfigKeyword IdentitiesOnly
+syn keyword sshconfigKeyword IdentityAgent
 syn keyword sshconfigKeyword IdentityFile
 syn keyword sshconfigKeyword IgnoreUnknown
 syn keyword sshconfigKeyword Include
@@ -199,35 +197,53 @@ syn keyword sshconfigKeyword PasswordAut
 syn keyword sshconfigKeyword PermitLocalCommand
 syn keyword sshconfigKeyword Port
 syn keyword sshconfigKeyword PreferredAuthentications
-syn keyword sshconfigKeyword Protocol
 syn keyword sshconfigKeyword ProxyCommand
 syn keyword sshconfigKeyword ProxyJump
 syn keyword sshconfigKeyword ProxyUseFDPass
 syn keyword sshconfigKeyword PubkeyAcceptedKeyTypes
 syn keyword sshconfigKeyword PubkeyAuthentication
-syn keyword sshconfigKeyword RSAAuthentication
 syn keyword sshconfigKeyword RekeyLimit
 syn keyword sshconfigKeyword RemoteCommand
 syn keyword sshconfigKeyword RemoteForward
 syn keyword sshconfigKeyword RequestTTY
-syn keyword sshconfigKeyword RhostsRSAAuthentication
+syn keyword sshconfigKeyword RevokedHostKeys
+syn keyword sshconfigKeyword SecurityKeyProvider
 syn keyword sshconfigKeyword SendEnv
 syn keyword sshconfigKeyword ServerAliveCountMax
 syn keyword sshconfigKeyword ServerAliveInterval
 syn keyword sshconfigKeyword SmartcardDevice
+syn keyword sshconfigKeyword SetEnv
+syn keyword sshconfigKeyword StreamLocalBindMask
+syn keyword sshconfigKeyword StreamLocalBindUnlink
 syn keyword sshconfigKeyword StrictHostKeyChecking
+syn keyword sshconfigKeyword SyslogFacility
 syn keyword sshconfigKeyword TCPKeepAlive
 syn keyword sshconfigKeyword Tunnel
 syn keyword sshconfigKeyword TunnelDevice
 syn keyword sshconfigKeyword UseBlacklistedKeys
-syn keyword sshconfigKeyword UsePrivilegedPort
+syn keyword sshconfigKeyword UpdateHostKeys
 syn keyword sshconfigKeyword User
 syn keyword sshconfigKeyword UserKnownHostsFile
-syn keyword sshconfigKeyword UseRoaming
 syn keyword sshconfigKeyword VerifyHostKeyDNS
 syn keyword sshconfigKeyword VisualHostKey
 syn keyword sshconfigKeyword XAuthLocation
 
+" Deprecated/ignored/remove/unsupported keywords
+
+syn keyword sshConfigDeprecated Cipher
+syn keyword sshconfigDeprecated GSSAPIClientIdentity
+syn keyword sshconfigDeprecated GSSAPIKeyExchange
+syn keyword sshconfigDeprecated GSSAPIRenewalForcesRekey
+syn keyword sshconfigDeprecated GSSAPIServerIdentity
+syn keyword sshconfigDeprecated GSSAPITrustDNS
+syn keyword sshconfigDeprecated GSSAPITrustDns
+syn keyword sshconfigDeprecated Protocol
+syn keyword sshconfigDeprecated RSAAuthentication
+syn keyword sshconfigDeprecated RhostsRSAAuthentication
+syn keyword sshconfigDeprecated CompressionLevel
+syn keyword sshconfigDeprecated UseRoaming
+syn keyword sshconfigDeprecated UsePrivilegedPort
+
 " Define the default highlighting
 
 hi def link sshconfigComment        Comment
@@ -236,17 +252,17 @@ hi def link sshconfigHostPort       sshc
 hi def link sshconfigNumber         sshconfigConstant
 hi def link sshconfigConstant       Constant
 hi def link sshconfigYesNo          sshconfigEnum
-hi def link sshconfigCipher         sshconfigEnum
-hi def link sshconfigCiphers	 sshconfigEnum
+hi def link sshconfigCipher         sshconfigDeprecated
+hi def link sshconfigCiphers        sshconfigEnum
 hi def link sshconfigMAC            sshconfigEnum
 hi def link sshconfigHostKeyAlgo    sshconfigEnum
 hi def link sshconfigLogLevel       sshconfigEnum
 hi def link sshconfigSysLogFacility sshconfigEnum
 hi def link sshconfigAddressFamily  sshconfigEnum
-hi def link sshconfigIPQoS		 sshconfigEnum
+hi def link sshconfigIPQoS          sshconfigEnum
 hi def link sshconfigKbdInteractive sshconfigEnum
-hi def link sshconfigKexAlgo	 sshconfigEnum
-hi def link sshconfigTunnel	 sshconfigEnum
+hi def link sshconfigKexAlgo        sshconfigEnum
+hi def link sshconfigTunnel         sshconfigEnum
 hi def link sshconfigPreferredAuth  sshconfigEnum
 hi def link sshconfigVar            sshconfigEnum
 hi def link sshconfigEnum           Identifier
@@ -254,6 +270,7 @@ hi def link sshconfigSpecial        Spec
 hi def link sshconfigKeyword        Keyword
 hi def link sshconfigHostSect       Type
 hi def link sshconfigMatch          Type
+hi def link sshconfigDeprecated     Error
 
 let b:current_syntax = "sshconfig"
 
--- a/runtime/syntax/syncolor.vim
+++ b/runtime/syntax/syncolor.vim
@@ -1,6 +1,6 @@
 " Vim syntax support file
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2001 Sep 12
+" Last Change:	2020 Feb 13
 
 " This file sets up the default methods for highlighting.
 " It is loaded from "synload.vim" and from Vim for ":syntax reset".
@@ -43,10 +43,12 @@ if &background == "dark"
 else
   SynColor Comment	term=bold cterm=NONE ctermfg=DarkBlue ctermbg=NONE gui=NONE guifg=Blue guibg=NONE
   SynColor Constant	term=underline cterm=NONE ctermfg=DarkRed ctermbg=NONE gui=NONE guifg=Magenta guibg=NONE
-  SynColor Special	term=bold cterm=NONE ctermfg=DarkMagenta ctermbg=NONE gui=NONE guifg=SlateBlue guibg=NONE
+  " #6a5acd is SlateBlue
+  SynColor Special	term=bold cterm=NONE ctermfg=DarkMagenta ctermbg=NONE gui=NONE guifg=#6a5acd guibg=NONE
   SynColor Identifier	term=underline cterm=NONE ctermfg=DarkCyan ctermbg=NONE gui=NONE guifg=DarkCyan guibg=NONE
   SynColor Statement	term=bold cterm=NONE ctermfg=Brown ctermbg=NONE gui=bold guifg=Brown guibg=NONE
-  SynColor PreProc	term=underline cterm=NONE ctermfg=DarkMagenta ctermbg=NONE gui=NONE guifg=Purple guibg=NONE
+  " #6a0dad is Purple
+  SynColor PreProc	term=underline cterm=NONE ctermfg=DarkMagenta ctermbg=NONE gui=NONE guifg=#6a0dad guibg=NONE
   SynColor Type		term=underline cterm=NONE ctermfg=DarkGreen ctermbg=NONE gui=bold guifg=SeaGreen guibg=NONE
   SynColor Underlined	term=underline cterm=underline ctermfg=DarkMagenta gui=underline guifg=SlateBlue
   SynColor Ignore	term=NONE cterm=NONE ctermfg=white ctermbg=NONE gui=NONE guifg=bg guibg=NONE