# HG changeset patch # User Christian Brabandt # Date 1520631006 -3600 # Node ID 02b3f719eacb9aa93e060b5e0801b5eda59c31cc # Parent 698a757ec8ecc6f28615137450939825093c9369 Update runtime files. commit https://github.com/vim/vim/commit/b5b7562475ad032a174b893286172de0d2c157cd Author: Bram Moolenaar Date: Fri Mar 9 22:22:21 2018 +0100 Update runtime files. diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt --- a/runtime/doc/autocmd.txt +++ b/runtime/doc/autocmd.txt @@ -1,4 +1,4 @@ -*autocmd.txt* For Vim version 8.0. Last change: 2018 Feb 10 +*autocmd.txt* For Vim version 8.0. Last change: 2018 Mar 05 VIM REFERENCE MANUAL by Bram Moolenaar @@ -21,7 +21,6 @@ 10. Using autocommands |autocmd-use| 11. Disabling autocommands |autocmd-disable| {Vi does not have any of these commands} -{only when the |+autocmd| feature has not been disabled at compile time} ============================================================================== 1. Introduction *autocmd-intro* @@ -324,6 +323,10 @@ Name triggered by ~ |CmdwinEnter| after entering the command-line window |CmdwinLeave| before leaving the command-line window +|CmdlineChanged| after a change was made to the command-line text +|CmdlineEnter| after the cursor moves to the command line +|CmdlineLeave| before the cursor leaves the command line + |InsertEnter| starting Insert mode |InsertChange| when typing while in Insert or Replace mode |InsertLeave| when leaving Insert mode @@ -506,9 +509,9 @@ CmdUndefined When a user command is us always define the user command and have it invoke an autoloaded function. See |autoload|. *CmdlineChanged* -CmdlineChanged After a change was made to the text inside - command line. Be careful not to mess up the - command line, it may cause Vim to lock up. +CmdlineChanged After a change was made to the text in the + command line. Be careful not to mess up + the command line, it may cause Vim to lock up. is set to a single character, indicating the type of command-line. |cmdwin-char| @@ -785,7 +788,7 @@ InsertCharPre When a character is type inserted literally. It is not allowed to change the text |textlock|. The event is not triggered when 'paste' is - set. + set. {only with the +eval feature} *InsertEnter* InsertEnter Just before starting Insert mode. Also for Replace mode and Virtual Replace mode. The @@ -931,6 +934,7 @@ SwapExists Detected an existing swap f It is not allowed to change to another buffer, change a buffer name or change directory here. + {only available with the +eval feature} *Syntax* Syntax When the 'syntax' option has been set. The pattern is matched against the syntax name. @@ -1003,6 +1007,7 @@ TextYankPost After text has been yanke called recursively. It is not allowed to change the buffer text, see |textlock|. + {only when compiled with the +eval feature} *User* User Never executed automatically. To be used for autocommands that are only executed with 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: 2018 Feb 27 +*eval.txt* For Vim version 8.0. Last change: 2018 Mar 09 VIM REFERENCE MANUAL by Bram Moolenaar @@ -2435,6 +2435,7 @@ term_gettty({buf}, [{input}]) String get term_list() List get the list of terminal buffers term_scrape({buf}, {row}) List get row of a terminal screen term_sendkeys({buf}, {keys}) none send keystrokes to a terminal +term_setrestore({buf}, {command}) none set command to restore terminal term_start({cmd}, {options}) Job open a terminal window and run a job term_wait({buf} [, {time}]) Number wait for screen to be updated test_alloc_fail({id}, {countdown}, {repeat}) @@ -4885,7 +4886,19 @@ getwinpos([{timeout}]) *getwinpos()* [x-pos, y-pos] {timeout} can be used to specify how long to wait in msec for a response from the terminal. When omitted 100 msec is used. - + Use a longer time for a remote terminal. + When using a value less than 10 and no response is received + within that time, a previously reported position is returned, + if available. This can be used to poll for the position and + do some work in the mean time: > + while 1 + let res = getwinpos(1) + if res[0] >= 0 + break + endif + " Do some work here + endwhile +< *getwinposx()* getwinposx() The result is a Number, which is the X coordinate in pixels of the left hand side of the GUI Vim window. Also works for an @@ -8348,6 +8361,16 @@ term_sendkeys({buf}, {keys}) *term_se means the character CTRL-X. {only available when compiled with the |+terminal| feature} +term_setrestore({buf}, {command}) *term_setrestore()* + Set the command to write in a session file to restore the job + in this terminal. The line written in the session file is: > + terminal ++curwin ++cols=%d ++rows=%d {command} +< Make sure to escape the command properly. + + Use an empty {command} to run 'shell'. + Use "NONE" to not restore this window. + {only available when compiled with the |+terminal| feature} + term_setsize({buf}, {expr}) *term_setsize()* Not implemented yet. {only available when compiled with the |+terminal| feature} @@ -8391,6 +8414,8 @@ term_start({cmd}, {options}) *term_st window; fails if the current buffer cannot be |abandon|ed "hidden" do not open a window + "norestore" do not add the terminal window to a + session file "term_finish" What to do when the job is finished: "close": close any windows "open": open window if needed diff --git a/runtime/doc/gui.txt b/runtime/doc/gui.txt --- a/runtime/doc/gui.txt +++ b/runtime/doc/gui.txt @@ -1,4 +1,4 @@ -*gui.txt* For Vim version 8.0. Last change: 2017 Nov 09 +*gui.txt* For Vim version 8.0. Last change: 2018 Mar 06 VIM REFERENCE MANUAL by Bram Moolenaar @@ -134,7 +134,7 @@ task bar with the 'guiheadroom' option. :winp[os] Display current position of the top left corner of the GUI vim window in pixels. Does not work in all versions. - Also see |getwinposx()| and |getwinposy()|. + Also see |getwinpos()|, |getwinposx()| and |getwinposy()|. :winp[os] {X} {Y} *E466* Put the GUI vim window at the given {X} and {Y} coordinates. @@ -992,10 +992,14 @@ it behaves in a strange way. :popu[p] {name} Popup the menu {name}. The menu named must have at least one subentry, but need not appear on the menu-bar (see |hidden-menus|). - {only available for Win32 and GTK GUI} + {only available for Win32 and GTK GUI or in + the terminal when compiled with +insert_expand} :popu[p]! {name} Like above, but use the position of the mouse pointer instead of the cursor. + In the terminal this is the last known + position, which is usually at the last click + or release (mouse movement is irrelevalt). Example: > :popup File @@ -1006,6 +1010,10 @@ pointer if ! was used). > :popup ]Toolbar This creates a popup menu that doesn't exist on the main menu-bar. +Note that in the GUI the :popup command will return immediately, before a +selection has been made. In the terminal the commands waits for the user to +make a selection. + Note that a menu that starts with ']' will not be displayed. ============================================================================== 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: 2018 Feb 25 +*options.txt* For Vim version 8.0. Last change: 2018 Mar 09 VIM REFERENCE MANUAL by Bram Moolenaar @@ -402,8 +402,8 @@ Setting the filetype used to set the option value in, unless this is a help window, in which case the window below help window is used (skipping the option-window). - {not available when compiled without the |+eval| or - |+autocmd| features} + {not available when compiled without the |+eval| + feature} *$HOME* Using "~" is like using "$HOME", but it is only recognized at the start of an @@ -1385,8 +1385,7 @@ A jump table for the options with a shor written nowrite buffer which will not be written acwrite buffer which will always be written with BufWriteCmd - autocommands. {not available when compiled without the - |+autocmd| feature} + autocommands. quickfix quickfix buffer, contains list of errors |:cwindow| or list of locations |:lwindow| help help buffer (you are not supposed to set this @@ -2466,8 +2465,6 @@ A jump table for the options with a shor 'cursorbind' 'crb' boolean (default off) local to window {not in Vi} - {not available when compiled without the |+cursorbind| - feature} When this option is set, as the cursor in the current window moves other cursorbound windows (windows that also have this option set) move their cursors to the corresponding line and @@ -2918,8 +2915,6 @@ A jump table for the options with a shor 'eventignore' 'ei' string (default "") global {not in Vi} - {not available when compiled without the |+autocmd| - feature} A list of autocommand event names, which are to be ignored. When set to "all" or when "all" is one of the items, all autocommand events are ignored, autocommands will not be executed. @@ -3168,8 +3163,6 @@ A jump table for the options with a shor 'filetype' 'ft' string (default: "") local to buffer {not in Vi} - {not available when compiled without the |+autocmd| - feature} When this option is set, the FileType autocommand event is triggered. All autocommands that match with the value of this option will be executed. Thus the value of 'filetype' is used in place of the file @@ -5334,6 +5327,8 @@ A jump table for the options with a shor an explanation. When 'buftype' is "nowrite" or "nofile" this option may be set, but will be ignored. + Note that the text may actually be the same, e.g. 'modified' is set + when using "rA" on an "A". *'more'* *'nomore'* 'more' boolean (Vim default: on, Vi default: off) @@ -5422,6 +5417,8 @@ A jump table for the options with a shor In the "popup" model the right mouse button produces a pop-up menu. You need to define this first, see |popup-menu|. + In a terminal the popup menu works if Vim is compiled with the + |+insert_expand| option. Note that you can further refine the meaning of buttons with mappings. See |gui-mouse-mapping|. But mappings are NOT used for modeless @@ -6441,6 +6438,8 @@ A jump table for the options with a shor to find files which replace a distributed runtime files. You can put a directory after $VIMRUNTIME to find files which add to distributed runtime files. + When Vim is started with |--clean| the home directory entries are not + included. This option cannot be set from a |modeline| or in the |sandbox|, for security reasons. @@ -6459,8 +6458,6 @@ A jump table for the options with a shor 'scrollbind' 'scb' boolean (default off) local to window {not in Vi} - {not available when compiled without the |+scrollbind| - feature} See also |scroll-binding|. When this option is set, the current window scrolls as other scrollbind windows (windows that also have this option set) scroll. This option is useful for viewing the @@ -6498,8 +6495,6 @@ A jump table for the options with a shor *'scrollopt'* *'sbo'* 'scrollopt' 'sbo' string (default "ver,jump") global - {not available when compiled without the |+scrollbind| - feature} {not in Vi} This is a comma-separated list of words that specifies how 'scrollbind' windows should behave. 'sbo' stands for ScrollBind @@ -6589,7 +6584,7 @@ A jump table for the options with a shor *'sessionoptions'* *'ssop'* 'sessionoptions' 'ssop' string (default: "blank,buffers,curdir,folds, - help,options,tabpages,winsize") + help,options,tabpages,winsize,terminal") global {not in Vi} {not available when compiled without the |+mksession| @@ -6621,6 +6616,7 @@ A jump table for the options with a shor tabpages all tab pages; without this only the current tab page is restored, so that you can make a session for each tab page separately + terminal include terminal windows where the command can be restored unix with Unix end-of-line format (single ), even when on Windows or DOS winpos position of the whole Vim window @@ -7416,7 +7412,6 @@ A jump table for the options with a shor W F Preview window flag, text is ",PRV". y F Type of file in the buffer, e.g., "[vim]". See 'filetype'. Y F Type of file in the buffer, e.g., ",VIM". See 'filetype'. - {not available when compiled without |+autocmd| feature} q S "[Quickfix List]", "[Location List]" or empty. k S Value of "b:keymap_name" or 'keymap' when |:lmap| mappings are being used: "" diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt --- a/runtime/doc/quickfix.txt +++ b/runtime/doc/quickfix.txt @@ -1,4 +1,4 @@ -*quickfix.txt* For Vim version 8.0. Last change: 2017 Dec 13 +*quickfix.txt* For Vim version 8.0. Last change: 2018 Mar 04 VIM REFERENCE MANUAL by Bram Moolenaar @@ -330,9 +330,9 @@ deleted for some reason, the message "li the error location may not be correct. If you quit Vim and start again the marks are lost and the error locations may not be correct anymore. -If vim is built with |+autocmd| support, two autocommands are available for -running commands before and after a quickfix command (':make', ':grep' and so -on) is executed. See |QuickFixCmdPre| and |QuickFixCmdPost| for details. +Two autocommands are available for running commands before and after a +quickfix command (':make', ':grep' and so on) is executed. See +|QuickFixCmdPre| and |QuickFixCmdPost| for details. *QuickFixCmdPost-example* When 'encoding' differs from the locale, the error messages may have a @@ -657,8 +657,8 @@ To get the number of the current list in 4. Using :make *:make_makeprg* *:mak* *:make* -:mak[e][!] [arguments] 1. If vim was built with |+autocmd|, all relevant - |QuickFixCmdPre| autocommands are executed. +:mak[e][!] [arguments] 1. All relevant |QuickFixCmdPre| autocommands are + executed. 2. If the 'autowrite' option is on, write any changed buffers 3. An errorfile name is made from 'makeef'. If @@ -670,9 +670,8 @@ 4. Using :make *:make_makeprg* errorfile (for Unix it is also echoed on the screen). 5. The errorfile is read using 'errorformat'. - 6. If vim was built with |+autocmd|, all relevant - |QuickFixCmdPost| autocommands are executed. - See example below. + 6. All relevant |QuickFixCmdPost| autocommands are + executed. See example below. 7. If [!] is not given the first error is jumped to. 8. The errorfile is deleted. 9. You can now move through the errors with commands diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt --- a/runtime/doc/repeat.txt +++ b/runtime/doc/repeat.txt @@ -1,4 +1,4 @@ -*repeat.txt* For Vim version 8.0. Last change: 2018 Feb 11 +*repeat.txt* For Vim version 8.0. Last change: 2018 Mar 04 VIM REFERENCE MANUAL by Bram Moolenaar @@ -265,6 +265,7 @@ For writing a Vim script, see chapter 41 loaded during initialization, see |load-plugins|. Also see |pack-add|. + {only available when compiled with +eval} *:packl* *:packloadall* :packl[oadall][!] Load all packages in the "start" directory under each @@ -288,6 +289,7 @@ For writing a Vim script, see chapter 41 An error only causes sourcing the script where it happens to be aborted, further plugins will be loaded. See |packages|. + {only available when compiled with +eval} :scripte[ncoding] [encoding] *:scripte* *:scriptencoding* *E167* Specify the character encoding used in the script. diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt --- a/runtime/doc/starting.txt +++ b/runtime/doc/starting.txt @@ -1,4 +1,4 @@ -*starting.txt* For Vim version 8.0. Last change: 2018 Feb 10 +*starting.txt* For Vim version 8.0. Last change: 2018 Mar 01 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/tags b/runtime/doc/tags --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -6606,6 +6606,7 @@ gettabinfo() eval.txt /*gettabinfo()* gettabvar() eval.txt /*gettabvar()* gettabwinvar() eval.txt /*gettabwinvar()* getwininfo() eval.txt /*getwininfo()* +getwinpos() eval.txt /*getwinpos()* getwinposx() eval.txt /*getwinposx()* getwinposy() eval.txt /*getwinposy()* getwinvar() eval.txt /*getwinvar()* @@ -8927,6 +8928,7 @@ term_gettty() eval.txt /*term_gettty()* term_list() eval.txt /*term_list()* term_scrape() eval.txt /*term_scrape()* term_sendkeys() eval.txt /*term_sendkeys()* +term_setrestore() eval.txt /*term_setrestore()* term_setsize() eval.txt /*term_setsize()* term_start() eval.txt /*term_start()* term_wait() eval.txt /*term_wait()* @@ -8944,6 +8946,8 @@ termdebug-example terminal.txt /*termdeb termdebug-starting terminal.txt /*termdebug-starting* termdebug-stepping terminal.txt /*termdebug-stepping* termdebug-variables terminal.txt /*termdebug-variables* +termdebug_popup terminal.txt /*termdebug_popup* +termdebug_wide terminal.txt /*termdebug_wide* terminal terminal.txt /*terminal* terminal-colors os_unix.txt /*terminal-colors* terminal-cursor-style terminal.txt /*terminal-cursor-style* @@ -8959,6 +8963,7 @@ terminal-options term.txt /*terminal-opt terminal-output-codes term.txt /*terminal-output-codes* terminal-resizing terminal.txt /*terminal-resizing* terminal-screendump terminal.txt /*terminal-screendump* +terminal-session terminal.txt /*terminal-session* terminal-size-color terminal.txt /*terminal-size-color* terminal-special-keys terminal.txt /*terminal-special-keys* terminal-testing terminal.txt /*terminal-testing* diff --git a/runtime/doc/terminal.txt b/runtime/doc/terminal.txt --- a/runtime/doc/terminal.txt +++ b/runtime/doc/terminal.txt @@ -1,4 +1,4 @@ -*terminal.txt* For Vim version 8.0. Last change: 2018 Feb 20 +*terminal.txt* For Vim version 8.0. Last change: 2018 Mar 09 VIM REFERENCE MANUAL by Bram Moolenaar @@ -20,6 +20,7 @@ 1. Basic use |terminal-use| Terminal Modes |Terminal-mode| Cursor style |terminal-cursor-style| Special keys |terminal-special-keys| + Session |terminal-session| Unix |terminal-unix| MS-Windows |terminal-ms-windows| 2. Remote testing |terminal-testing| @@ -163,6 +164,8 @@ Syntax ~ cannot be |abandon|ed. ++hidden Open the terminal in a hidden buffer, no window will be used. + ++norestore Do not include this terminal window + in a session file. ++rows={height} Use {height} for the terminal window height. If the terminal uses the full Vim height (no window above or below @@ -286,6 +289,22 @@ is inverted. Since Vim cannot detect th blinking will also be inverted. +Session ~ + *terminal-session* +A terminal window will be restored when using a session file, if possible and +wanted. + +If "terminal" was removed from 'sessionoptions' then no terminal windows will +be restored. + +If the job in the terminal was finished the window will not be restored. + +If the terminal can be restored, the command that was used to open it will be +used again. To change this use the |term_setrestore()| function. This can +also be used to not restore a specific terminal by setting the command to +"NONE". + + Special keys ~ *terminal-special-keys* Since the terminal emulator simulates an xterm, only escape sequences that 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: 2018 Feb 27 +*todo.txt* For Vim version 8.0. Last change: 2018 Mar 09 VIM REFERENCE MANUAL by Bram Moolenaar @@ -39,16 +39,7 @@ No maintainer for Vietnamese translation No maintainer for Simplified Chinese translations. Terminal emulator window: -- using feedkeys() does not work? (Charles Sheridan, 2018 Feb 17) - Lots of stuff to implement, see src/terminal.c -- Improve debugger interface: - - Implement the right-click popup menu for the terminal. Can use the - completion popup menu code and mouse dragging. - Use it for "set breakpoint", "remove breakpoint", etc. - - Look into the idevim plugin/script. -- Improve screen dump testing: - Add docs for how to properly use the screen dumps for testing, e.g. for - syntax highlighting. Mode message isn't updated on vertical split. (Alexei Averchenko, 2018 Feb 2, #2611) @@ -62,28 +53,28 @@ Compiler warnings (geeknik, 2017 Oct 26) - signed integer overflow in getdecchrs() (#2254) - undefined left shift in get_string_tv() (#2250) -Patch to fix 'undolevels' in options window. (Yasuhiro Matsumoto, 2018 Feb 14, -#2645) - -Patch to fix fd leak when using jobs. (ichizok, 2018 Feb 16, #2651) - -Popup menu is too wide, causing it not to be aligned. (Linwei, 2018 Feb 22, -#2661) - balloon_show() does not work properly in the terminal. (Ben Jackson, 2017 Dec 20, #2481) Also see #2352, want better control over balloon, perhaps set the position. +Try out background make plugin: + https://github.com/AndrewVos/vim-make-background +or asyncmake: + https://github.com/yegappan/asyncmake + Cursor in status line after search. (#2530) Cursor in wrong position when line wraps. (#2540) Alternative manpager.vim. (Enno, 2018 Jan 5, #2529) +Does setting 'cursorline' cause syntax highlighting to slow down? Perhaps is +mess up the cache? (Mike Lee Williams, 2018 Jan 27, #2539) + When using :packadd files under "later" are not used, which is inconsistent with packages under "start". (xtal8, #1994) -Column number is wrong whsn using 'linebreak' and 'wrap'. (Keith Smiley, 2018 +Column number is wrong when using 'linebreak' and 'wrap'. (Keith Smiley, 2018 Jan 15, #2555) Check argument of systemlist(). (Pavlov) @@ -94,13 +85,12 @@ Also see #2337 Starting job with cwd option, when the directory does not exist, gives a confusing error message. (Wang Shidong, 2018 Jan 2, #2519) -7 Make "ga" show the digraph for a character, if it exists. -Patch from Christian Brabandt, 2011 Aug 19. - Patch to add "module" to quickfix entries. (Marcin Szamotulski, Coot, 2017 Jun 8, #1757) Now part of #2322. Or #2327? #1757 was re-opened, include that first. +Add the debug command line history to viminfo. + ch_sendraw() with long string does not try to read inbetween, which may cause a deadlock if the reading side is waiting for the write to finish. (Nate Bosch, 2018 Jan 13, #2548) @@ -115,9 +105,6 @@ word is re-added to it. (Matej Cepl, 201 Problem with mouse scroll in tmux. (fcying, #2419) Might be caused by patch 8.0.1309. Removing "held_button = MOUSE_RELEASE;" helps. (2018 Feb 5) -Does setting 'cursorline' cause syntax highlighting to slow down? Perhaps is -mess up the cache? (Mike Lee Williams, 2018 Jan 27, #2539) - Fold at end of the buffer behaves inconsistently. (James McCoy, 2017 Oct 9) With foldmethod=syntax and nofoldenable comment highlighting isn't removed. @@ -600,8 +587,6 @@ 4#1038) +channel: - Add a separate timeout for opening a socket. Currently it's fixed at 50 msec, which is too small for a remote connection. (tverniquet, #2130) -- Try out background make plugin: - https://github.com/AndrewVos/vim-make-background - Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026) - Writing raw mode to a buffer should still handle NL characters as line breaks. (Dmitry Zotikov, 2017 Aug 16) 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 @@ -1,4 +1,4 @@ -*usr_41.txt* For Vim version 8.0. Last change: 2018 Feb 13 +*usr_41.txt* For Vim version 8.0. Last change: 2018 Mar 03 VIM USER MANUAL - by Bram Moolenaar @@ -885,8 +885,9 @@ Interactive: *interactive-functions* GUI: *gui-functions* getfontname() get name of current font being used - getwinposx() X position of the GUI Vim window - getwinposy() Y position of the GUI Vim window + getwinpos() position of the Vim window + getwinposx() X position of the Vim window + getwinposy() Y position of the Vim window balloon_show() set the balloon content balloon_split() split a message for a balloon diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt --- a/runtime/doc/various.txt +++ b/runtime/doc/various.txt @@ -1,4 +1,4 @@ -*various.txt* For Vim version 8.0. Last change: 2018 Feb 27 +*various.txt* For Vim version 8.0. Last change: 2018 Mar 04 VIM REFERENCE MANUAL by Bram Moolenaar @@ -306,7 +306,7 @@ 8g8 Find an illegal UTF-8 byte sequenc Here is an overview of the features. The first column shows the smallest version in which they are included: - T tiny + T tiny (always) S small N normal B big @@ -320,7 +320,7 @@ 8g8 Find an illegal UTF-8 byte sequenc *+acl* |ACL| support included *+ARP* Amiga only: ARP support included B *+arabic* |Arabic| language support -N *+autocmd* |:autocmd|, automatic commands +T *+autocmd* |:autocmd|, automatic commands H *+autoservername* Automatically enable |clientserver| m *+balloon_eval* |balloon-eval| support in the GUI. Included when compiling with supported GUI (Motif, GTK, GUI) and @@ -344,7 +344,7 @@ N *+comments* |'comments'| support B *+conceal* "conceal" support, see |conceal| |:syn-conceal| etc. N *+cryptv* encryption support |encryption| B *+cscope* |cscope| support -m *+cursorbind* |'cursorbind'| support +T *+cursorbind* |'cursorbind'| support m *+cursorshape* |termcap-cursor-shape| support m *+debug* Compiled for debugging. N *+dialog_gui* Support for |:confirm| with GUI dialog. diff --git a/runtime/ftplugin/chicken.vim b/runtime/ftplugin/chicken.vim --- a/runtime/ftplugin/chicken.vim +++ b/runtime/ftplugin/chicken.vim @@ -1,5 +1,5 @@ " CHICKEN-specific Vim customizations -" Last Change: 2018-01-06 +" Last Change: 2018-03-05 " Author: Evan Hanson " Maintainer: Evan Hanson " URL: https://foldling.org/vim/ftplugin/chicken.vim @@ -14,34 +14,37 @@ endif setl keywordprg=chicken-doc setl lispwords+=and-let* -setl lispwords+=begin-for-syntax setl lispwords+=compiler-typecase setl lispwords+=condition-case setl lispwords+=define-compiler-syntax setl lispwords+=define-constant setl lispwords+=define-external setl lispwords+=define-for-syntax +setl lispwords+=define-foreign-type setl lispwords+=define-inline +setl lispwords+=define-location setl lispwords+=define-record setl lispwords+=define-record-printer setl lispwords+=define-specialization -setl lispwords+=define-syntax-rule -setl lispwords+=eval-when setl lispwords+=fluid-let +setl lispwords+=foreign-lambda* +setl lispwords+=foreign-primitive +setl lispwords+=foreign-safe-lambda* +setl lispwords+=functor setl lispwords+=handle-exceptions setl lispwords+=let-compiler-syntax +setl lispwords+=let-location setl lispwords+=let-optionals setl lispwords+=let-optionals* setl lispwords+=letrec-values setl lispwords+=match -setl lispwords+=match-lambda -setl lispwords+=match-lambda* setl lispwords+=match-let setl lispwords+=match-let* +setl lispwords+=match-letrec setl lispwords+=module setl lispwords+=receive -setl lispwords+=select setl lispwords+=set!-values +setl lispwords+=test-group let b:undo_ftplugin = b:undo_ftplugin . ' keywordprg<' diff --git a/runtime/ftplugin/scheme.vim b/runtime/ftplugin/scheme.vim --- a/runtime/ftplugin/scheme.vim +++ b/runtime/ftplugin/scheme.vim @@ -1,6 +1,6 @@ " Vim filetype plugin file " Language: Scheme (R7RS) -" Last Change: 2018-01-20 +" Last Change: 2018-03-05 " Author: Evan Hanson " Maintainer: Evan Hanson " Previous Maintainer: Sergey Khorev @@ -14,25 +14,20 @@ let s:cpo = &cpo set cpo&vim setl lisp -setl comments=:;;;;,:;;;,:;;,:;,sr:#\|,ex:\|# +setl comments=:;;;;,:;;;,:;;,:;,sr:#\|,mb:\|,ex:\|# setl commentstring=;%s setl define=^\\s*(def\\k* setl iskeyword=33,35-39,42-43,45-58,60-90,94,95,97-122,126 let b:undo_ftplugin = 'setl lisp< comments< commentstring< define< iskeyword<' -setl lispwords=begin -setl lispwords+=case -setl lispwords+=case-lambda -setl lispwords+=cond -setl lispwords+=cond-expand +setl lispwords=case setl lispwords+=define setl lispwords+=define-record-type setl lispwords+=define-syntax setl lispwords+=define-values setl lispwords+=do setl lispwords+=guard -setl lispwords+=import setl lispwords+=lambda setl lispwords+=let setl lispwords+=let* 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: 2017 Jun 13 +" Last Change: 2018 Mar 09 " Version: 1.0 " Description: HTML indent script with cached state for faster indenting on a " range of lines. @@ -56,6 +56,9 @@ let s:cpo_save = &cpo set cpo-=C "}}} +" Pattern to match the name of a tag, including custom elements. +let s:tagname = '\w\+\(-\w\+\)*' + " Check and process settings from b:html_indent and g:html_indent... variables. " Prefer using buffer-local settings over global settings, so that there can " be defaults for all HTML files and exceptions for specific types of HTML @@ -280,7 +283,7 @@ func! s:CountITags(text) let s:nextrel = 0 " relative indent steps for next line [unit &sw]: let s:block = 0 " assume starting outside of a block let s:countonly = 1 " don't change state - call substitute(a:text, '<\zs/\=\w\+\(-\w\+\)*\>\|\|', '\=s:CheckTag(submatch(0))', 'g') + call substitute(a:text, '<\zs/\=' . s:tagname . '\>\|\|', '\=s:CheckTag(submatch(0))', 'g') let s:countonly = 0 endfunc "}}} @@ -292,7 +295,7 @@ func! s:CountTagsAndState(text) let s:nextrel = 0 " relative indent steps for next line [unit &sw]: let s:block = b:hi_newstate.block - let tmp = substitute(a:text, '<\zs/\=\w\+\(-\w\+\)*\>\|\|', '\=s:CheckTag(submatch(0))', 'g') + let tmp = substitute(a:text, '<\zs/\=' . s:tagname . '\>\|\|', '\=s:CheckTag(submatch(0))', 'g') if s:block == 3 let b:hi_newstate.scripttype = s:GetScriptType(matchstr(tmp, '\C.*\zs[^>]*')) endif @@ -530,7 +533,7 @@ func! s:FreshState(lnum) let swendtag = match(text, '^\s*= 0 " If previous line ended in a closing tag, line up with the opening tag. - if !swendtag && text =~ '\s*$' + if !swendtag && text =~ '\s*$' call cursor(state.lnum, 99999) normal! F< let start_lnum = HtmlIndent_FindStartTag() @@ -860,7 +863,7 @@ func! HtmlIndent_FindStartTag() " The cursor must be on or before a closing tag. " If found, positions the cursor at the match and returns the line number. " Otherwise returns 0. - let tagname = matchstr(getline('.')[col('.') - 1:], '', '', '', 'bW') if start_lnum > 0 return start_lnum @@ -876,7 +879,7 @@ func! HtmlIndent_FindTagEnd() " a self-closing tag, to the matching ">". " Limited to look up to b:html_indent_line_limit lines away. let text = getline('.') - let tagname = matchstr(text, '\w\+\|!--', col('.')) + let tagname = matchstr(text, s:tagname . '\|!--', col('.')) if tagname == '!--' call search('--\zs>') elseif s:get_tag('/' . tagname) != 0 @@ -921,9 +924,22 @@ func! s:InsideTag(foundHtmlString) else let idx = match(text, '\s\zs[_a-zA-Z0-9-]\+="') endif + if idx == -1 + " try = 0 + call cursor(lnum, idx) + return virtcol('.') + shiftwidth() + endif + endif if idx > 0 - " Found the attribute. TODO: assumes spaces, no Tabs. - return idx + " Found the attribute to align with. + call cursor(lnum, idx) + return virtcol('.') endif endwhile return -1 diff --git a/runtime/syntax/chicken.vim b/runtime/syntax/chicken.vim --- a/runtime/syntax/chicken.vim +++ b/runtime/syntax/chicken.vim @@ -1,6 +1,6 @@ " Vim syntax file " Language: Scheme (CHICKEN) -" Last Change: 2018 Jan 31 +" Last Change: 2018-02-05 " Author: Evan Hanson " Maintainer: Evan Hanson " URL: https://foldling.org/vim/syntax/chicken.vim @@ -14,7 +14,7 @@ if !exists('b:did_scheme_syntax') endif " Lighten parentheses. -hi def link schemeParentheses Comment +hi! def link schemeParentheses Comment " foo#bar syn match schemeExtraSyntax /[^ #'`\t\n()\[\]"|;]\+#[^ '`\t\n()\[\]"|;]\+/