# HG changeset patch # User Christian Brabandt # Date 1477861204 -3600 # Node ID 169a62d5bcb9117e47e2309a3666a92e294dc947 # Parent a0279bd5d079ac7af8257dfb63266a0b350859c9 commit https://github.com/vim/vim/commit/b4ada79aa7d0d1e5da3a659b1a203d7cae9f7f59 Author: Bram Moolenaar Date: Sun Oct 30 21:55:26 2016 +0100 Runtime file updates. diff --git a/runtime/colors/README.txt b/runtime/colors/README.txt --- 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". diff --git a/runtime/doc/channel.txt b/runtime/doc/channel.txt --- 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* diff --git a/runtime/doc/pi_gzip.txt b/runtime/doc/pi_gzip.txt --- 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. diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt --- 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 diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.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, diff --git a/runtime/filetype.vim b/runtime/filetype.vim --- a/runtime/filetype.vim +++ b/runtime/filetype.vim @@ -1,7 +1,7 @@ " Vim support file to detect file types " " Maintainer: Bram Moolenaar -" 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 diff --git a/runtime/ftplugin/context.vim b/runtime/ftplugin/context.vim --- a/runtime/ftplugin/context.vim +++ b/runtime/ftplugin/context.vim @@ -2,7 +2,7 @@ " Language: ConTeXt typesetting engine " Maintainer: Nicola Vitacolonna " Former Maintainers: Nikolai Weibull -" 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 diff --git a/runtime/plugin/gzip.vim b/runtime/plugin/gzip.vim --- a/runtime/plugin/gzip.vim +++ b/runtime/plugin/gzip.vim @@ -1,6 +1,6 @@ " Vim plugin for editing compressed files. " Maintainer: Bram Moolenaar -" 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 diff --git a/runtime/syntax/cpp.vim b/runtime/syntax/cpp.vim --- 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 -" 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++ diff --git a/runtime/syntax/python.vim b/runtime/syntax/python.vim --- a/runtime/syntax/python.vim +++ b/runtime/syntax/python.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: Python " Maintainer: Zvezdan Petkovic -" Last Change: 2016 Sep 14 +" Last Change: 2016 Oct 29 " Credits: Neil Schemenauer " 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