# HG changeset patch # User Christian Brabandt # Date 1485625505 -3600 # Node ID 523cd59d6db08b5b8b8683c34d6eba9272c6023f # Parent 7a5df0f9635f36e22233704a4648ce9f1395ff65 Update runtime files. commit https://github.com/vim/vim/commit/690afe1fef87e7eef6fb7343a926617d5f7315fa Author: Bram Moolenaar Date: Sat Jan 28 18:34:47 2017 +0100 Update runtime files. diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1,4 +1,4 @@ -*eval.txt* For Vim version 8.0. Last change: 2017 Jan 14 +*eval.txt* For Vim version 8.0. Last change: 2017 Jan 28 VIM REFERENCE MANUAL by Bram Moolenaar @@ -2222,8 +2222,8 @@ matchstr({expr}, {pat}[, {start}[, {coun String {count}'th match of {pat} in {expr} matchstrpos({expr}, {pat}[, {start}[, {count}]]) List {count}'th match of {pat} in {expr} -max({list}) Number maximum value of items in {list} -min({list}) Number minimum value of items in {list} +max({expr}) Number maximum value of items in {expr} +min({expr}) Number minimum value of items in {expr} mkdir({name} [, {path} [, {prot}]]) Number create directory {name} mode([expr]) String current editing mode @@ -4172,6 +4172,10 @@ getchar([expr]) *getchar()* exe "normal " . v:mouse_col . "|" endif < + When using bracketed paste only the first character is + returned, the rest of the pasted text is dropped. + |xterm-bracketed-paste|. + There is no prompt, you will somehow have to make clear to the user that a character has to be typed. There is no mapping for the character. @@ -5797,16 +5801,20 @@ matchstrpos({expr}, {pat}[, {start}[, {c The type isn't changed, it's not necessarily a String. *max()* -max({list}) Return the maximum value of all items in {list}. - If {list} is not a list or one of the items in {list} cannot - be used as a Number this results in an error. - An empty |List| results in zero. +max({expr}) Return the maximum value of all items in {expr}. + {expr} can be a list or a dictionary. For a dictionary, + it returns the maximum of all values in the dictionary. + If {expr} is neither a list nor a dictionary, or one of the + items in {expr} cannot be used as a Number this results in + an error. An empty |List| or |Dictionary| results in zero. *min()* -min({list}) Return the minimum value of all items in {list}. - If {list} is not a list or one of the items in {list} cannot - be used as a Number this results in an error. - An empty |List| results in zero. +min({expr}) Return the minimum value of all items in {expr}. + {expr} can be a list or a dictionary. For a dictionary, + it returns the minimum of all values in the dictionary. + If {expr} is neither a list nor a dictionary, or one of the + items in {expr} cannot be used as a Number this results in + an error. An empty |List| or |Dictionary| results in zero. *mkdir()* *E739* mkdir({name} [, {path} [, {prot}]]) @@ -8146,7 +8154,7 @@ winnr([{arg}]) The result is a Number, w is returned. The number can be used with |CTRL-W_w| and ":wincmd w" |:wincmd|. - Also see |tabpagewinnr()|. + Also see |tabpagewinnr()| and |win_getid()|. *winrestcmd()* winrestcmd() Returns a sequence of |:resize| commands that should restore diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt --- a/runtime/doc/if_pyth.txt +++ b/runtime/doc/if_pyth.txt @@ -1,4 +1,4 @@ -*if_pyth.txt* For Vim version 8.0. Last change: 2016 Sep 17 +*if_pyth.txt* For Vim version 8.0. Last change: 2017 Jan 28 VIM REFERENCE MANUAL by Paul Moore diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1,4 +1,4 @@ -*options.txt* For Vim version 8.0. Last change: 2017 Jan 15 +*options.txt* For Vim version 8.0. Last change: 2017 Jan 28 VIM REFERENCE MANUAL by Bram Moolenaar 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 Oct 30 +*syntax.txt* For Vim version 8.0. Last change: 2017 Jan 17 VIM REFERENCE MANUAL by Bram Moolenaar @@ -3479,6 +3479,8 @@ DEFINING CASE *:syn-case* *E390* "ignore". Note that any items before this are not affected, and all items until the next ":syntax case" command are affected. +:sy[ntax] case + Show either "syntax case match" or "syntax case ignore" (translated). SPELL CHECKING *:syn-spell* @@ -3496,6 +3498,11 @@ SPELL CHECKING *:syn-spell* To activate spell checking the 'spell' option must be set. +:sy[ntax] spell + Show either "syntax spell toplevel", "syntax spell notoplevel" or + "syntax spell default" (translated). + + SYNTAX ISKEYWORD SETTING *:syn-iskeyword* :sy[ntax] iskeyword [clear | {option}] @@ -4089,6 +4096,9 @@ IMPLICIT CONCEAL *:syn-conceal-impli off" returns to the normal state where the "conceal" flag must be given explicitly. +:sy[ntax] conceal + Show either "syntax conceal on" or "syntax conceal off" (translated). + ============================================================================== 7. Syntax patterns *:syn-pattern* *E401* *E402* diff --git a/runtime/doc/tags b/runtime/doc/tags --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -774,6 +774,8 @@ 'pvw' options.txt /*'pvw'* 'pythondll' options.txt /*'pythondll'* 'pythonthreedll' options.txt /*'pythonthreedll'* +'pyx' options.txt /*'pyx'* +'pyxversion' options.txt /*'pyxversion'* 'qe' options.txt /*'qe'* 'quote motion.txt /*'quote* 'quoteescape' options.txt /*'quoteescape'* @@ -923,6 +925,8 @@ 't_AB' term.txt /*'t_AB'* 't_AF' term.txt /*'t_AF'* 't_AL' term.txt /*'t_AL'* +'t_BD' term.txt /*'t_BD'* +'t_BE' term.txt /*'t_BE'* 't_CS' term.txt /*'t_CS'* 't_CV' term.txt /*'t_CV'* 't_Ce' term.txt /*'t_Ce'* @@ -2722,6 +2726,10 @@ 90.5 usr_90.txt /*90.5* :pyfile if_pyth.txt /*:pyfile* :python if_pyth.txt /*:python* :python3 if_pyth.txt /*:python3* +:pythonx if_pyth.txt /*:pythonx* +:pyx if_pyth.txt /*:pyx* +:pyxdo if_pyth.txt /*:pyxdo* +:pyxfile if_pyth.txt /*:pyxfile* :q editing.txt /*:q* :qa editing.txt /*:qa* :qall editing.txt /*:qall* @@ -4770,6 +4778,8 @@ W16 message.txt /*W16* W17 arabic.txt /*W17* W18 syntax.txt /*W18* W19 autocmd.txt /*W19* +W20 if_pyth.txt /*W20* +W21 if_pyth.txt /*W21* WORD motion.txt /*WORD* WWW intro.txt /*WWW* Win32 os_win32.txt /*Win32* @@ -6603,6 +6613,7 @@ hangulin.txt hangulin.txt /*hangulin.txt has() eval.txt /*has()* has-patch eval.txt /*has-patch* has-python if_pyth.txt /*has-python* +has-pythonx if_pyth.txt /*has-pythonx* has_key() eval.txt /*has_key()* haskell.vim syntax.txt /*haskell.vim* haslocaldir() eval.txt /*haslocaldir()* @@ -7901,7 +7912,11 @@ python.vim syntax.txt /*python.vim* python2-directory if_pyth.txt /*python2-directory* python3 if_pyth.txt /*python3* python3-directory if_pyth.txt /*python3-directory* +python_x if_pyth.txt /*python_x* +python_x-special-comments if_pyth.txt /*python_x-special-comments* +pythonx if_pyth.txt /*pythonx* pythonx-directory if_pyth.txt /*pythonx-directory* +pyxeval() eval.txt /*pyxeval()* q repeat.txt /*q* q/ cmdline.txt /*q\/* q: cmdline.txt /*q:* @@ -8443,6 +8458,8 @@ t_@7 term.txt /*t_@7* t_AB term.txt /*t_AB* t_AF term.txt /*t_AF* t_AL term.txt /*t_AL* +t_BD term.txt /*t_BD* +t_BE term.txt /*t_BE* t_CS term.txt /*t_CS* t_CV term.txt /*t_CV* t_Ce term.txt /*t_Ce* @@ -8481,6 +8498,8 @@ t_KI term.txt /*t_KI* t_KJ term.txt /*t_KJ* t_KK term.txt /*t_KK* t_KL term.txt /*t_KL* +t_PE term.txt /*t_PE* +t_PS term.txt /*t_PS* t_RB term.txt /*t_RB* t_RI term.txt /*t_RI* t_RV term.txt /*t_RV* @@ -9332,6 +9351,7 @@ xterm-8-bit term.txt /*xterm-8-bit* xterm-8bit term.txt /*xterm-8bit* xterm-blink syntax.txt /*xterm-blink* xterm-blinking-cursor syntax.txt /*xterm-blinking-cursor* +xterm-bracketed-paste term.txt /*xterm-bracketed-paste* xterm-clipboard term.txt /*xterm-clipboard* xterm-codes term.txt /*xterm-codes* xterm-color syntax.txt /*xterm-color* diff --git a/runtime/doc/term.txt b/runtime/doc/term.txt --- a/runtime/doc/term.txt +++ b/runtime/doc/term.txt @@ -1,4 +1,4 @@ -*term.txt* For Vim version 8.0. Last change: 2016 Sep 02 +*term.txt* For Vim version 8.0. Last change: 2017 Jan 27 VIM REFERENCE MANUAL by Bram Moolenaar @@ -99,7 +99,12 @@ is used. Note that in some situations Vim will not recognize the bracketed paste and you will get the raw text. In other situations Vim will only get the first -pasted character and drop the rest, e.g. when using the "r" command. +pasted character and drop the rest, e.g. when using the "r" command. If you +have a problem with this, disable bracketed paste by putting this in your +.vimrc: > + set t_BE= +If this is done while Vim is running the 't_BD' will be sent to the terminal +to disable bracketed paste. *cs7-problem* Note: If the terminal settings are changed after running Vim, you might have @@ -414,7 +419,7 @@ Note: Use the <> form if possible t_KK keypad 8 ** *t_KK* *'t_KK'* t_KL keypad 9 ** *t_KL* *'t_KL'* leader of mouse code ** - t_PS start of brackted paste |xterm-bracketed-paste| *t_PS* 't_PS' + t_PS start of bracketed paste |xterm-bracketed-paste| *t_PS* 't_PS' t_PE end of bracketed paste |xterm-bracketed-paste| *t_PE* 't_PE' Note about t_so and t_mr: When the termcap entry "so" is not present the diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 8.0. Last change: 2017 Jan 16 +*todo.txt* For Vim version 8.0. Last change: 2017 Jan 28 VIM REFERENCE MANUAL by Bram Moolenaar @@ -35,8 +35,6 @@ entered there will not be repeated below *known-bugs* -------------------- Known bugs and current work ----------------------- -get_syn_options() does not respect skip in else part. (Zyx) - +channel: - Try out background make plugin: https://github.com/AndrewVos/vim-make-background @@ -60,6 +58,7 @@ get_syn_options() does not respect skip connecting in the main loop with zero timeout. - job_start(): run job in a newly opened terminal. With xterm could use -S{pty}. + Although user could use "xterm -e 'cmd arg'". Regexp problems: - Since 7.4.704 the old regex engine fails to match [[:print:]] in 0xf6. @@ -108,40 +107,27 @@ Regexp problems: '] mark invalid after undoing insert "hello". -Make html indent file use javascript indent, now that it's not just cindent. -#1220 - -Concatenation with null string causes an error: 'a'[1:0] .. 'b' -Might as well handle it like an empty string. - When using symbolic links, a package path will not be inserted at the right position in 'runtimepath'. (Dugan Chen, 2016 Nov 18) json_encode(): should convert to utf-8. (Nikolai Pavlov, 2016 Jan 23) What if there is an invalid character? -Include rust files. (Klabnik, #1356) - Allow using json with empty key? Dict already has it. Json string with trailing \u should be an error. (Lcd) -Patch to deal with changed configure events in GTK 3. (Jan Alexander Steffens, -2016 Oct 23 #1193) -Remarks from nuko8, 2016 Nov 2. - Multi-byte bug: dv} splits char. (Urtica Dioica, 2017 Jan 9) -Patch to change order of compiler flags. (Yousong Zhou, 2016 Sep 19, #1100) - -Patch to add command line completion for :cexpr commands. (Yegappan -Lakshmanan, 2016 Dec 13) - -Patch for :pyx, run python commands depending on the supported version. -(Marc Weber, update from Ken Takata, 2016 Sep 19, 2017 Jan 6) - -Patch to avoid warnings for overflow. (Mike Williams, 2016 Dec 16) -Update Dec 19. +Patch: Make mode() return "ix" or "Rx" when in completion mode. +(Yegappan Lakshmanan, 2017 Jan 19, #1397, update Jan 22) + +With Visual selection of a multi-byte character the '] mark is on the last +byte, should be first byte? + +When session file has name in argument list but the buffer was deleted, the +buffer is not deleted when using the session file. (#1393) +Should add the buffer in hidden state. When an item in the quickfix list has a file name that does not exist, behave like the item was not a match for :cnext. @@ -150,18 +136,13 @@ Wrong diff highlighting with three files Also get E749 on exit. Another example in #1309 -Patch to fix vim_iswordp() works differently on chars <256 that are two bytes. -Ozaki Kiichi, 2016 Dec 11. +Completion for user-defined commands does not work if a few chararacters were +already typed. (Dominique, 2017 Jan 26) When deleting a mark or register, leave a tombstone, so that it's also deleted when writing viminfo (and the delete was the most recent action). #1339 Relevant neovim patch: -https://github.com/neovim/neovim/pull/5717 -test case: -https://github.com/neovim/neovim/pull/5717#issuecomment-264845481 -Others: -https://github.com/neovim/neovim/issues/5713#issuecomment-265136186 https://github.com/neovim/neovim/pull/5737#issuecomment-266055165 Patch for better explanation of 'compatible' side effects. @@ -199,6 +180,10 @@ Patch for restoring wide characters in t Patch to fix escaping of job arguments. (Yasuhiro Matsumoto, 2016 Oct 5) Update Oct 14: https://gist.github.com/mattn/d47e7d3bfe5ade4be86062b565a4bfca +The TermResponse event is not triggered when a plugin has set 'eventignore' to +"all". Netrw does this. (Gary Johnson, 2017 Jan 24) +Postpone the event until 'eventignore' is reset. + Once .exe with updated installer is available: Add remark to download page about /S and /D options (Ken Takata, 2016 Apr 13) Or point to nightly builds: https://github.com/vim/vim-win32-installer/releases @@ -220,6 +205,7 @@ lines: :g/^/normal yyp On Unix it work Patch for wrong cursor position on wrapped line, involving breakindent. (Ozaki Kiichi, 2016 Nov 25) +Does this also fix #1408 ? Patch for 'cursorlinenr' option. (Ozaki Kiichi, 2016 Nov 30) @@ -569,6 +555,9 @@ Patch to add :mapgroup, put mappings in Value returned by virtcol() changes depending on how lines wrap. This is inconsistent with the documentation. +Value of virtcol() for '[ and '] depend on multi-byte character. +(Luchr, #277) + Can we cache the syntax attributes, so that updates for 'relativenumber' and 'cursorline'/'cursorcolumn' are a lot faster? @@ -1061,9 +1050,6 @@ Aug 16) When there are no command line arguments ":next" and ":argu" give E163, which is confusing. Should say "the argument list is empty". -xterm supports escape sequences to mark a paste operation. Need to be -enabled. (Bruno Sutic, 2014 Jul 11) How to know the terminal supports this? - URXVT: - will get stuck if byte sequence does not contain the expected semicolon. - Use urxvt mouse support also in xterm. Explanations: diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt --- a/runtime/doc/usr_41.txt +++ b/runtime/doc/usr_41.txt @@ -1000,6 +1000,7 @@ Various: *various-functions* perleval() evaluate Perl expression (|+perl|) py3eval() evaluate Python expression (|+python3|) pyeval() evaluate Python expression (|+python|) + pyxeval() evaluate |python_x| expression ============================================================================== *41.7* Defining a function diff --git a/runtime/ftplugin/man.vim b/runtime/ftplugin/man.vim --- a/runtime/ftplugin/man.vim +++ b/runtime/ftplugin/man.vim @@ -1,7 +1,7 @@ " Vim filetype plugin file " Language: man " Maintainer: SungHyun Nam -" Last Change: 2017 Jan 04 +" Last Change: 2017 Jan 18 " To make the ":Man" command available before editing a manual page, source " this script from your startup vimrc file. @@ -97,7 +97,7 @@ func GetCmdArg(sect, page) endfunc func FindPage(sect, page) - let where = system("/usr/bin/man ".s:man_find_arg.' '.s:GetCmdArg(a:sect, a:page)) + let where = system("man ".s:man_find_arg.' '.s:GetCmdArg(a:sect, a:page)) if where !~ "^/" if matchstr(where, " [^ ]*$") !~ "^ /" return 0 @@ -176,7 +176,7 @@ func GetPage(...) let $MANWIDTH = winwidth(0) let unsetwidth = 1 endif - silent exec "r!/usr/bin/man ".s:GetCmdArg(sect, page)." | col -b" + silent exec "r !man ".s:GetCmdArg(sect, page)." | col -b" if unsetwidth let $MANWIDTH = '' endif diff --git a/runtime/indent/html.vim b/runtime/indent/html.vim --- a/runtime/indent/html.vim +++ b/runtime/indent/html.vim @@ -2,7 +2,7 @@ " Header: "{{{ " Maintainer: Bram Moolenaar " Original Author: Andy Wokula -" Last Change: 2016 Mar 30 +" Last Change: 2017 Jan 17 " Version: 1.0 " Description: HTML indent script with cached state for faster indenting on a " range of lines. @@ -25,27 +25,22 @@ if exists("b:did_indent") "{{{ finish endif + +" Load the Javascript indent script first, it defines GetJavascriptIndent(). +" Undo the rest. +" Load base python indent. +if !exists('*GetJavascriptIndent') + runtime! indent/javascript.vim +endif let b:did_indent = 1 setlocal indentexpr=HtmlIndent() setlocal indentkeys=o,O,,<>>,{,},!^F -" "j1" is included to make cindent() work better with Javascript. -setlocal cino=j1 -" "J1" should be included, but it doen't work properly before 7.4.355. -if has("patch-7.4.355") - setlocal cino+=J1 -endif -" Before patch 7.4.355 indenting after "(function() {" does not work well, add -" )2 to limit paren search. -if !has("patch-7.4.355") - setlocal cino+=)2 -endif - " Needed for % to work when finding start/end of a tag. setlocal matchpairs+=<:> -let b:undo_indent = "setlocal inde< indk< cino<" +let b:undo_indent = "setlocal inde< indk<" " b:hi_indent keeps state to speed up indenting consecutive lines. let b:hi_indent = {"lnum": -1} @@ -596,7 +591,7 @@ func! s:Alien3() return eval(b:hi_js1indent) endif if b:hi_indent.scripttype == "javascript" - return cindent(v:lnum) + return GetJavascriptIndent() else return -1 endif diff --git a/runtime/syntax/autohotkey.vim b/runtime/syntax/autohotkey.vim --- a/runtime/syntax/autohotkey.vim +++ b/runtime/syntax/autohotkey.vim @@ -1,8 +1,10 @@ " Vim syntax file " Language: AutoHotkey script file -" Maintainer: SungHyun Nam -" Previous Maintainer: Nikolai Weibull -" Latest Revision: 2015-10-29 +" Maintainer: Michael Wong +" https://github.com/mmikeww/autohotkey.vim +" Latest Revision: 2017-01-23 +" Previous Maintainers: SungHyun Nam +" Nikolai Weibull if exists("b:current_syntax") finish @@ -17,68 +19,11 @@ syn keyword autohotkeyTodo \ contained \ TODO FIXME XXX NOTE -syn cluster autohotkeyCommentGroup - \ contains= - \ autohotkeyTodo, - \ @Spell - -syn match autohotkeyComment - \ display - \ contains=@autohotkeyCommentGroup - \ '`\@ " Previous Maintainer: Claudio Fleiner " Repository: https://notabug.org/jorgesumle/vim-html-syntax -" Last Change: 2017 Jan 04 +" Last Change: 2017 Jan 21 " included patch from Jorge Maldonado Ventura " Please check :help html.vim for some comments and a description of the options @@ -55,9 +55,9 @@ syn keyword htmlTagName contained colgro syn keyword htmlTagName contained object optgroup q s tbody tfoot thead " new html 5 tags -syn keyword htmlTagName contained article aside audio bdi canvas datalist -syn keyword htmlTagName contained details embed figcaption figure -syn keyword htmlTagName contained footer header hgroup main mark +syn keyword htmlTagName contained article aside audio bdi canvas data +syn keyword htmlTagName contained datalist details embed figcaption figure +syn keyword htmlTagName contained footer header hgroup keygen main mark syn keyword htmlTagName contained menuitem meter nav output picture syn keyword htmlTagName contained progress rb rp rt rtc ruby section syn keyword htmlTagName contained slot source template time track video wbr @@ -97,8 +97,17 @@ syn keyword htmlArg contained rules sche syn keyword htmlArg contained summary tabindex valuetype version " html 5 arg names -syn keyword htmlArg contained contenteditable contextmenu draggable dropzone -syn keyword htmlArg contained hidden spellcheck title translate +syn keyword htmlArg contained allowfullscreen async autocomplete autofocus +syn keyword htmlArg contained autoplay challenge contenteditable contextmenu +syn keyword htmlArg contained controls crossorigin default dirname download +syn keyword htmlArg contained draggable dropzone form formaction formenctype +syn keyword htmlArg contained formmethod formnovalidate formtarget hidden +syn keyword htmlArg contained high icon inputmode keytype kind list loop low +syn keyword htmlArg contained max min minlength muted nonce novalidate open +syn keyword htmlArg contained optimum pattern placeholder poster preload +syn keyword htmlArg contained radiogroup required reversed sandbox spellcheck +syn keyword htmlArg contained sizes srcset srcdoc srclang step title translate +syn keyword htmlArg contained typemustmatch " special characters syn match htmlSpecialChar "&#\=[0-9A-Za-z]\{1,8};" diff --git a/runtime/syntax/matlab.vim b/runtime/syntax/matlab.vim --- a/runtime/syntax/matlab.vim +++ b/runtime/syntax/matlab.vim @@ -1,11 +1,13 @@ " Vim syntax file " Language: Matlab -" Maintainer: Maurizio Tranchero - maurizio(.)tranchero(@)gmail(.)com +" Maintainer: Alex Burka " Credits: Preben 'Peppe' Guldberg +" Maurizio Tranchero - maurizio(.)tranchero(@)gmail(.)com " Original author: Mario Eusebio -" Last Change: Wed Jan 13 11:12:34 CET 2010 -" sinh added to matlab implicit commands +" Last Change: Mon Jan 23 2017 +" added support for cell mode " Change History: +" - now highlights cell-mode separator comments " - 'global' and 'persistent' keyword are now recognized " quit when a syntax file was already loaded @@ -60,6 +62,7 @@ syn match matlabComment "%.*$" contain " MT_ADDON - correctly highlights words after '...' as comments syn match matlabComment "\.\.\..*$" contains=matlabTodo,matlabTab syn region matlabMultilineComment start=+%{+ end=+%}+ contains=matlabTodo,matlabTab +syn match matlabCellComment "^%%.*$" syn keyword matlabOperator break zeros default margin round ones rand syn keyword matlabOperator ceil floor size clear zeros eye mean std cov @@ -96,6 +99,7 @@ hi def link matlabOO Statement hi def link matlabSemicolon SpecialChar hi def link matlabComment Comment hi def link matlabMultilineComment Comment +hi def link matlabCellComment Todo hi def link matlabScope Type hi def link matlabArithmeticOperator matlabOperator diff --git a/runtime/syntax/nasm.vim b/runtime/syntax/nasm.vim --- a/runtime/syntax/nasm.vim +++ b/runtime/syntax/nasm.vim @@ -1,9 +1,10 @@ " Vim syntax file " Language: NASM - The Netwide Assembler (v0.98) -" Maintainer: Andriy Sokolov +" Maintainer: Andrii Sokolov " Original Author: Manuel M.H. Stol " Former Maintainer: Manuel M.H. Stol -" Last Change: 2012 Feb 7 +" Contributors: Leonard König (C string highlighting) +" Last Change: 2017 Jan 23 " NASM Home: http://www.nasm.us/ @@ -67,8 +68,23 @@ syn match nasmLabelError "\<\~\s*\(\k* " Constants: -syn match nasmStringError +["']+ +syn match nasmStringError +["'`]+ +" NASM is case sensitive here: eg. u-prefix allows for 4-digit, U-prefix for +" 8-digit Unicode characters +syn case match +" one-char escape-sequences +syn match nasmCStringEscape display contained "\\[’"‘\\\?abtnvfre]" +" hex and octal numbers +syn match nasmCStringEscape display contained "\\\(x\x\{2}\|\o\{1,3}\)" +" Unicode characters +syn match nasmCStringEscape display contained "\\\(u\x\{4}\|U\x\{8}\)" +" ISO C99 format strings (copied from cFormat in runtime/syntax/c.vim) +syn match nasmCStringFormat display "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlLjzt]\|ll\|hh\)\=\([aAbdiuoxXDOUfFeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained +syn match nasmCStringFormat display "%%" contained syn match nasmString +\("[^"]\{-}"\|'[^']\{-}'\)+ +" Highlight C escape- and format-sequences within ``-strings +syn match nasmCString +\(`[^`]\{-}`\)+ contains=nasmCStringEscape,nasmCStringFormat extend +syn case ignore syn match nasmBinNumber "\<[0-1]\+b\>" syn match nasmBinNumber "\<\~[0-1]\+b\>"lc=1 syn match nasmOctNumber "\<\o\+q\>" @@ -443,7 +459,10 @@ hi def link nasmInCommentTodo Todo " Constant Group: hi def link nasmString String +hi def link nasmCString String hi def link nasmStringError Error +hi def link nasmCStringEscape SpecialChar +hi def link nasmCStringFormat SpecialChar hi def link nasmBinNumber Number hi def link nasmOctNumber Number hi def link nasmDecNumber Number diff --git a/runtime/syntax/sh.vim b/runtime/syntax/sh.vim --- a/runtime/syntax/sh.vim +++ b/runtime/syntax/sh.vim @@ -2,8 +2,8 @@ " Language: shell (sh) Korn shell (ksh) bash (sh) " Maintainer: Charles E. Campbell " Previous Maintainer: Lennart Schultz -" Last Change: Sep 22, 2016 -" Version: 165 +" Last Change: Jan 03, 2017 +" Version: 167 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH " For options and settings, please use: :help ft-sh-syntax " This file includes many ideas from Eric Brunet (eric.brunet@ens.fr) @@ -305,7 +305,7 @@ if exists("b:is_bash") syn cluster shCommandSubList add=bashSpecialVariables,bashStatement syn cluster shCaseList add=bashAdminStatement,bashStatement syn keyword bashSpecialVariables contained auto_resume BASH BASH_ALIASES BASH_ALIASES BASH_ARGC BASH_ARGC BASH_ARGV BASH_ARGV BASH_CMDS BASH_CMDS BASH_COMMAND BASH_COMMAND BASH_ENV BASH_EXECUTION_STRING BASH_EXECUTION_STRING BASH_LINENO BASH_LINENO BASHOPTS BASHOPTS BASHPID BASHPID BASH_REMATCH BASH_REMATCH BASH_SOURCE BASH_SOURCE BASH_SUBSHELL BASH_SUBSHELL BASH_VERSINFO BASH_VERSION BASH_XTRACEFD BASH_XTRACEFD CDPATH COLUMNS COLUMNS COMP_CWORD COMP_CWORD COMP_KEY COMP_KEY COMP_LINE COMP_LINE COMP_POINT COMP_POINT COMPREPLY COMPREPLY COMP_TYPE COMP_TYPE COMP_WORDBREAKS COMP_WORDBREAKS COMP_WORDS COMP_WORDS COPROC COPROC DIRSTACK EMACS EMACS ENV ENV EUID FCEDIT FIGNORE FUNCNAME FUNCNAME FUNCNEST FUNCNEST GLOBIGNORE GROUPS histchars HISTCMD HISTCONTROL HISTFILE HISTFILESIZE HISTIGNORE HISTSIZE HISTTIMEFORMAT HISTTIMEFORMAT HOME HOSTFILE HOSTNAME HOSTTYPE IFS IGNOREEOF INPUTRC LANG LC_ALL LC_COLLATE LC_CTYPE LC_CTYPE LC_MESSAGES LC_NUMERIC LC_NUMERIC LINENO LINES LINES MACHTYPE MAIL MAILCHECK MAILPATH MAPFILE MAPFILE OLDPWD OPTARG OPTERR OPTIND OSTYPE PATH PIPESTATUS POSIXLY_CORRECT POSIXLY_CORRECT PPID PROMPT_COMMAND PS1 PS2 PS3 PS4 PWD RANDOM READLINE_LINE READLINE_LINE READLINE_POINT READLINE_POINT REPLY SECONDS SHELL SHELL SHELLOPTS SHLVL TIMEFORMAT TIMEOUT TMPDIR TMPDIR UID - syn keyword bashStatement chmod clear complete du egrep expr fgrep find gnufind gnugrep grep less ls mkdir mv rm rmdir rpm sed sleep sort strip tail + syn keyword bashStatement chmod clear complete du egrep expr fgrep find gnufind gnugrep grep less ls mkdir mv rm rmdir rpm sed sleep sort strip tail syn keyword bashAdminStatement daemon killall killproc nice reload restart start status stop syn keyword bashStatement command compgen endif @@ -376,8 +376,8 @@ ShFoldHereDoc syn region shHereDoc match ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc07 start="<<\s*\\\_$\_s*\z([^ \t|>]\+\)" matchgroup=shHereDoc07 end="^\z1\s*$" contains=@shDblQuoteList ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc08 start="<<\s*\\\_$\_s*'\z([^ \t|>]\+\)'" matchgroup=shHereDoc08 end="^\z1\s*$" ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc09 start="<<\s*\\\_$\_s*\"\z([^ \t|>]\+\)\"" matchgroup=shHereDoc09 end="^\z1\s*$" -ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc10 start="<<-\s*\\\_$\_s*\z([^ \t|>]\+\)" matchgroup=shHereDoc10 end="^\s*\z1\s*$" -ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc11 start="<<-\s*\\\_$\_s*\\\z([^ \t|>]\+\)" matchgroup=shHereDoc11 end="^\s*\z1\s*$" +ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc10 start="<<-\s*\\\_$\_s*\z([^ \t|>]\+\)" matchgroup=shHereDoc10 end="^\s*\z1\s*$" +ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc11 start="<<-\s*\\\_$\_s*\\\z([^ \t|>]\+\)" matchgroup=shHereDoc11 end="^\s*\z1\s*$" ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc12 start="<<-\s*\\\_$\_s*'\z([^ \t|>]\+\)'" matchgroup=shHereDoc12 end="^\s*\z1\s*$" ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc13 start="<<-\s*\\\_$\_s*\"\z([^ \t|>]\+\)\"" matchgroup=shHereDoc13 end="^\s*\z1\s*$" ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc14 start="<<\\\z([^ \t|>]\+\)" matchgroup=shHereDoc14 end="^\z1\s*$" @@ -386,7 +386,7 @@ ShFoldHereDoc syn region shHereDoc match " Here Strings: {{{1 " ============= " available for: bash; ksh (really should be ksh93 only) but not if its a posix -if exists("b:is_bash") || (exists("b:is_kornshell") && !exists("g:is_posix")) +if exists("b:is_bash") || (exists("b:is_kornshell") && !exists("b:is_posix")) syn match shHereString "<<<" skipwhite nextgroup=shCmdParenRegion endif @@ -407,7 +407,7 @@ else endif " Functions: {{{1 -if !exists("g:is_posix") +if !exists("b:is_posix") syn keyword shFunctionKey function skipwhite skipnl nextgroup=shFunctionTwo endif @@ -533,7 +533,7 @@ endif " ==================== if exists("b:is_kornshell") || exists("b:is_bash") syn keyword shStatement autoload bg false fc fg functions getopts hash history integer jobs let nohup printf r stop suspend times true type unalias whence - if exists("g:is_posix") + if exists("b:is_posix") syn keyword shStatement command else syn keyword shStatement time @@ -542,7 +542,7 @@ if exists("b:is_kornshell") || exists("b " Useful bash Keywords: {{{1 " ===================== if exists("b:is_bash") - syn keyword shStatement bind builtin dirs disown enable help local logout popd pushd shopt source + syn keyword shStatement bind builtin dirs disown enable help logout popd pushd shopt source else syn keyword shStatement login newgrp endif diff --git a/runtime/syntax/tex.vim b/runtime/syntax/tex.vim --- a/runtime/syntax/tex.vim +++ b/runtime/syntax/tex.vim @@ -1,8 +1,8 @@ " Vim syntax file " Language: TeX " Maintainer: Charles E. Campbell -" Last Change: Sep 20, 2016 -" Version: 101 +" Last Change: Dec 07, 2016 +" Version: 102 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX " " Notes: {{{1 @@ -494,13 +494,11 @@ if !exists("g:tex_no_math") \ ['\\backslash' , '\'] , \ ['\\downarrow' , '↓'] , \ ['\\Downarrow' , '⇓'] , - \ ['\\langle' , '<'] , \ ['\\lbrace' , '['] , \ ['\\lceil' , '⌈'] , \ ['\\lfloor' , '⌊'] , \ ['\\lgroup' , '⌊'] , \ ['\\lmoustache' , '⎛'] , - \ ['\\rangle' , '>'] , \ ['\\rbrace' , ']'] , \ ['\\rceil' , '⌉'] , \ ['\\rfloor' , '⌋'] , @@ -510,6 +508,15 @@ if !exists("g:tex_no_math") \ ['\\Uparrow' , '↑'] , \ ['\\updownarrow', '↕'] , \ ['\\Updownarrow', '⇕']] + if &ambw == "double" || exists("g:tex_usedblwidth") + let s:texMathDelimList= s:texMathDelimList + [ + \ ['\\langle' , '〈'] , + \ ['\\rangle' , '〉'] , + else + let s:texMathDelimList= s:texMathDelimList + [ + \ ['\\langle' , '<'] , + \ ['\\rangle' , '>']] + endif syn match texMathDelim '\\[bB]igg\=[lr]' contained nextgroup=texMathDelimBad for texmath in s:texMathDelimList exe "syn match texMathDelim '\\\\[bB]igg\\=[lr]\\=".texmath[0]."' contained conceal cchar=".texmath[1] @@ -680,6 +687,7 @@ if has("conceal") && &enc == 'utf-8' \ ['backslash' , '∖'], \ ['barwedge' , '⊼'], \ ['because' , '∵'], + \ ['beth' , 'ܒ'], \ ['between' , '≬'], \ ['bigcap' , '∩'], \ ['bigcirc' , '○'], @@ -699,6 +707,7 @@ if has("conceal") && &enc == 'utf-8' \ ['boxminus' , '⊟'], \ ['boxplus' , '⊞'], \ ['boxtimes' , '⊠'], + \ ['Box' , '☐'], \ ['bullet' , '•'], \ ['bumpeq' , '≏'], \ ['Bumpeq' , '≎'], @@ -748,6 +757,7 @@ if has("conceal") && &enc == 'utf-8' \ ['eqslantgtr' , '⪖'], \ ['eqslantless' , '⪕'], \ ['equiv' , '≡'], + \ ['eth' , 'ð'], \ ['exists' , '∃'], \ ['fallingdotseq' , '≒'], \ ['flat' , '♭'], @@ -757,6 +767,7 @@ if has("conceal") && &enc == 'utf-8' \ ['geq' , '≥'], \ ['geqq' , '≧'], \ ['gets' , '←'], + \ ['gimel' , 'ℷ'], \ ['gg' , '⟫'], \ ['gneqq' , '≩'], \ ['gtrdot' , '⋗'], @@ -767,13 +778,17 @@ if has("conceal") && &enc == 'utf-8' \ ['heartsuit' , '♡'], \ ['hookleftarrow' , '↩'], \ ['hookrightarrow' , '↪'], + \ ['iff' , '⇔'], \ ['iiint' , '∭'], \ ['iint' , '∬'], \ ['Im' , 'ℑ'], \ ['imath' , 'ɩ'], + \ ['implies' , '⇒'], \ ['in' , '∈'], \ ['infty' , '∞'], \ ['int' , '∫'], + \ ['jmath' , '𝚥'], + \ ['land' , '∧'], \ ['lceil' , '⌈'], \ ['ldots' , '…'], \ ['le' , '≤'], @@ -800,6 +815,7 @@ if has("conceal") && &enc == 'utf-8' \ ['ll' , '≪'], \ ['lmoustache' , '╭'], \ ['lneqq' , '≨'], + \ ['lor' , '∨'], \ ['ltimes' , '⋉'], \ ['mapsto' , '↦'], \ ['measuredangle' , '∡'], @@ -826,6 +842,7 @@ if has("conceal") && &enc == 'utf-8' \ ['nless' , '≮'], \ ['nmid' , '∤'], \ ['notin' , '∉'], + \ ['nparallel' , '∦'], \ ['nprec' , '⊀'], \ ['nrightarrow' , '↛'], \ ['nRightarrow' , '⇏'], @@ -927,10 +944,12 @@ if has("conceal") && &enc == 'utf-8' \ ['trianglerighteq', '⊵'], \ ['twoheadleftarrow', '↞'], \ ['twoheadrightarrow', '↠'], + \ ['ulcorner' , '⌜'], \ ['uparrow' , '↑'], \ ['Uparrow' , '⇑'], \ ['updownarrow' , '↕'], \ ['Updownarrow' , '⇕'], + \ ['urcorner' , '⌝'], \ ['varnothing' , '∅'], \ ['vartriangle' , '∆'], \ ['vdash' , '⊢'], @@ -946,6 +965,15 @@ if has("conceal") && &enc == 'utf-8' " \ ['jmath' , 'X'] " \ ['uminus' , 'X'] " \ ['uplus' , 'X'] + if &ambw == "double" || exists("g:tex_usedblwidth") + let s:texMathList= s:texMathList + [ + \ ['right\\rangle' , '〉'], + \ ['left\\langle' , '〈']] + else + let s:texMathList= s:texMathList + [ + \ ['right\\rangle' , '>'], + \ ['left\\langle' , '<']] + endif for texmath in s:texMathList if texmath[0] =~# '\w$' exe "syn match texMathSymbol '\\\\".texmath[0]."\\>' contained conceal cchar=".texmath[1] diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim --- a/runtime/syntax/vim.vim +++ b/runtime/syntax/vim.vim @@ -1,8 +1,8 @@ " Vim syntax file " Language: Vim 8.0 script " Maintainer: Charles E. Campbell -" Last Change: September 29, 2016 -" Version: 8.0-01 +" Last Change: Jan 19, 2017 +" Version: 8.0-02 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM " Automatically generated keyword lists: {{{1 @@ -164,6 +164,7 @@ endif syn match vimNumber "\<\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\=" skipwhite nextgroup=vimGlobal,vimSubst,vimCommand syn match vimNumber "-\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\=" skipwhite nextgroup=vimGlobal,vimSubst,vimCommand syn match vimNumber "\<0[xX]\x\+" +syn match vimNumber "\<0[bB][01]\+" syn match vimNumber "\%(^\|[^a-zA-Z]\)\zs#\x\{6}" " All vimCommands are contained by vimIsCommands. {{{2 @@ -225,7 +226,7 @@ endif " Functions : Tag is provided for those who wish to highlight tagged functions {{{2 " ========= syn cluster vimFuncList contains=vimCommand,vimFunctionError,vimFuncKey,Tag,vimFuncSID -syn cluster vimFuncBodyList contains=vimAbb,vimAddress,vimAugroupKey,vimAutoCmd,vimCmplxRepeat,vimComment,vimComment,vimContinue,vimCtrlChar,vimEcho,vimEchoHL,vimExecute,vimIf,vimIsCommand,vimFBVar,vimFunc,vimFunction,vimFuncVar,vimGlobal,vimHighlight,vimIsCommand,vimLet,vimLineComment,vimMap,vimMark,vimNorm,vimNotation,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegion,vimRegister,vimSet,vimSpecFile,vimString,vimSubst,vimSynLine,vimUnmap,vimUserCommand +syn cluster vimFuncBodyList contains=vimAbb,vimAddress,vimAugroupKey,vimAutoCmd,vimCmplxRepeat,vimComment,vimContinue,vimCtrlChar,vimEcho,vimEchoHL,vimExecute,vimIf,vimIsCommand,vimFBVar,vimFunc,vimFunction,vimFuncVar,vimGlobal,vimHighlight,vimIsCommand,vimLet,vimLineComment,vimMap,vimMark,vimNorm,vimNotation,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegion,vimRegister,vimSet,vimSpecFile,vimString,vimSubst,vimSynLine,vimUnmap,vimUserCommand syn match vimFunction "\\|[sSgGbBwWtTlL]:\)\=\%(\i\|[#.]\|{.\{-1,}}\)*\ze\s*(" contains=@vimFuncList nextgroup=vimFuncBody if exists("g:vimsyn_folding") && g:vimsyn_folding =~# 'f' diff --git a/src/po/zh_CN.UTF-8.po b/src/po/zh_CN.UTF-8.po --- a/src/po/zh_CN.UTF-8.po +++ b/src/po/zh_CN.UTF-8.po @@ -2894,7 +2894,8 @@ msgstr "-X\t\t\t不连接到 X Server" msgid "--remote \tEdit in a Vim server if possible" msgstr "--remote \t如有可能,在 Vim 服务器上编辑文件 " -msgid "--remote-silent Same, don't complain if there is no server" +msgid "" +"--remote-silent Same, don't complain if there is no server" msgstr "--remote-silent 同上,找不到服务器时不抱怨" msgid "" diff --git a/src/po/zh_CN.cp936.po b/src/po/zh_CN.cp936.po --- a/src/po/zh_CN.cp936.po +++ b/src/po/zh_CN.cp936.po @@ -241,9 +241,8 @@ msgstr " ļȫ (^F^N^P)" msgid " Tag completion (^]^N^P)" msgstr " Tag ȫ (^]^N^P)" -#, fuzzy -#~ msgid " Path pattern completion (^N^P)" -#~ msgstr " ·ģʽȫ (^N^P)" +msgid " Path pattern completion (^N^P)" +msgstr " ͷļģʽȫ (^N^P)" msgid " Definition completion (^D^N^P)" msgstr " 岹ȫ (^D^N^P)" @@ -2896,7 +2895,7 @@ msgid "--remote \tEdit in msgstr "--remote \tпܣ Vim ϱ༭ļ " msgid "--remote-silent Same, don't complain if there is no server" -msgstr "--remote-silent ͬϣҲʱԹ" +msgstr "--remote-silent ͬϣҲʱԹ" msgid "" "--remote-wait As --remote but wait for files to have been edited" @@ -5284,7 +5283,7 @@ msgstr "Vim: ˳...\n" #. must display the prompt msgid "No undo possible; continue anyway" -msgstr "޷" +msgstr "޷Ȼ" msgid "Already at oldest change" msgstr "λɵĸı" @@ -5601,13 +5600,13 @@ msgid "type :help cp-default for msgstr " :help cp-default 鿴˵ " msgid "menu Help->Orphans for information " -msgstr "˵ Help->Orphans 鿴˵ " +msgstr "˵ ->¶ 鿴˵ " msgid "Running modeless, typed text is inserted" msgstr "ģʽУּ" msgid "menu Edit->Global Settings->Toggle Insert Mode " -msgstr "˵ Edit->Global Settings->Toggle Insert Mode " +msgstr "˵ ༭->ȫ趨->/زģʽ " #, fuzzy #~ msgid " for two modes "