changeset 10319:169a62d5bcb9

commit https://github.com/vim/vim/commit/b4ada79aa7d0d1e5da3a659b1a203d7cae9f7f59 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Oct 30 21:55:26 2016 +0100 Runtime file updates.
author Christian Brabandt <cb@256bit.org>
date Sun, 30 Oct 2016 22:00:04 +0100
parents a0279bd5d079
children 6ab770e97152
files runtime/colors/README.txt runtime/doc/channel.txt runtime/doc/pi_gzip.txt runtime/doc/syntax.txt runtime/doc/todo.txt runtime/filetype.vim runtime/ftplugin/context.vim runtime/plugin/gzip.vim runtime/syntax/cpp.vim runtime/syntax/python.vim
diffstat 10 files changed, 96 insertions(+), 65 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/colors/README.txt
+++ b/runtime/colors/README.txt
@@ -41,9 +41,16 @@ this autocmd might be useful:
      autocmd SourcePre */colors/blue_sky.vim set background=dark
 Replace "blue_sky" with the name of the colorscheme.
 
-In case you want to tweak a colorscheme after it was loaded, check out that
+In case you want to tweak a colorscheme after it was loaded, check out the
 ColorScheme autocmd event.
 
+To customize a colorscheme use another name, e.g.  "~/.vim/colors/mine.vim",
+and use `:runtime` to load the original colorscheme:
+	" load the "evening" colorscheme
+	runtime colors/evening.vim
+	" change the color of statements
+	hi Statement ctermfg=Blue guifg=Blue
+
 To see which highlight group is used where, find the help for
 "highlight-groups" and "group-name".
 
--- a/runtime/doc/channel.txt
+++ b/runtime/doc/channel.txt
@@ -1,4 +1,4 @@
-*channel.txt*      For Vim version 8.0.  Last change: 2016 Sep 29
+*channel.txt*      For Vim version 8.0.  Last change: 2016 Oct 27
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -598,9 +598,10 @@ See |job_setoptions()| and |ch_setoption
 						*job-exit_cb*
 "exit_cb": handler	Callback for when the job ends.  The arguments are the
 			job and the exit status.
-			Vim checks about every 10 seconds for jobs that ended.
-			The check also be triggered by calling |job_status()|,
-			which may then invoke the exit_cb handler.
+			Vim checks up to 10 times per second for jobs that
+			ended.  The check can also be triggered by calling
+			|job_status()|, which may then invoke the exit_cb
+			handler.
 			Note that data can be buffered, callbacks may still be
 			called after the process ends.
 							*job-timeout*
--- a/runtime/doc/pi_gzip.txt
+++ b/runtime/doc/pi_gzip.txt
@@ -1,4 +1,4 @@
-*pi_gzip.txt*   For Vim version 8.0.  Last change: 2012 Jul 19
+*pi_gzip.txt*   For Vim version 8.0.  Last change: 2016 Oct 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -27,6 +27,7 @@ with these extensions:
 	*.bz2		bzip2
 	*.lzma		lzma
 	*.xz		xz
+	*.lz		lzip
 
 That's actually the only thing you need to know.  There are no options.
 
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*	For Vim version 8.0.  Last change: 2016 Sep 29
+*syntax.txt*	For Vim version 8.0.  Last change: 2016 Oct 30
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -4597,7 +4597,14 @@ in their own color.
 
 			Doesn't work recursively, thus you can't use
 			":colorscheme" in a color scheme script.
-			After the color scheme has been loaded the
+
+			To customize a colorscheme use another name, e.g.
+			"~/.vim/colors/mine.vim", and use `:runtime` to load
+			the original colorscheme: >
+				runtime colors/evening.vim
+				hi Statement ctermfg=Blue guifg=Blue
+
+<			After the color scheme has been loaded the
 			|ColorScheme| autocommand event is triggered.
 			For info about writing a colorscheme file: >
 				:edit $VIMRUNTIME/colors/README.txt
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -35,7 +35,6 @@ not be repeated below, unless there is e
 -------------------- Known bugs and current work -----------------------
 
 +channel:
-- Check for job cleanup more often?  Patch from Ozaki Kiichi, 2016 Oct 22.
 - Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
 - Add 'cwd' argument to start_job(): directory to change to in the child.
     check for valid directory before forking.
@@ -111,8 +110,6 @@ Allow using json with empty key?  Dict a
 
 Json string with trailing \u should be an error. (Lcd)
 
-Patch to fix conceal mode. (Christian Brabandt, 2016 Oct 23, close #1092)
-
 Patch to reset ex_exitvalue after catch. (Christian Brabandt, 2016 Oct 23)
 
 Patch to deal with changed configure events in GTK 3. (Jan Alexander Steffens,
--- 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:	2016 Oct 15
+" Last Change:	2016 Oct 28
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
@@ -862,7 +862,7 @@ au BufNewFile,BufRead *.ht			setf haste
 au BufNewFile,BufRead *.htpp			setf hastepreproc
 
 " Hercules
-au BufNewFile,BufRead *.vc,*.ev,*.rs,*.sum,*.errsum	setf hercules
+au BufNewFile,BufRead *.vc,*.ev,*.sum,*.errsum	setf hercules
 
 " HEX (Intel)
 au BufNewFile,BufRead *.hex,*.h32		setf hex
@@ -1760,6 +1760,9 @@ au BufNewFile,BufRead *.rb,*.rbw		setf r
 " RubyGems
 au BufNewFile,BufRead *.gemspec			setf ruby
 
+" Rust
+au BufNewFile,BufRead *.rs			setf rust
+
 " Rackup
 au BufNewFile,BufRead *.ru			setf ruby
 
--- a/runtime/ftplugin/context.vim
+++ b/runtime/ftplugin/context.vim
@@ -2,7 +2,7 @@
 " Language:           ConTeXt typesetting engine
 " Maintainer:         Nicola Vitacolonna <nvitacolonna@gmail.com>
 " Former Maintainers: Nikolai Weibull <now@bitwi.se>
-" Latest Revision:    2016 Oct 14
+" Latest Revision:    2016 Oct 30
 
 if exists("b:did_ftplugin")
   finish
@@ -21,7 +21,7 @@ let b:undo_ftplugin = "setl com< cms< de
 
 setlocal comments=b:%D,b:%C,b:%M,:% commentstring=%\ %s formatoptions+=tjcroql2
 if get(b:, 'context_metapost', get(g:, 'context_metapost', 1))
-  setlocal omnifunc=context#complete
+  setlocal omnifunc=contextcomplete#Complete
   let g:omni_syntax_group_include_context = 'mf\w\+,mp\w\+'
   let g:omni_syntax_group_exclude_context = 'mfTodoComment'
 endif
--- a/runtime/plugin/gzip.vim
+++ b/runtime/plugin/gzip.vim
@@ -1,6 +1,6 @@
 " Vim plugin for editing compressed files.
 " Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2010 Mar 10
+" Last Change: 2016 Oct 30
 
 " Exit quickly when:
 " - this plugin was already loaded
@@ -20,25 +20,29 @@ augroup gzip
   "
   " Set binary mode before reading the file.
   " Use "gzip -d", gunzip isn't always available.
-  autocmd BufReadPre,FileReadPre	*.gz,*.bz2,*.Z,*.lzma,*.xz setlocal bin
+  autocmd BufReadPre,FileReadPre	*.gz,*.bz2,*.Z,*.lzma,*.xz,*.lz setlocal bin
   autocmd BufReadPost,FileReadPost	*.gz  call gzip#read("gzip -dn")
   autocmd BufReadPost,FileReadPost	*.bz2 call gzip#read("bzip2 -d")
   autocmd BufReadPost,FileReadPost	*.Z   call gzip#read("uncompress")
   autocmd BufReadPost,FileReadPost	*.lzma call gzip#read("lzma -d")
   autocmd BufReadPost,FileReadPost	*.xz  call gzip#read("xz -d")
+  autocmd BufReadPost,FileReadPost	*.lz  call gzip#read("lzip -d")
   autocmd BufWritePost,FileWritePost	*.gz  call gzip#write("gzip")
   autocmd BufWritePost,FileWritePost	*.bz2 call gzip#write("bzip2")
   autocmd BufWritePost,FileWritePost	*.Z   call gzip#write("compress -f")
   autocmd BufWritePost,FileWritePost	*.lzma call gzip#write("lzma -z")
   autocmd BufWritePost,FileWritePost	*.xz  call gzip#write("xz -z")
+  autocmd BufWritePost,FileWritePost	*.lz  call gzip#write("lzip")
   autocmd FileAppendPre			*.gz  call gzip#appre("gzip -dn")
   autocmd FileAppendPre			*.bz2 call gzip#appre("bzip2 -d")
   autocmd FileAppendPre			*.Z   call gzip#appre("uncompress")
   autocmd FileAppendPre			*.lzma call gzip#appre("lzma -d")
   autocmd FileAppendPre			*.xz   call gzip#appre("xz -d")
+  autocmd FileAppendPre			*.lz   call gzip#appre("lzip -d")
   autocmd FileAppendPost		*.gz  call gzip#write("gzip")
   autocmd FileAppendPost		*.bz2 call gzip#write("bzip2")
   autocmd FileAppendPost		*.Z   call gzip#write("compress -f")
   autocmd FileAppendPost		*.lzma call gzip#write("lzma -z")
   autocmd FileAppendPost		*.xz call gzip#write("xz -z")
+  autocmd FileAppendPost		*.lz call gzip#write("lzip")
 augroup END
--- 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:	2016 Jul 07
+" Last Change:	2016 Oct 28
 
 " quit when a syntax file was already loaded
 if exists("b:current_syntax")
@@ -31,7 +31,7 @@ syn keyword cppConstant		__cplusplus
 " C++ 11 extensions
 if !exists("cpp_no_cpp11")
   syn keyword cppModifier	override final
-  syn keyword cppType		nullptr_t
+  syn keyword cppType		nullptr_t auto
   syn keyword cppExceptions	noexcept
   syn keyword cppStorageClass	constexpr decltype thread_local
   syn keyword cppConstant	nullptr
@@ -46,7 +46,11 @@ endif
 
 " C++ 14 extensions
 if !exists("cpp_no_cpp14")
-  syn match cppNumber		display "\<0b[01]\+\(u\=l\{0,2}\|ll\=u\)\>"
+  syn case ignore
+  syn match cppNumber		display "\<0b[01]\('\=[01]\+\)*\(u\=l\{0,2}\|ll\=u\)\>"
+  syn match cppNumber		display "\<[1-9]\('\=\d\+\)*\(u\=l\{0,2}\|ll\=u\)\>"
+  syn match cppNumber		display "\<0x\x\('\=\x\+\)*\(u\=l\{0,2}\|ll\=u\)\>"
+  syn case match
 endif
 
 " The minimum and maximum operators in GNU C++
--- a/runtime/syntax/python.vim
+++ b/runtime/syntax/python.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:	Python
 " Maintainer:	Zvezdan Petkovic <zpetkovic@acm.org>
-" Last Change:	2016 Sep 14
+" Last Change:	2016 Oct 29
 " Credits:	Neil Schemenauer <nas@python.ca>
 "		Dmitry Vasiliev
 "
@@ -46,6 +46,29 @@ endif
 let s:cpo_save = &cpo
 set cpo&vim
 
+if exists("python_no_doctest_highlight")
+  let python_no_doctest_code_highlight = 1
+endif
+
+if exists("python_highlight_all")
+  if exists("python_no_builtin_highlight")
+    unlet python_no_builtin_highlight
+  endif
+  if exists("python_no_doctest_code_highlight")
+    unlet python_no_doctest_code_highlight
+  endif
+  if exists("python_no_doctest_highlight")
+    unlet python_no_doctest_highlight
+  endif
+  if exists("python_no_exception_highlight")
+    unlet python_no_exception_highlight
+  endif
+  if exists("python_no_number_highlight")
+    unlet python_no_number_highlight
+  endif
+  let python_space_error_highlight = 1
+endif
+
 " Keep Python keywords in alphabetical order inside groups for easy
 " comparison with the table in the 'Python Language Reference'
 " https://docs.python.org/2/reference/lexical_analysis.html#keywords,
@@ -81,30 +104,31 @@ syn keyword pythonInclude	from import
 syn keyword pythonAsync		async await
 
 " Decorators (new in Python 2.4)
-" Python 3.5 introduced the use of the same symbol for matrix
-" multiplication.  We now have to exclude the symbol from being
-" highlighted when used in that context. Hence, the check that it's
-" preceded by empty space only (possibly in a docstring/doctest) and
-" followed by decorator name, optional parenthesized list of arguments,
-" and the next line with either def, class, or another decorator.
-syn match   pythonDecorator
-  \ "\%(\%(^\s*\)\%(\%(>>>\|\.\.\.\)\s\+\)\=\)\zs@\%(\s*\h\%(\w\|\.\)*\s*\%((\_\s\{-}[^)]\_.\{-})\s*\)\=\%(#.*\)\=\n\s*\%(\.\.\.\s\+\)\=\%(@\s*\h\|\%(def\|class\)\s\+\)\)\@="
-  \ display nextgroup=pythonDecoratorName skipwhite
+" A dot must be allowed because of @MyClass.myfunc decorators.
+syn match   pythonDecorator	"@" display contained
+syn match   pythonDecoratorName	"@\s*\h\%(\w\|\.\)*" display contains=pythonDecorator
 
-" A dot must be allowed because of @MyClass.myfunc decorators.
-" It must be preceded by a decorator symbol and on a separate line from
-" a function/class it decorates.
-syn match   pythonDecoratorName
-  \ "\%(@\s*\)\@<=\h\%(\w\|\.\)*\%(\s*\%((\_\s\{-}[^)]\_.\{-})\s*\)\=\%(#.*\)\=\n\)\@="
-  \ contained display nextgroup=pythonFunction skipnl
+" Python 3.5 introduced the use of the same symbol for matrix multiplication:
+" https://www.python.org/dev/peps/pep-0465/.  We now have to exclude the
+" symbol from highlighting when used in that context.
+" Single line multiplication.
+syn match   pythonMatrixMultiply
+      \ "\%(\w\|[])]\)\s*@"
+      \ contains=ALLBUT,pythonDecoratorName,pythonDecorator,pythonFunction,pythonDoctestValue
+      \ transparent
+" Multiplication continued on the next line after backslash.
+syn match   pythonMatrixMultiply
+      \ "[^\\]\\\s*\n\%(\s*\.\.\.\s\)\=\s\+@"
+      \ contains=ALLBUT,pythonDecoratorName,pythonDecorator,pythonFunction,pythonDoctestValue
+      \ transparent
+" Multiplication in a parenthesized expression over multiple lines with @ at
+" the start of each continued line; very similar to decorators and complex.
+syn match   pythonMatrixMultiply
+      \ "^\s*\%(\%(>>>\|\.\.\.\)\s\+\)\=\zs\%(\h\|\%(\h\|[[(]\).\{-}\%(\w\|[])]\)\)\s*\n\%(\s*\.\.\.\s\)\=\s\+@\%(.\{-}\n\%(\s*\.\.\.\s\)\=\s\+@\)*"
+      \ contains=ALLBUT,pythonDecoratorName,pythonDecorator,pythonFunction,pythonDoctestValue
+      \ transparent
 
-" The zero-length non-grouping match of def or class before the function
-" name is extremely important in pythonFunction.  Without it, everything
-" is interpreted as a function inside the contained environment of
-" doctests.
-syn match   pythonFunction
-  \ "\%(\%(^\s*\)\%(\%(>>>\|\.\.\.\)\s\+\)\=\%(def\|class\)\s\+\)\@<=\h\w*"
-  \ contained
+syn match   pythonFunction	"\h\w*" display contained
 
 syn match   pythonComment	"#.*$" contains=pythonTodo,@Spell
 syn keyword pythonTodo		FIXME NOTE NOTES TODO XXX contained
@@ -131,25 +155,6 @@ syn match   pythonEscape	"\%(\\u\x\{4}\|
 syn match   pythonEscape	"\\N{\a\+\%(\s\a\+\)*}" contained
 syn match   pythonEscape	"\\$"
 
-if exists("python_highlight_all")
-  if exists("python_no_builtin_highlight")
-    unlet python_no_builtin_highlight
-  endif
-  if exists("python_no_doctest_code_highlight")
-    unlet python_no_doctest_code_highlight
-  endif
-  if exists("python_no_doctest_highlight")
-    unlet python_no_doctest_highlight
-  endif
-  if exists("python_no_exception_highlight")
-    unlet python_no_exception_highlight
-  endif
-  if exists("python_no_number_highlight")
-    unlet python_no_number_highlight
-  endif
-  let python_space_error_highlight = 1
-endif
-
 " It is very important to understand all details before changing the
 " regular expressions below or their order.
 " The word boundaries are *not* the floating-point number boundaries
@@ -213,7 +218,9 @@ if !exists("python_no_builtin_highlight"
   " non-essential built-in functions; Python 2 only
   syn keyword pythonBuiltin	apply buffer coerce intern
   " avoid highlighting attributes as builtins
-  syn match   pythonAttribute	/\.\h\w*/hs=s+1 contains=ALLBUT,pythonBuiltin transparent
+  syn match   pythonAttribute	/\.\h\w*/hs=s+1
+	\ contains=ALLBUT,pythonBuiltin,pythonFunction,pythonAsync
+	\ transparent
 endif
 
 " From the 'Python Library Reference' class hierarchy at the bottom.
@@ -275,7 +282,7 @@ if !exists("python_no_doctest_highlight"
   if !exists("python_no_doctest_code_highlight")
     syn region pythonDoctest
 	  \ start="^\s*>>>\s" end="^\s*$"
-	  \ contained contains=ALLBUT,pythonDoctest,@Spell
+	  \ contained contains=ALLBUT,pythonDoctest,pythonFunction,@Spell
     syn region pythonDoctestValue
 	  \ start=+^\s*\%(>>>\s\|\.\.\.\s\|"""\|'''\)\@!\S\++ end="$"
 	  \ contained
@@ -287,7 +294,7 @@ if !exists("python_no_doctest_highlight"
 endif
 
 " Sync at the beginning of class, function, or method definition.
-syn sync match pythonSync grouphere NONE "^\s*\%(def\|class\)\s\+\h\w*\s*("
+syn sync match pythonSync grouphere NONE "^\%(def\|class\)\s\+\h\w*\s*[(:]"
 
 " The default highlight links.  Can be overridden later.
 hi def link pythonStatement		Statement