diff options
author | Bram Moolenaar <Bram@vim.org> | 2022-03-19 15:18:53 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-03-19 15:18:53 +0000 |
commit | 47c532e2bc55e8a48f7f47e1fae1ed30144f2fa1 (patch) | |
tree | 11fb0e3e2b944668fc416d816298badc8211d013 /runtime | |
parent | 36a5b6867bb6c0bd69c8da7d788000ab8a0b0ab0 (diff) | |
download | vim-git-47c532e2bc55e8a48f7f47e1fae1ed30144f2fa1.tar.gz |
Update runtime files
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/doc/builtin.txt | 2 | ||||
-rw-r--r-- | runtime/doc/ft_ada.txt | 26 | ||||
-rw-r--r-- | runtime/doc/gui_w32.txt | 5 | ||||
-rw-r--r-- | runtime/doc/if_perl.txt | 8 | ||||
-rw-r--r-- | runtime/doc/insert.txt | 22 | ||||
-rw-r--r-- | runtime/doc/options.txt | 9 | ||||
-rw-r--r-- | runtime/doc/syntax.txt | 5 | ||||
-rw-r--r-- | runtime/doc/tags | 1 | ||||
-rw-r--r-- | runtime/doc/tagsrch.txt | 3 | ||||
-rw-r--r-- | runtime/doc/todo.txt | 88 | ||||
-rw-r--r-- | runtime/doc/usr_29.txt | 21 | ||||
-rw-r--r-- | runtime/doc/version9.txt | 59 | ||||
-rw-r--r-- | runtime/doc/vim9.txt | 27 | ||||
-rw-r--r-- | runtime/ftplugin/liquid.vim | 4 | ||||
-rw-r--r-- | runtime/ftplugin/php.vim | 3 | ||||
-rw-r--r-- | runtime/gvim.desktop | 5 | ||||
-rw-r--r-- | runtime/indent/bst.vim | 6 | ||||
-rw-r--r-- | runtime/indent/haml.vim | 4 | ||||
-rw-r--r-- | runtime/indent/liquid.vim | 23 | ||||
-rw-r--r-- | runtime/indent/sass.vim | 4 | ||||
-rw-r--r-- | runtime/pack/dist/opt/termdebug/plugin/termdebug.vim | 121 | ||||
-rw-r--r-- | runtime/syntax/c.vim | 17 | ||||
-rw-r--r-- | runtime/syntax/liquid.vim | 24 | ||||
-rw-r--r-- | runtime/syntax/sass.vim | 3 | ||||
-rw-r--r-- | runtime/syntax/vim.vim | 17 | ||||
-rw-r--r-- | runtime/tools/demoserver.py | 3 | ||||
-rw-r--r-- | runtime/vim.desktop | 5 |
27 files changed, 271 insertions, 244 deletions
diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt index 9e5b6f2f0..062ccc345 100644 --- a/runtime/doc/builtin.txt +++ b/runtime/doc/builtin.txt @@ -9034,7 +9034,7 @@ taglist({expr} [, {filename}]) *taglist()* entry depends on the language specific kind values. Only available when using a tags file generated by - Exuberant ctags or hdrtag. + Universal/Exuberant ctags or hdrtag. static A file specific tag. Refer to |static-tag| for more information. More entries may be present, depending on the content of the diff --git a/runtime/doc/ft_ada.txt b/runtime/doc/ft_ada.txt index 9adfea9e3..8645ad9e9 100644 --- a/runtime/doc/ft_ada.txt +++ b/runtime/doc/ft_ada.txt @@ -1,4 +1,4 @@ -*ft_ada.txt* For Vim version 8.2. Last change: 2010 Jul 20 +*ft_ada.txt* For Vim version 8.2. Last change: 2022 Mar 13 ADA FILE TYPE PLUG-INS REFERENCE MANUAL~ @@ -89,9 +89,9 @@ file is opened and adds Ada related entries to the main and pop-up menu. *ft-ada-omni* The Ada omni-completions (|i_CTRL-X_CTRL-O|) uses tags database created either -by "gnat xref -v" or the "exuberant Ctags (http://ctags.sourceforge.net). The -complete function will automatically detect which tool was used to create the -tags file. +by "gnat xref -v" or the "Universal Ctags" (https://ctags.io). The complete +function will automatically detect which tool was used to create the tags +file. ------------------------------------------------------------------------------ 3.1 Omni Completion with "gnat xref" ~ @@ -125,18 +125,18 @@ NOTE: "gnat xref -v" is very tricky to use as it has almost no diagnostic 3.2 Omni Completion with "ctags"~ *ada-ctags* -Exuberant Ctags uses its own multi-language code parser. The parser is quite -fast, produces a lot of extra information (hence the name "Exuberant Ctags") -and can run on files which currently do not compile. +Universal/Exuberant Ctags use their own multi-language code parser. The +parser is quite fast, produces a lot of extra information and can run on files +which currently do not compile. -There are also lots of other Vim-tools which use exuberant Ctags. +There are also lots of other Vim-tools which use Universal/Exuberant Ctags. +Universal Ctags is preferred, Exuberant Ctags is no longer being developed. -You will need to install a version of the Exuberant Ctags which has Ada -support patched in. Such a version is available from the GNU Ada Project -(http://gnuada.sourceforge.net). +You will need to install Universal Ctags which is available from +https://ctags.io -The Ada parser for Exuberant Ctags is fairly new - don't expect complete -support yet. +The Ada parser for Universal/Exuberant Ctags is fairly new - don't expect +complete support yet. ============================================================================== 4. Compiler Support ~ diff --git a/runtime/doc/gui_w32.txt b/runtime/doc/gui_w32.txt index e43428668..93f68bd3d 100644 --- a/runtime/doc/gui_w32.txt +++ b/runtime/doc/gui_w32.txt @@ -1,4 +1,4 @@ -*gui_w32.txt* For Vim version 8.2. Last change: 2021 Oct 24 +*gui_w32.txt* For Vim version 8.2. Last change: 2022 Mar 09 VIM REFERENCE MANUAL by Bram Moolenaar @@ -236,7 +236,8 @@ The "* register reflects the contents of the clipboard. |quotestar| When the "unnamed" string is included in the 'clipboard' option, the unnamed register is the same. Thus you can yank to and paste from the clipboard -without prepending "* to commands. +without prepending "* to commands. If this doesn't work use the "unnamedplus" +string in the 'clipboard' option. The 'a' flag in 'guioptions' is not included by default. This means that text is only put on the clipboard when an operation is performed on it. Just diff --git a/runtime/doc/if_perl.txt b/runtime/doc/if_perl.txt index f1060e88d..61ad7c94b 100644 --- a/runtime/doc/if_perl.txt +++ b/runtime/doc/if_perl.txt @@ -1,4 +1,4 @@ -*if_perl.txt* For Vim version 8.2. Last change: 2022 Jan 28 +*if_perl.txt* For Vim version 8.2. Last change: 2022 Mar 13 VIM REFERENCE MANUAL by Sven Verdoolaege @@ -22,9 +22,9 @@ line of a file, regardless of the filename suffix, to check if a file is a Perl script (see scripts.vim in Vim's syntax directory). Vim assumes a file is POD text if the filename has a .POD suffix. -To use tags with Perl, you need a recent version of Exuberant ctags. Look -here: - http://ctags.sourceforge.net +To use tags with Perl, you need Universal/Exuberant Ctags. Look here: + Universal Ctags (preferred): https://ctags.io + Exuberant Ctags: http://ctags.sourceforge.net Alternatively, you can use the Perl script pltags.pl, which is shipped with Vim in the $VIMRUNTIME/tools directory. This script has currently more diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt index 3153d4641..5dc3348db 100644 --- a/runtime/doc/insert.txt +++ b/runtime/doc/insert.txt @@ -1,4 +1,4 @@ -*insert.txt* For Vim version 8.2. Last change: 2022 Mar 06 +*insert.txt* For Vim version 8.2. Last change: 2022 Mar 13 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1409,11 +1409,16 @@ in 'runtimepath'. Thus for "java" it is autoload/javacomplete.vim. C *ft-c-omni* -Completion of C code requires a tags file. You should use Exuberant ctags, -because it adds extra information that is needed for completion. You can find -it here: http://ctags.sourceforge.net/ Version 5.6 or later is recommended. +Completion of C code requires a tags file. You should use Universal/ +Exuberant ctags, because it adds extra information that is needed for +completion. You can find it here: + Universal Ctags: https://ctags.io + Exuberant Ctags: http://ctags.sourceforge.net -For version 5.5.4 you should add a patch that adds the "typename:" field: +Universal Ctags is preferred, Exuberant Ctags is no longer being developed. + +For Exuberant ctags, version 5.6 or later is recommended. For version 5.5.4 +you should add a patch that adds the "typename:" field: ftp://ftp.vim.org/pub/vim/unstable/patches/ctags-5.5.4.patch A compiled .exe for MS-Windows can be found at: http://ctags.sourceforge.net/ @@ -1534,8 +1539,11 @@ will be suggested. All other elements are not placed in suggestion list. PHP *ft-php-omni* Completion of PHP code requires a tags file for completion of data from -external files and for class aware completion. You should use Exuberant ctags -version 5.5.4 or newer. You can find it here: http://ctags.sourceforge.net/ +external files and for class aware completion. You should use Universal/ +Exuberant ctags version 5.5.4 or newer. You can find it here: + + Universal Ctags: https://ctags.io + Exuberant Ctags: http://ctags.sourceforge.net Script completes: diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index 9d353ac2d..5bafaff3d 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1,4 +1,4 @@ -*options.txt* For Vim version 8.2. Last change: 2022 Feb 18 +*options.txt* For Vim version 8.2. Last change: 2022 Mar 13 VIM REFERENCE MANUAL by Bram Moolenaar @@ -7859,9 +7859,10 @@ A jump table for the options with a short description can be found at |Q_op|. linear search can be avoided when case is ignored. Use a value of '2' in the "!_TAG_FILE_SORTED" line for this. A tag file can be case-fold sorted with the -f switch to "sort" in most unices, as in the command: - "sort -f -o tags tags". For "Exuberant ctags" version 5.x or higher - (at least 5.5) the --sort=foldcase switch can be used for this as - well. Note that case must be folded to uppercase for this to work. + "sort -f -o tags tags". For Universal ctags and Exuberant ctags + version 5.x or higher (at least 5.5) the --sort=foldcase switch can be + used for this as well. Note that case must be folded to uppercase for + this to work. By default, tag searches are case-sensitive. Case is ignored when 'ignorecase' is set and 'tagcase' is "followic", or when 'tagcase' is diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt index f43ab7c82..9451ff2b9 100644 --- a/runtime/doc/syntax.txt +++ b/runtime/doc/syntax.txt @@ -5553,11 +5553,12 @@ WARNING: The longer the tags file, the slower this will be, and the more memory Vim will consume. Only highlighting typedefs, unions and structs can be done too. For this you -must use Exuberant ctags (found at http://ctags.sf.net). +must use Universal Ctags (found at https://ctags.io) or Exuberant ctags (found +at http://ctags.sf.net). Put these lines in your Makefile: -# Make a highlight file for types. Requires Exuberant ctags and awk +# Make a highlight file for types. Requires Universal/Exuberant ctags and awk types: types.vim types.vim: *.[ch] ctags --c-kinds=gstu -o- *.[ch] |\ diff --git a/runtime/doc/tags b/runtime/doc/tags index 81ba7d9b4..e64bdd576 100644 --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -4254,6 +4254,7 @@ E1265 eval.txt /*E1265* E1266 if_pyth.txt /*E1266* E127 eval.txt /*E127* E1270 change.txt /*E1270* +E1271 vim9.txt /*E1271* E128 eval.txt /*E128* E129 eval.txt /*E129* E13 message.txt /*E13* diff --git a/runtime/doc/tagsrch.txt b/runtime/doc/tagsrch.txt index b53131bf9..e2391190e 100644 --- a/runtime/doc/tagsrch.txt +++ b/runtime/doc/tagsrch.txt @@ -561,7 +561,8 @@ also works. The <CR> and <NL> characters can never appear inside a line. The second format is new. It includes additional information in optional fields at the end of each line. It is backwards compatible with Vi. It is -only supported by new versions of ctags (such as Exuberant ctags). +only supported by new versions of ctags (such as Universal ctags or Exuberant +ctags). {tagname} The identifier. Normally the name of a function, but it can be any identifier. It cannot contain a <Tab>. diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index 57a84e5cc..fd0817def 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 8.2. Last change: 2022 Mar 08 +*todo.txt* For Vim version 8.2. Last change: 2022 Mar 18 VIM REFERENCE MANUAL by Bram Moolenaar @@ -38,27 +38,10 @@ browser use: https://github.com/vim/vim/issues/1234 *known-bugs* -------------------- Known bugs and current work ----------------------- -Allow for assigning v:null to job/channel/funcref etc. -- Check that the declared type is not lost. -- Check: var d: dict<func> = {a: function('tr'), b: null} - -Fix that with s being an empty string, this returns TRUE: - echo s is null_string - -Make sure null types work to: -- assign to a variable -- use as an argument -- use as default value of optional argument -- use as return value -- use in a list/dict constant, type is correct -- revert comparing with null? - -TODO item in eval.c - -Really drop the Athena GUI? And NeXtaw? +Really drop the Athena and NeXtaw GUI? Decide end of March. Once Vim9 is stable: -- Use Vim9 for runtime files. +- Use Vim9 for more runtime files. - Check code coverage, add more tests if needed. vim9execute.c line 1900 vim9expr.c @@ -123,7 +106,6 @@ Popup windows: - Should popup_getoptions() also return the mask? #7774 - Add a way to use popup_menu() synchronously: instead of invoking the callback, return the choice. (Ben Jackson, #6534) -- Use popup (or popup menu) for command line completion - When using a popup for the info of a completion menu, and there is not enough space, let the popup overlap with the menu. (#4544) - Implement flip option. @@ -2231,10 +2213,6 @@ Jan 7) Problem with editing file in binary mode. (Ingo Krabbe, 2009 Oct 8) -With 'wildmode' set to "longest:full,full" and pressing Tab once the first -entry in wildmenu is highlighted, that shouldn't happen. (Yuki Watanabe, 2011 -Feb 12) - Display error when 'tabline' that includes a file name with double-width characters. (2010 Aug 14, bootleq) @@ -2437,10 +2415,6 @@ is executed. first line. (Ingo Karkat, 2008 Jul 1) Ian Kelling is working on this. Similar problem with ":e". (Marc Montu, 2014 Apr 22) -Wildmenu not deleted: "gvim -u NONE", ":set nocp wildmenu cmdheight=3 -laststatus=2", CTRL-D CTRL-H CTRL-H CTRL-H. (A.Politz, 2008 April 1) -Works OK with Vim in an xterm. - Cursor line moves in other window when using CTRL-W J that doesn't change anything. (Dasn, 2009 Apr 7) @@ -2473,10 +2447,6 @@ backslash? (Robert Vibrant, 2008 Jun 5) When 'rightleft' is set, cursorcolumn isn't highlighted after the end of a line. It's also wrong in folds. (Dominique Pelle, 2010 Aug 21) -After using <Tab> for command line completion after ":ta blah" and getting E33 -(no tags file), further editing the command to e.g., ":echo 'blah'", the -command is not executed. Fix by Ian Kelling? - ":help s/~" jumps to *s/\~*, while ":help s/\~" doesn't find anything. (Tim Chase) Fix by Ian Kelling, 2008 Jul 14. @@ -2652,16 +2622,6 @@ This should avoid flicker. Other solution by A.Politz, 2007 Aug 22. When a register contains illegal bytes, writing viminfo in utf-8 and reading it back doesn't result in utf-8. (Devin Bayer) -Command line completion: Scanning for tags doesn't check for typed key now and -then? Hangs for about 5 seconds. Appears to be caused by finding include -files with "foo/**" in 'path'. (Kalisiak, 2006 July 15) -Additional info: When using the |wildcards| ** globing, vim hangs -indefinitely on lots of directories. The |file-searching| globing, like in -":set path=/**" does not hang as often as with globing with |wildcards|, like -in ":1find /**/file". This is for files that unix "find" can find very -quickly. Merging the 2 kinds of globing might make this an easier fix. (Ian -Kelling, 2008 July 4) - When the file name has parenthesis, e.g., "foo (bar).txt", ":!ls '%'" has the parenthesis escaped but not the space. That's inconsistent. Either escape neither or both. No escaping might be best, because it doesn't depend on @@ -2740,8 +2700,6 @@ Cursor displayed in the wrong position when using 'numberwidth'. (James Vega, When $VAR contains a backslash expand('$VAR') removes it. (Teemu Likonen, 2008 Jun 18) -If the variable "g:x#y#z" exists completion after ":echo g:x#" doesn't work. - In debug mode, using CTRL-R = to evaluate a function causes stepping through the function. (Hari Krishna Dara, 2006 Jun 28) @@ -2850,13 +2808,6 @@ reload it then? For Aap: include a config.arg.example file with hints how to use config.arg. -Command line completion when 'cmdheight' is maximum and 'wildmenu' is set, -only one buffer line displayed, causes display errors. - -Completing with 'wildmenu' and using <Up> and <Down> to move through directory -tree stops unexpectedly when using ":cd " and entering a directory that -doesn't contain other directories. - Default for 'background' is wrong when using xterm with 256 colors. Table with estimates from Matteo Cavalleri, 2014 Jan 10. @@ -3538,8 +3489,6 @@ Macintosh: 8 When doing Insert mode completion a mapping cannot recursively call edit(), because the completion information is global. Put everything in an allocated structure? -8 Command line completion: buffers "foo.txt" and "../b/foo.txt", completing - ":buf foo<Tab>" doesn't find the second one. (George V. Reilly) 7 mb_off2cells() doesn't work correctly on the tail byte of a double-byte character. (Yasuhiro Matsumoto) It should return 1 when used on a tail byte, like for utf-8. Store second byte of double-byte in ScreenLines2[] @@ -4274,8 +4223,6 @@ Syntax highlighting: 7 CTRL-] checks the highlight group for finding out what the tag is. 7 Add an explanation how a list of words can be used to highlight misspelled words. -8 Add more command line completion for :syntax. -8 Add more command line completion for :highlight. 7 Should find a better way to parse the :syntax and :highlight commands. Use tables or lists that can be shared by parsing for execution and completion? @@ -5061,6 +5008,35 @@ Command line completion: - Add 'wildlongest' option: Key to use to find longest common match for command line completion (default CTRL-L), like 'wildchar'. (Cregut) Also: when there are several matches, show them line a CTRL-D. +- With 'wildmode' set to "longest:full,full" and pressing Tab once the first + entry in wildmenu is highlighted, that shouldn't happen. (Yuki Watanabe, + 2011 Feb 12) +- After using <Tab> for command line completion after ":ta blah" and getting + E33 (no tags file), further editing the command to e.g., ":echo 'blah'", + the command is not executed. Fix by Ian Kelling? +- Command line completion: Scanning for tags doesn't check for typed key now + and then? Hangs for about 5 seconds. Appears to be caused by finding + include files with "foo/**" in 'path'. (Kalisiak, 2006 July 15) + Additional info: When using the |wildcards| ** globing, vim hangs + indefinitely on lots of directories. The |file-searching| globing, like in + ":set path=/**" does not hang as often as with globing with |wildcards|, + like in ":1find /**/file". This is for files that unix "find" can find + very quickly. Merging the 2 kinds of globing might make this an easier + fix. (Ian Kelling, 2008 July 4) +- Command line completion when 'cmdheight' is maximum and 'wildmenu' is set, + only one buffer line displayed, causes display errors. +- Completing with 'wildmenu' and using <Up> and <Down> to move through + directory tree stops unexpectedly when using ":cd " and entering a + directory that doesn't contain other directories. +8 Command line completion: buffers "foo.txt" and "../b/foo.txt", completing + ":buf foo<Tab>" doesn't find the second one. (George V. Reilly) +8 Add more command line completion for :syntax. +8 Add more command line completion for :highlight. +- Wildmenu not deleted: "gvim -u NONE", ":set nocp wildmenu cmdheight=3 + laststatus=2", CTRL-D CTRL-H CTRL-H CTRL-H. (A.Politz, 2008 April 1) Works + OK with Vim in an xterm. +- If the variable "g:x#y#z" exists completion after ":echo g:x#" doesn't + work. Command line history: diff --git a/runtime/doc/usr_29.txt b/runtime/doc/usr_29.txt index 594020603..de1b91151 100644 --- a/runtime/doc/usr_29.txt +++ b/runtime/doc/usr_29.txt @@ -1,4 +1,4 @@ -*usr_29.txt* For Vim version 8.2. Last change: 2016 Feb 27 +*usr_29.txt* For Vim version 8.2. Last change: 2022 Mar 13 VIM USER MANUAL - by Bram Moolenaar @@ -33,10 +33,12 @@ following command: > ctags *.c "ctags" is a separate program. Most Unix systems already have it installed. -If you do not have it yet, you can find Exuberant ctags here: - +If you do not have it yet, you can find Universal/Exuberant ctags at: + http://ctags.io ~ http://ctags.sf.net ~ +Universal ctags is preferred, Exuberant ctags is no longer being developed. + Now when you are in Vim and you want to go to a function definition, you can jump to it by using the following command: > @@ -142,15 +144,15 @@ ONE TAGS FILE When Vim has to search many places for tags files, you can hear the disk rattling. It may get a bit slow. In that case it's better to spend this time while generating one big tags file. You might do this overnight. - This requires the Exuberant ctags program, mentioned above. It offers an -argument to search a whole directory tree: > + This requires the Universal or Exuberant ctags program, mentioned above. +It offers an argument to search a whole directory tree: > cd ~/proj ctags -R . -The nice thing about this is that Exuberant ctags recognizes various file -types. Thus this doesn't work just for C and C++ programs, also for Eiffel -and even Vim scripts. See the ctags documentation to tune this. +The nice thing about this is that Universal/Exuberant ctags recognizes various +file types. Thus this doesn't work just for C and C++ programs, also for +Eiffel and even Vim scripts. See the ctags documentation to tune this. Now you only need to tell Vim where your big tags file is: > :set tags=~/proj/tags @@ -232,7 +234,8 @@ A TAGS BROWSER Since CTRL-] takes you to the definition of the identifier under the cursor, you can use a list of identifier names as a table of contents. Here is an example. - First create a list of identifiers (this requires Exuberant ctags): > + First create a list of identifiers (this requires Universal or Exuberant +ctags): > ctags --c-types=f -f functions *.c diff --git a/runtime/doc/version9.txt b/runtime/doc/version9.txt index 0e1ecf55d..7d5c2585e 100644 --- a/runtime/doc/version9.txt +++ b/runtime/doc/version9.txt @@ -837,7 +837,7 @@ Files: runtime/tools/ccfilter.c, src/libvterm/src/parser.c, Patch 8.2.0107 Problem: Hgignore is out of sync from gitignore. Solution: Add lines to hgignore. (Ken Takata) -Files: .hgigmore +Files: .hgignore Patch 8.2.0108 Problem: When sign text is changed a manual redraw is needed. (Pontus @@ -2474,7 +2474,7 @@ Files: src/testdir/test_hardcopy.vim Patch 8.2.0367 Problem: Can use :pedit in a popup window. Solution: Disallow it. -Files: src/ex_docmd.c, src/testdir/test_popuwin.vim +Files: src/ex_docmd.c, src/testdir/test_popupwin.vim Patch 8.2.0368 Problem: Vim9: import that redefines local variable does not fail. @@ -2513,7 +2513,7 @@ Patch 8.2.0372 Problem: Prop_find() may not find text property at start of the line. Solution: Adjust the loop to find properties. (Axel Forsman, closes #5761, closes #5663) -Files: src/testprop.c, src/testdir/test_textprop.vim +Files: src/textprop.c, src/testdir/test_textprop.vim Patch 8.2.0373 Problem: Type of term_sendkeys() is unknown. @@ -3743,7 +3743,7 @@ Patch 8.2.0570 Problem: Vim9: no error when omitting type from argument. Solution: Enforce specifying argument types. Files: src/userfunc.c, src/ex_eval.c, src/testdir/test_vim9_script.vim, - src/testdir/test_vim9_func.vim, src/testdir/test_vim9_expr.vim + src/testdir/test_vim9_func.vim, src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_disassemble.vim Patch 8.2.0571 @@ -3921,7 +3921,7 @@ Files: runtime/doc/netbeans.txt, src/netbeans.c, src/os_win32.c, Patch 8.2.0600 Problem: Vim9: cannot read or write w:, t: and b: variables. Solution: Implement load and store for w:, t: and b: variables. - (closes #5950) + (closes #5950) Files: src/testdir/test_vim9_disassemble.vim, src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_script.vim, src/vim9.h, src/vim9compile.c, src/vim9execute.c @@ -4042,7 +4042,7 @@ Files: runtime/lang/menu_sv_se.latin1.vim Patch 8.2.0618 Problem: Echoing a null list results in no output. (Yegappan Lakshmanan) -Solution: Return "[]" instead of NULL in echo_string_core(). +Solution: Return "[]" instead of NULL in echo_string_core(). Files: src/eval.c, src/testdir/test_messages.vim Patch 8.2.0619 @@ -4095,7 +4095,7 @@ Solution: Give error for missing space. Implement :echomsg and :echoerr. (closes #5670) Files: src/vim9compile.c, src/vim9execute.c, src/vim9.h, src/userfunc.c, src/eval.c, src/globals.h, src/testdir/test_vim9_func.vim, - src/testdir/test_vim9_disassemble.vim + src/testdir/test_vim9_disassemble.vim, src/testdir/test_vim9_script.vim Patch 8.2.0627 @@ -5205,8 +5205,9 @@ Problem: Libvterm code lags behind the upstream version. Solution: Include revision 727, but add the index instead of switching between RGB and indexed. Files: src/terminal.c, src/term.c, src/libvterm/include/vterm.h, - src/libvterm/src/pen.c src/libvterm/src/screen.c - src/libvterm/src/vterm_internal.h src/libvterm/t/30state_pen.test + src/libvterm/src/pen.c, src/libvterm/src/screen.c, + src/libvterm/src/vterm_internal.h, + src/libvterm/t/30state_pen.test, src/libvterm/t/harness.c, src/libvterm/src/state.c, src/libvterm/t/26state_query.test, src/libvterm/t/64screen_pen.test @@ -5299,7 +5300,7 @@ Files: runtime/doc/vim9.txt, src/vim9script.c, src/structs.h, src/evalvars.c, src/proto/evalvars.pro, src/vim9compile.c, src/proto/vim9compile.pro, src/vim9execute.c, src/ex_cmds.h, src/ex_docmd.c, src/ex_cmdidxs.h, src/vim.h, src/testdir/vim9.vim, - src/testdir/test_vim9_disassemble.vim + src/testdir/test_vim9_disassemble.vim, src/testdir/test_vim9_func.vim, src/testdir/test_vim9_script.vim Patch 8.2.0819 @@ -5667,7 +5668,7 @@ Patch 8.2.0875 Problem: Getting attributes for directory entries is slow. Solution: Add readdirex(). (Ken Takata, closes #5619) Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, - src/fileio.c, src/filepath.c src/proto/fileio.pro, + src/fileio.c, src/filepath.c, src/proto/fileio.pro, src/proto/filepath.pro, src/testdir/test_functions.vim Patch 8.2.0876 @@ -6292,7 +6293,7 @@ Patch 8.2.0981 Problem: Vim9: cannot compile "[var, var] = list". Solution: Implement list assignment. Files: src/vim9compile.c, src/vim9.h, src/vim9execute.c, src/evalvars.c, - src/proto/evalvars.pro src/eval.c, src/testdir/test_vim9_script.vim + src/proto/evalvars.pro, src/eval.c, src/testdir/test_vim9_script.vim Patch 8.2.0982 Problem: Insufficient testing for reading/writing files. @@ -6335,7 +6336,7 @@ Files: runtime/doc/eval.txt, runtime/doc/mlang.txt, src/auto/configure, src/cmdexpand.c, src/config.h.in, src/configure.ac, src/evalfunc.c, src/evalvars.c, src/ex_cmds2.c, src/fileio.c, src/filepath.c, src/globals.h, src/proto/fileio.pro, - src/testdir/test_cmdline.vim, src/testdir/test_functions.vim + src/testdir/test_cmdline.vim, src/testdir/test_functions.vim, src/vim.h Patch 8.2.0989 @@ -9545,7 +9546,7 @@ Patch 8.2.1518 Problem: Vim9: cannot assign to local option. Solution: Skip over "&l:" and "&g:". (closes #6749) Files: src/ex_docmd.c, src/proto/ex_docmd.pro, src/testdir/vim9.vim, - src/vim9compile.c src/testdir/test_vim9_script.vim + src/vim9compile.c, src/testdir/test_vim9_script.vim Patch 8.2.1519 Problem: Vim9: Ex command default range is not set. @@ -11740,7 +11741,7 @@ Files: src/structs.h, src/ex_docmd.c, src/proto/ex_docmd.pro, Patch 8.2.1898 Problem: Command modifier parsing always uses global cmdmod. Solution: Pass in cmdmod_T to use. Rename struct fields consistently. -Files: src/structs.h, src/arglist.c src/buffer.c, src/bufwrite.c, +Files: src/structs.h, src/arglist.c, src/buffer.c, src/bufwrite.c, src/diff.c, src/change.c, src/cmdhist.c, src/edit.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/filepath.c, src/gui.c, src/gui_gtk_x11.c, @@ -13549,7 +13550,7 @@ Patch 8.2.2209 Problem: Vim9: return type of => lambda not parsed. Solution: Parse and use the return type. Files: src/vim9compile.c, src/userfunc.c, src/vim9type.c, - src/proto/vim9type.pro, src/vim9script.c, src/eval.c + src/proto/vim9type.pro, src/vim9script.c, src/eval.c, src/testdir/test_vim9_expr.vim Patch 8.2.2210 @@ -13776,7 +13777,7 @@ Solution: Check the window still has lines. (Christian Brabandt, Files: src/term.c Patch 8.2.2249 -Problem: Termcodes test is flaky when used over ssh with X forwarding. +Problem: Termcodes test is flaky when used over ssh with X forwarding. Solution: Set 'mousetime' to a larger value. (Dominique Pellé, closes #7576, closes #7563) Files: src/testdir/test_termcodes.vim @@ -15482,7 +15483,7 @@ Problem: Vim9: cannot use a range with :unlet. Solution: Implement ISN_UNLETRANGE. Files: src/errors.h, src/eval.c, src/evalvars.c, src/list.c, src/proto/evalvars.pro, src/proto/list.pro, src/vim9.h, - src/vim9compile.c, src/vim9execute.c + src/vim9compile.c, src/vim9execute.c, src/testdir/test_vim9_assign.vim Patch 8.2.2534 @@ -15518,7 +15519,7 @@ Problem: Vim9: return from finally block causes a hang. Solution: Store both the finally and endtry indexes. (closes #7885) Files: src/vim9execute.c, src/vim9compile.c, src/vim9.h, src/testdir/test_vim9_script.vim, - + Patch 8.2.2540 Problem: Vim9: no error for using script var name for argument. Solution: Check for this error. (closes #7868) @@ -17249,7 +17250,7 @@ Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim Patch 8.2.2841 Problem: MS-Windows: cursor in wrong position when 'lazyredraw' and - 'statusline' are set. + 'statusline' are set. Solution: Call compute_cmdrow(). (closes #8170, closes #8184) Files: src/os_win32.c @@ -17936,7 +17937,7 @@ Patch 8.2.2957 Problem: Using getchar() in Vim9 script is problematic. Solution: Add getcharstr(). (closes #8343) Files: runtime/doc/eval.txt, src/evalfunc.c, src/getchar.c, - src/proto/getchar.pro, src/testdir/test_getchar.vim + src/proto/getchar.pro, src/testdir/test_functions.vim Patch 8.2.2958 (after 8.2.2957) Problem: Function list test fails. @@ -18849,7 +18850,7 @@ Solution: Use eval(). Files: src/testdir/check.vim Patch 8.2.3110 -Problem: A pattern that matches the cursor position is bit complicated. +Problem: A pattern that matches the cursor position is a bit complicated. Solution: Use a dot to indicate the cursor line and column. (Christian Brabandt, closes #8497, closes #8179) Files: runtime/doc/pattern.txt, src/errors.h, src/regexp_bt.c, @@ -18864,7 +18865,7 @@ Patch 8.2.3112 (after 8.2.3090) Problem: With concealing enabled and indirectly closing a fold the cursor may be somewhere in a folded line when it is not on the first line of the fold. -Solution: Check if he cursor is somewhere in the folded text. +Solution: Check if the cursor is somewhere in the folded text. Files: src/drawscreen.c Patch 8.2.3113 @@ -23950,7 +23951,7 @@ Patch 8.2.3957 Problem: Error messages are spread out. Solution: Move more errors to errors.h. Files: src/errors.h, src/globals.h, src/arglist.c, src/bufwrite.c, - src/evalvars.c, src/ex_cmds2.c, src/ex_docmd.c src/ex_eval.c, + src/evalvars.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_eval.c, src/help.c, src/scriptfile.c, src/usercmd.c, src/userfunc.c, src/vim9cmds.c, src/vim9compile.c @@ -23975,7 +23976,7 @@ Files: src/errors.h, src/alloc.c, src/arglist.c, src/autocmd.c, Patch 8.2.3961 Problem: Error messages are spread out. Solution: Move more errors to errors.h. -Files: src/errors.h, src/globals.h src/arglist.c, src/autocmd.c, +Files: src/errors.h, src/globals.h, src/arglist.c, src/autocmd.c, src/blob.c, src/bufwrite.c, src/channel.c, src/clipboard.c, src/cmdexpand.c, src/debugger.c, src/dict.c, src/eval.c, src/evalfunc.c, src/evalvars.c, src/evalwindow.c, src/ex_cmds.c, @@ -24291,7 +24292,7 @@ Files: src/errors.h, src/channel.c, src/ex_docmd.c, src/ex_eval.c, Patch 8.2.4004 Problem: Old compiler complains about struct init with variable. -Solution: Set the struct member later. (John Marriott) +Solution: Set the struct member later. (John Marriott) Files: src/evalfunc.c Patch 8.2.4005 @@ -24494,7 +24495,7 @@ Files: src/time.c Patch 8.2.4036 Problem: Vim9: script test file is getting too long. Solution: Split the import/export functionality to a separate file. -Files: src/testdir/test_vim9_script.vim src/testdir/test_vim9_import.vim, +Files: src/testdir/test_vim9_script.vim, src/testdir/test_vim9_import.vim, src/testdir/Make_all.mak Patch 8.2.4037 @@ -25457,7 +25458,7 @@ Patch 8.2.4202 Problem: Vim9: cannot export function that exists globally. Solution: When checking if a function already exists only check for script-local functions. (closes #9615) -Files: src/userfunc.c, src/proto/userfunc.pro, src/vim.h, +Files: src/userfunc.c, src/proto/userfunc.pro, src/vim.h, src/vim9compile.c, src/vim9instr.c, src/testdir/test_vim9_import.vim @@ -25853,7 +25854,7 @@ Patch 8.2.4265 (after 8.2.4264) Problem: Autoload tests fails. Solution: Use export instead of name with #. Files: src/testdir/sautest/autoload/auto9.vim, - src/testdir/test_autoload.vim src/testdir/test_ins_complete.vim + src/testdir/test_autoload.vim, src/testdir/test_ins_complete.vim Patch 8.2.4266 Problem: Compiler warning for uninitialized variable. diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt index 54e02aecb..f494880e2 100644 --- a/runtime/doc/vim9.txt +++ b/runtime/doc/vim9.txt @@ -1,4 +1,4 @@ -*vim9.txt* For Vim version 8.2. Last change: 2022 Mar 08 +*vim9.txt* For Vim version 8.2. Last change: 2022 Mar 18 VIM REFERENCE MANUAL by Bram Moolenaar @@ -995,6 +995,11 @@ The values can also be useful as the default value for an argument: > if b == null_blob # b argument was not given +It is possible to compare `null` with any value, this will not give a type +error. However, comparing `null` with a number, float or bool will always +result in `false`. This is different from legacy script, where comparing +`null` with zero or `false` would return `true`. + When converting a boolean to a string `false` and `true` are used, not `v:false` and `v:true` like in legacy script. `v:none` has no `none` replacement, it has no equivalent in other languages. @@ -1234,6 +1239,11 @@ Closures defined in a loop will share the same context. For example: > endfor echo range(5)->map((i, _) => flist[i]()) # Result: [4, 4, 4, 4, 4] +< *E1271* +A closure must be compiled in the context that it is defined in, so that +variables in that context can be found. This mostly happens correctly, except +when a function is marked for debugging with `breakadd` after it was compiled. +Make sure the define the breakpoint before compiling the outerh function. The "inloop" variable will exist only once, all closures put in the list refer to the same instance, which in the end will have the value 4. This is @@ -1739,7 +1749,8 @@ actually needed. Using the autoload mechanism is recommended: prefix is obtained from the file name, as you would to manually in a legacy autoload script. Thus the exported function can be found with "for#search#Stuff", but you would normally use `import autoload` and not - use the prefix. + use the prefix (which has the side effect of loading the autoload script + when compiling a function that encounters this name). You can split up the functionality and import other scripts from the autoload script as you like. This way you can share code between plugins. @@ -1751,7 +1762,17 @@ script context of where the mapping was defined. When compiling a `:def` function and a function in an autoload script is encountered, the script is not loaded until the `:def` function is called. This also means you get any errors only at runtime, since the argument and -return types are not known yet. +return types are not known yet. If you would use the name with '#' characters +then the autoload script IS loaded. + +Be careful to not refer to an item in an autoload script that does trigger +loading it unintentionally. For example, when setting an option that takes a +function name, make sure to use a string, not a function reference: > + import autoload 'qftf.vim' + &quickfixtextfunc = 'qftf.Func' # autoload script NOT loaded + &quickfixtextfunc = qftf.Func # autoload script IS loaded +On the other hand, it can be useful to load the script early, at a time when +any errors should be given. For testing the |test_override()| function can be used to have the `import autoload` load the script right away, so that the items and types can diff --git a/runtime/ftplugin/liquid.vim b/runtime/ftplugin/liquid.vim index b211a884c..f24ec4cbb 100644 --- a/runtime/ftplugin/liquid.vim +++ b/runtime/ftplugin/liquid.vim @@ -1,7 +1,7 @@ " Vim filetype plugin " Language: Liquid " Maintainer: Tim Pope <vimNOSPAM@tpope.org> -" Last Change: 2010 May 21 +" Last Change: 2022 Mar 15 if exists('b:did_ftplugin') finish @@ -53,7 +53,7 @@ if has('gui_win32') endif if exists('loaded_matchit') - let b:match_words .= '\<\%(if\w*\|unless\|case\)\>:\<\%(elsif\|else\|when\)\>:\<end\%(if\w*\|unless\|case\)\>,\<\%(for\|tablerow\)\>:\%({%\s*\)\@<=empty\>:\<end\%(for\|tablerow\)\>,<\(capture\|comment\|highlight\)\>:\<end\1\>' + let b:match_words .= '\<\%(if\w*\|unless\|case\)\>:\<\%(elsif\|else\|when\)\>:\<end\%(if\w*\|unless\|case\)\>,\<\%(for\|tablerow\)\>:\%({%\s*\)\@<=empty\>:\<end\%(for\|tablerow\)\>,\<\(capture\|comment\|highlight\)\>:\<end\1\>' endif setlocal commentstring={%\ comment\ %}%s{%\ endcomment\ %} diff --git a/runtime/ftplugin/php.vim b/runtime/ftplugin/php.vim index 3ff0828ff..2824a5853 100644 --- a/runtime/ftplugin/php.vim +++ b/runtime/ftplugin/php.vim @@ -73,10 +73,11 @@ exe 'nno <buffer> <silent> ]] /' . escape(s:section, '|') . '/<CR>:nohls<CR>' exe 'ono <buffer> <silent> [[ ?' . escape(s:section, '|') . '?<CR>:nohls<CR>' exe 'ono <buffer> <silent> ]] /' . escape(s:section, '|') . '/<CR>:nohls<CR>' +setlocal suffixesadd=.php setlocal commentstring=/*%s*/ " Undo the stuff we changed. -let b:undo_ftplugin = "setlocal commentstring< include< omnifunc<" . +let b:undo_ftplugin = "setlocal suffixesadd< commentstring< include< omnifunc<" . \ " | unlet! b:browsefilter b:match_words | " . \ s:undo_ftplugin diff --git a/runtime/gvim.desktop b/runtime/gvim.desktop index 2fc06c2f5..3c5ff1ce4 100644 --- a/runtime/gvim.desktop +++ b/runtime/gvim.desktop @@ -2,6 +2,7 @@ # Edit the src/po/gvim.desktop.in file instead. [Desktop Entry] # Translators: This is the Application Name used in the GVim desktop file +Name[ca]=GVim Name[de]=GVim Name[eo]=GVim Name[fi]=GVim @@ -13,6 +14,7 @@ Name[sr]=GVim Name[tr]=GVim Name=GVim # Translators: This is the Generic Application Name used in the Vim desktop file +GenericName[ca]=Editor de text GenericName[de]=Texteditor GenericName[eo]=Tekstoredaktilo GenericName[fi]=Tekstinmuokkain @@ -25,6 +27,7 @@ GenericName[sr]=Едитор текст GenericName[tr]=Metin Düzenleyici GenericName=Text Editor # Translators: This is the comment used in the Vim desktop file +Comment[ca]=Edita fitxers de text Comment[de]=Textdateien bearbeiten Comment[eo]=Redakti tekstajn dosierojn Comment[fi]=Muokkaa tekstitiedostoja @@ -49,7 +52,6 @@ Comment[be]=Рэдагаваньне тэкставых файлаў Comment[bg]=Редактиране на текстови файлове Comment[bn]=টেক্স্ট ফাইল এডিট করুন Comment[bs]=Izmijeni tekstualne datoteke -Comment[ca]=Edita fitxers de text Comment[cs]=Úprava textových souborů Comment[cy]=Golygu ffeiliau testun Comment[da]=Rediger tekstfiler @@ -105,6 +107,7 @@ Exec=gvim -f %F Terminal=false Type=Application # Translators: Search terms to find this application. Do NOT change the semicolons! The list MUST also end with a semicolon! +Keywords[ca]=Text;editor; Keywords[de]=Text;Editor; Keywords[eo]=Teksto;redaktilo; Keywords[fi]=Teksti;muokkain;editori; diff --git a/runtime/indent/bst.vim b/runtime/indent/bst.vim index 47e305881..3dd8d711a 100644 --- a/runtime/indent/bst.vim +++ b/runtime/indent/bst.vim @@ -1,20 +1,18 @@ " Vim indent file " Language: bst " Author: Tim Pope <vimNOSPAM@tpope.info> -" $Id: bst.vim,v 1.1 2007/05/05 18:11:12 vimboss Exp $ +" Last Change: 2022 Mar 15 if exists("b:did_indent") finish endif let b:did_indent = 1 -setlocal expandtab setlocal indentexpr=GetBstIndent(v:lnum) -"setlocal smartindent setlocal cinkeys& setlocal cinkeys-=0# setlocal indentkeys& -"setlocal indentkeys+=0% +let b:undo_indent = 'setlocal indentexpr< cinkeys< indentkeys<' " Only define the function once. if exists("*GetBstIndent") diff --git a/runtime/indent/haml.vim b/runtime/indent/haml.vim index baca1d49d..acd99d9c7 100644 --- a/runtime/indent/haml.vim +++ b/runtime/indent/haml.vim @@ -1,7 +1,7 @@ " Vim indent file " Language: Haml " Maintainer: Tim Pope <vimNOSPAM@tpope.org> -" Last Change: 2019 Dec 05 +" Last Change: 2022 Mar 15 if exists("b:did_indent") finish @@ -14,6 +14,8 @@ setlocal autoindent setlocal indentexpr=GetHamlIndent() setlocal indentkeys=o,O,*<Return>,},],0),!^F,=end,=else,=elsif,=rescue,=ensure,=when +let b:undo_indent = "setl ai< inde< indk<" + " Only define the function once. if exists("*GetHamlIndent") finish diff --git a/runtime/indent/liquid.vim b/runtime/indent/liquid.vim index 7beb0388d..6fc933797 100644 --- a/runtime/indent/liquid.vim +++ b/runtime/indent/liquid.vim @@ -1,7 +1,7 @@ " Vim indent file " Language: Liquid " Maintainer: Tim Pope <vimNOSPAM@tpope.org> -" Last Change: 2017 Jun 13 +" Last Change: 2022 Mar 15 if exists('b:did_indent') finish @@ -29,17 +29,19 @@ let b:did_indent = 1 setlocal indentexpr=GetLiquidIndent() setlocal indentkeys=o,O,*<Return>,<>>,{,},0),0],o,O,!^F,=end,=endif,=endunless,=endifchanged,=endcase,=endfor,=endtablerow,=endcapture,=else,=elsif,=when,=empty +let b:undo_indent = "setl inde< indk<" + " Only define the function once. if exists('*GetLiquidIndent') finish endif -function! s:count(string,pattern) +function! s:count(string, pattern) abort let string = substitute(a:string,'\C'.a:pattern,"\n",'g') return strlen(substitute(string,"[^\n]",'','g')) endfunction -function! GetLiquidIndent(...) +function! GetLiquidIndent(...) abort if a:0 && a:1 == '.' let v:lnum = line('.') elseif a:0 && a:1 =~ '^\d' @@ -51,13 +53,14 @@ function! GetLiquidIndent(...) let lnum = prevnonblank(v:lnum-1) let line = getline(lnum) let cline = getline(v:lnum) - let line = substitute(line,'\C^\%(\s*{%\s*end\w*\s*%}\)\+','','') - let line .= matchstr(cline,'\C^\%(\s*{%\s*end\w*\s*%}\)\+') - let cline = substitute(cline,'\C^\%(\s*{%\s*end\w*\s*%}\)\+','','') + let line = substitute(line,'\C^\%(\s*{%-\=\s*end\w*\s*-\=%}\)\+','','') + let line = substitute(line,'\C\%(\s*{%-\=\s*if.\+-\=%}.\+{%-\=\s*endif\s*-\=%}\)\+','','g') + let line .= matchstr(cline,'\C^\%(\s*{%-\=\s*end\w*\s*-\=%}\)\+') + let cline = substitute(cline,'\C^\%(\s*{%-\=\s*end\w*\s*-\=%}\)\+','','') let sw = shiftwidth() - let ind += sw * s:count(line,'{%\s*\%(if\|elsif\|else\|unless\|ifchanged\|case\|when\|for\|empty\|tablerow\|capture\)\>') - let ind -= sw * s:count(line,'{%\s*end\%(if\|unless\|ifchanged\|case\|for\|tablerow\|capture\)\>') - let ind -= sw * s:count(cline,'{%\s*\%(elsif\|else\|when\|empty\)\>') - let ind -= sw * s:count(cline,'{%\s*end\w*$') + let ind += sw * s:count(line,'{%-\=\s*\%(if\|elsif\|else\|unless\|ifchanged\|case\|when\|for\|empty\|tablerow\|capture\)\>') + let ind -= sw * s:count(line,'{%-\=\s*end\%(if\|unless\|ifchanged\|case\|for\|tablerow\|capture\)\>') + let ind -= sw * s:count(cline,'{%-\=\s*\%(elsif\|else\|when\|empty\)\>') + let ind -= sw * s:count(cline,'{%-\=\s*end\w*$') return ind endfunction diff --git a/runtime/indent/sass.vim b/runtime/indent/sass.vim index d6dbf3a8b..8c0ecd074 100644 --- a/runtime/indent/sass.vim +++ b/runtime/indent/sass.vim @@ -1,7 +1,7 @@ " Vim indent file " Language: Sass " Maintainer: Tim Pope <vimNOSPAM@tpope.org> -" Last Change: 2017 Jun 13 +" Last Change: 2022 Mar 15 if exists("b:did_indent") finish @@ -12,6 +12,8 @@ setlocal autoindent sw=2 et setlocal indentexpr=GetSassIndent() setlocal indentkeys=o,O,*<Return>,<:>,!^F +let b:undo_indent = "setl ai< inde< indk<" + " Only define the function once. if exists("*GetSassIndent") finish diff --git a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim index bde9140f9..00a9ca97b 100644 --- a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim +++ b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim @@ -4,10 +4,11 @@ " Copyright: Vim license applies, see ":help license" " Last Change: 2022 Jan 17 " -" WORK IN PROGRESS - Only the basics work -" Note: On MS-Windows you need a recent version of gdb. The one included with -" MingW is too old (7.6.1). -" I used version 7.12 from http://www.equation.com/servlet/equation.cmd?fa=gdb +" WORK IN PROGRESS - The basics works stable, more to come +" Note: In general you need at least GDB 7.12 because this provides the +" frame= response in MI thread-selected events we need to sync stack to file. +" The one included with "old" MingW is too old (7.6.1), you may upgrade it or +" use a newer version from http://www.equation.com/servlet/equation.cmd?fa=gdb " " There are two ways to run gdb: " - In a terminal window; used if possible, does not work on MS-Windows @@ -313,7 +314,7 @@ func s:StartDebug_term(dict) let response = line1 . line2 if response =~ 'Undefined command' echoerr 'Sorry, your gdb is too old, gdb 7.12 is required' - " CHECKME: possibly send a "server show version" here + " CHECKME: possibly send a "server show version" here call s:CloseBuffers() return endif @@ -396,7 +397,7 @@ func s:StartDebug_prompt(dict) endif " Mark the buffer modified so that it's not easy to close. set modified - let s:gdb_channel = job_getchannel(s:gdbjob) + let s:gdb_channel = job_getchannel(s:gdbjob) let s:ptybuf = 0 if has('win32') @@ -662,8 +663,8 @@ func s:EndDebugCommon() if bufexists(bufnr) exe bufnr .. "buf" if exists('b:save_signcolumn') - let &signcolumn = b:save_signcolumn - unlet b:save_signcolumn + let &signcolumn = b:save_signcolumn + unlet b:save_signcolumn endif endif endfor @@ -739,8 +740,8 @@ func s:HandleDisasmMsg(msg) let lnum = search('^' . s:asm_addr) if lnum != 0 - exe 'sign unplace ' . s:asm_id - exe 'sign place ' . s:asm_id . ' line=' . lnum . ' name=debugPC' + exe 'sign unplace ' . s:asm_id + exe 'sign place ' . s:asm_id . ' line=' . lnum . ' name=debugPC' endif call win_gotoid(curwinid) @@ -789,22 +790,22 @@ func s:CommOutput(chan, msg) call s:HandleDisasmMsg(msg) elseif msg != '' if msg =~ '^\(\*stopped\|\*running\|=thread-selected\)' - call s:HandleCursor(msg) + call s:HandleCursor(msg) elseif msg =~ '^\^done,bkpt=' || msg =~ '^=breakpoint-created,' call s:HandleNewBreakpoint(msg, 0) elseif msg =~ '^=breakpoint-modified,' call s:HandleNewBreakpoint(msg, 1) elseif msg =~ '^=breakpoint-deleted,' - call s:HandleBreakpointDelete(msg) + call s:HandleBreakpointDelete(msg) elseif msg =~ '^=thread-group-started' - call s:HandleProgramRun(msg) + call s:HandleProgramRun(msg) elseif msg =~ '^\^done,value=' - call s:HandleEvaluate(msg) + call s:HandleEvaluate(msg) elseif msg =~ '^\^error,msg=' - call s:HandleError(msg) + call s:HandleError(msg) elseif msg =~ '^disassemble' - let s:parsing_disasm_msg = 1 - let s:asm_lines = [] + let s:parsing_disasm_msg = 1 + let s:asm_lines = [] endif endif endfor @@ -986,22 +987,22 @@ func s:ClearBreakpoint() let nr = 0 for id in s:breakpoint_locations[bploc] if has_key(s:breakpoints, id) - " Assume this always works, the reply is simply "^done". - call s:SendCommand('-break-delete ' . id) - for subid in keys(s:breakpoints[id]) - exe 'sign unplace ' . s:Breakpoint2SignNumber(id, subid) - endfor - unlet s:breakpoints[id] - unlet s:breakpoint_locations[bploc][idx] - let nr = id - break + " Assume this always works, the reply is simply "^done". + call s:SendCommand('-break-delete ' . id) + for subid in keys(s:breakpoints[id]) + exe 'sign unplace ' . s:Breakpoint2SignNumber(id, subid) + endfor + unlet s:breakpoints[id] + unlet s:breakpoint_locations[bploc][idx] + let nr = id + break else - let idx += 1 + let idx += 1 endif endfor if nr != 0 if empty(s:breakpoint_locations[bploc]) - unlet s:breakpoint_locations[bploc] + unlet s:breakpoint_locations[bploc] endif echomsg 'Breakpoint ' . id . ' cleared from line ' . lnum . '.' else @@ -1027,7 +1028,7 @@ func s:SendEval(expr) " remove text that is likely an assignment let exprLHS = substitute(a:expr, ' *=.*', '', '') endif - + " encoding expression to prevent bad errors let expr = a:expr let expr = substitute(expr, '\\', '\\\\', 'g') @@ -1036,14 +1037,14 @@ func s:SendEval(expr) let s:evalexpr = exprLHS endfunc -" :Evaluate - evaluate what is specified / under the cursor +" :Evaluate - evaluate what is specified / under the cursor func s:Evaluate(range, arg) let expr = s:GetEvaluationExpression(a:range, a:arg) let s:ignoreEvalError = 0 call s:SendEval(expr) endfunc -" get what is specified / under the cursor +" get what is specified / under the cursor func s:GetEvaluationExpression(range, arg) if a:arg != '' " user supplied evaluation @@ -1192,7 +1193,7 @@ func s:GotoAsmwinOrCreateIt() if exists('g:termdebug_disasm_window') if g:termdebug_disasm_window > 1 - exe 'resize ' . g:termdebug_disasm_window + exe 'resize ' . g:termdebug_disasm_window endif endif endif @@ -1201,7 +1202,7 @@ func s:GotoAsmwinOrCreateIt() let lnum = search('^' . s:asm_addr) if lnum == 0 if s:stopped - call s:SendCommand('disassemble $pc') + call s:SendCommand('disassemble $pc') endif else exe 'sign unplace ' . s:asm_id @@ -1236,15 +1237,15 @@ func s:HandleCursor(msg) let curwinid = win_getid(winnr()) if win_gotoid(s:asmwin) - let lnum = search('^' . s:asm_addr) - if lnum == 0 - call s:SendCommand('disassemble $pc') - else - exe 'sign unplace ' . s:asm_id - exe 'sign place ' . s:asm_id . ' line=' . lnum . ' name=debugPC' - endif - - call win_gotoid(curwinid) + let lnum = search('^' . s:asm_addr) + if lnum == 0 + call s:SendCommand('disassemble $pc') + else + exe 'sign unplace ' . s:asm_id + exe 'sign place ' . s:asm_id . ' line=' . lnum . ' name=debugPC' + endif + + call win_gotoid(curwinid) endif endif endif @@ -1263,26 +1264,26 @@ echomsg 'different fname: "' .. expand('%:p') .. '" vs "' .. fnamemodify(fname, \ | echo 'Warning: file is being edited elsewhere' \ | echohl None \ | let v:swapchoice = '0' - augroup END - if &modified - " TODO: find existing window - exe 'split ' . fnameescape(fname) - let s:sourcewin = win_getid(winnr()) - call s:InstallWinbar() - else - exe 'edit ' . fnameescape(fname) - endif - augroup Termdebug - au! SwapExists - augroup END + augroup END + if &modified + " TODO: find existing window + exe 'split ' . fnameescape(fname) + let s:sourcewin = win_getid(winnr()) + call s:InstallWinbar() + else + exe 'edit ' . fnameescape(fname) + endif + augroup Termdebug + au! SwapExists + augroup END endif exe lnum normal! zv exe 'sign unplace ' . s:pc_id exe 'sign place ' . s:pc_id . ' line=' . lnum . ' name=debugPC priority=110 file=' . fname if !exists('b:save_signcolumn') - let b:save_signcolumn = &signcolumn - call add(s:signcolumn_buflist, bufnr()) + let b:save_signcolumn = &signcolumn + call add(s:signcolumn_buflist, bufnr()) endif setlocal signcolumn=yes endif @@ -1396,8 +1397,8 @@ func s:HandleBreakpointDelete(msg) if has_key(s:breakpoints, id) for [subid, entry] in items(s:breakpoints[id]) if has_key(entry, 'placed') - exe 'sign unplace ' . s:Breakpoint2SignNumber(id, subid) - unlet entry['placed'] + exe 'sign unplace ' . s:Breakpoint2SignNumber(id, subid) + unlet entry['placed'] endif endfor unlet s:breakpoints[id] @@ -1422,7 +1423,7 @@ func s:BufRead() for [id, entries] in items(s:breakpoints) for [subid, entry] in items(entries) if entry['fname'] == fname - call s:PlaceSign(id, subid, entry) + call s:PlaceSign(id, subid, entry) endif endfor endfor @@ -1434,7 +1435,7 @@ func s:BufUnloaded() for [id, entries] in items(s:breakpoints) for [subid, entry] in items(entries) if entry['fname'] == fname - let entry['placed'] = 0 + let entry['placed'] = 0 endif endfor endfor diff --git a/runtime/syntax/c.vim b/runtime/syntax/c.vim index e86e1b866..2dc21f0b6 100644 --- a/runtime/syntax/c.vim +++ b/runtime/syntax/c.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: C " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2021 Dec 07 +" Last Change: 2022 Mar 17 " Quit when a (custom) syntax file was already loaded if exists("b:current_syntax") @@ -245,8 +245,14 @@ syn match cWrongComTail display "\*/" syn keyword cOperator sizeof if exists("c_gnu") + syn keyword cType __label__ __complex__ syn keyword cStatement __asm__ - syn keyword cOperator typeof __real__ __imag__ + syn keyword cOperator __alignof__ + syn keyword cOperator typeof __typeof__ + syn keyword cOperator __real__ __imag__ + syn keyword cStorageClass __attribute__ __const__ __extension__ + syn keyword cStorageClass inline __inline__ + syn keyword cStorageClass __restrict__ __volatile__ __noreturn__ endif syn keyword cType int long short char void syn keyword cType signed unsigned float double @@ -270,16 +276,10 @@ if !exists("c_no_c99") " ISO C99 syn keyword cType intptr_t uintptr_t syn keyword cType intmax_t uintmax_t endif -if exists("c_gnu") - syn keyword cType __label__ __complex__ __volatile__ -endif syn keyword cTypedef typedef syn keyword cStructure struct union enum syn keyword cStorageClass static register auto volatile extern const -if exists("c_gnu") - syn keyword cStorageClass inline __attribute__ -endif if !exists("c_no_c99") && !s:in_cpp_family syn keyword cStorageClass inline restrict endif @@ -292,6 +292,7 @@ if !exists("c_no_c11") syn keyword cOperator _Static_assert static_assert syn keyword cStorageClass _Thread_local thread_local syn keyword cType char16_t char32_t + syn keyword cType max_align_t " C11 atomics (take down the shield wall!) syn keyword cType atomic_bool atomic_char atomic_schar atomic_uchar syn keyword Ctype atomic_short atomic_ushort atomic_int atomic_uint diff --git a/runtime/syntax/liquid.vim b/runtime/syntax/liquid.vim index 295a91775..966b60f6f 100644 --- a/runtime/syntax/liquid.vim +++ b/runtime/syntax/liquid.vim @@ -2,7 +2,7 @@ " Language: Liquid " Maintainer: Tim Pope <vimNOSPAM@tpope.org> " Filenames: *.liquid -" Last Change: 2013 May 30 +" Last Change: 2022 Mar 15 if exists('b:current_syntax') finish @@ -68,10 +68,10 @@ if !exists('s:subtype') unlet s:subtype endif -syn region liquidStatement matchgroup=liquidDelimiter start="{%" end="%}" contains=@liquidStatement containedin=ALLBUT,@liquidExempt keepend -syn region liquidExpression matchgroup=liquidDelimiter start="{{" end="}}" contains=@liquidExpression containedin=ALLBUT,@liquidExempt keepend -syn region liquidComment matchgroup=liquidDelimiter start="{%\s*comment\s*%}" end="{%\s*endcomment\s*%}" contains=liquidTodo,@Spell containedin=ALLBUT,@liquidExempt keepend -syn region liquidRaw matchgroup=liquidDelimiter start="{%\s*raw\s*%}" end="{%\s*endraw\s*%}" contains=TOP,@liquidExempt containedin=ALLBUT,@liquidExempt keepend +syn region liquidStatement matchgroup=liquidDelimiter start="{%-\=" end="-\=%}" contains=@liquidStatement containedin=ALLBUT,@liquidExempt keepend +syn region liquidExpression matchgroup=liquidDelimiter start="{{-\=" end="-\=}}" contains=@liquidExpression containedin=ALLBUT,@liquidExempt keepend +syn region liquidComment matchgroup=liquidDelimiter start="{%-\=\s*comment\s*-\=%}" end="{%-\=\s*endcomment\s*-\=%}" contains=liquidTodo,@Spell containedin=ALLBUT,@liquidExempt keepend +syn region liquidRaw matchgroup=liquidDelimiter start="{%-\=\s*raw\s*-\=%}" end="{%-\=\s*endraw\s*-\=%}" contains=TOP,@liquidExempt containedin=ALLBUT,@liquidExempt keepend syn cluster liquidExempt contains=liquidStatement,liquidExpression,liquidComment,liquidRaw,@liquidStatement,liquidYamlHead syn cluster liquidStatement contains=liquidConditional,liquidRepeat,liquidKeyword,@liquidExpression @@ -79,11 +79,11 @@ syn cluster liquidExpression contains=liquidOperator,liquidString,liquidNumber,l syn keyword liquidKeyword highlight nextgroup=liquidTypeHighlight skipwhite contained syn keyword liquidKeyword endhighlight contained -syn region liquidHighlight start="{%\s*highlight\s\+\w\+\s*%}" end="{% endhighlight %}" keepend +syn region liquidHighlight start="{%-\=\s*highlight\s\+\w\+\s*-\=%}" end="{%-\= endhighlight -\=%}" keepend for s:type in g:liquid_highlight_types exe 'syn match liquidTypeHighlight "\<'.matchstr(s:type,'[^=]*').'\>" contained' - exe 'syn region liquidHighlight'.substitute(matchstr(s:type,'[^=]*$'),'\..*','','').' start="{%\s*highlight\s\+'.matchstr(s:type,'[^=]*').'\s*%}" end="{% endhighlight %}" keepend contains=@liquidHighlight'.substitute(matchstr(s:type,'[^=]*$'),'\.','','g') + exe 'syn region liquidHighlight'.substitute(matchstr(s:type,'[^=]*$'),'\..*','','').' start="{%-\=\s*highlight\s\+'.matchstr(s:type,'[^=]*').'\s*-\=%}" end="{%-\= endhighlight -\=%}" keepend contains=@liquidHighlight'.substitute(matchstr(s:type,'[^=]*$'),'\.','','g') endfor unlet! s:type @@ -92,18 +92,18 @@ syn region liquidString matchgroup=liquidQuote start=+'+ end=+'+ contained syn match liquidNumber "-\=\<\d\+\>" contained syn match liquidFloat "-\=\<\d\+\>\.\.\@!\%(\d\+\>\)\=" contained syn keyword liquidBoolean true false contained -syn keyword liquidNull null nil contained +syn keyword liquidNull null nil blank contained syn match liquidEmpty "\<empty\>" contained syn keyword liquidOperator and or not contained syn match liquidPipe '|' contained skipwhite nextgroup=liquidFilter -syn keyword liquidFilter date capitalize downcase upcase first last join sort size strip_html strip_newlines newline_to_br replace replace_first remove remove_first truncate truncatewords prepend append minus plus times divided_by contained +syn keyword liquidFilter date capitalize downcase upcase escape escape_once first last join sort size where uniq strip_html strip_newlines newline_to_br replace replace_first remove remove_first slice split strip truncate truncatewords prepend append url_encode url_decode abs at_most at_least ceil divided_by floor minus plus round times modulo contained syn keyword liquidConditional if elsif else endif unless endunless case when endcase ifchanged endifchanged contained -syn keyword liquidRepeat for endfor tablerow endtablerow in contained -syn match liquidRepeat "\%({%\s*\)\@<=empty\>" contained -syn keyword liquidKeyword assign cycle include with contained +syn keyword liquidRepeat for endfor tablerow endtablerow in break continue limit offset reversed contained +syn match liquidRepeat "\%({%-\=\s*\)\@<=empty\>" contained +syn keyword liquidKeyword assign capture endcapture increasement decreasement cycle include with render contained syn keyword liquidForloop forloop nextgroup=liquidForloopDot contained syn match liquidForloopDot "\." nextgroup=liquidForloopAttribute contained diff --git a/runtime/syntax/sass.vim b/runtime/syntax/sass.vim index b51a0ae26..8f41aba4f 100644 --- a/runtime/syntax/sass.vim +++ b/runtime/syntax/sass.vim @@ -2,7 +2,7 @@ " Language: Sass " Maintainer: Tim Pope <vimNOSPAM@tpope.org> " Filenames: *.sass -" Last Change: 2019 Dec 05 +" Last Change: 2022 Mar 15 if exists("b:current_syntax") finish @@ -58,6 +58,7 @@ syn match sassAmpersand "&" " TODO: Arithmetic (including strings and concatenation) syn region sassMediaQuery matchgroup=sassMedia start="@media" end="[{};]\@=\|$" contains=sassMediaOperators +syn region sassKeyframe matchgroup=cssAtKeyword start=/@\(-[a-z]\+-\)\=keyframes\>/ end=";\|$" contains=cssVendor,cssComment nextgroup=cssDefinition syn keyword sassMediaOperators and not only contained syn region sassCharset start="@charset" end=";\|$" contains=scssComment,cssStringQ,cssStringQQ,cssURL,cssUnicodeEscape,cssMediaType syn region sassInclude start="@import" end=";\|$" contains=scssComment,cssStringQ,cssStringQQ,cssURL,cssUnicodeEscape,cssMediaType diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim index e42c270e9..dfa5e43ab 100644 --- a/runtime/syntax/vim.vim +++ b/runtime/syntax/vim.vim @@ -1,8 +1,8 @@ " Vim syntax file " Language: Vim 8.2 script " Maintainer: Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM> -" Last Change: February 09, 2022 -" Version: 8.2-28 +" Last Change: March 14, 2022 +" Version: 8.2-29 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM " Automatically generated keyword lists: {{{1 @@ -19,12 +19,13 @@ syn keyword vimTodo contained COMBAK FIXME TODO XXX syn cluster vimCommentGroup contains=vimTodo,@Spell " regular vim commands {{{2 -syn keyword vimCommand contained a ar[gs] argg[lobal] b[uffer] bf[irst] br[ewind] bufdo c[hange] caddf[ile] cbel[ow] ce[nter] cgetb[uffer] chi[story] cmapc[lear] col[der] conf[irm] cr[ewind] cw[indow] delc[ommand] deletp di[splay] diffs[plit] dl dr[op] ec elsei[f] endt[ry] exp filetype fix[del] for gui helpg[rep] ia imp is[earch] kee[pmarks] lNf[ile] laddf[ile] lbe[fore] lcs lex[pr] lgete[xpr] lla[st] lnew[er] lockv[ar] ls lvimgrepa[dd] mat[ch] mkv[imrc] nb[key] noautocmd o[pen] p[rint] perld[o] pro ptN[ext] ptp[revious] py3do python3 qa[ll] redr[aw] retu[rn] rubyd[o] sIe sN[ext] sb[uffer] sbp[revious] sci scs sf[ind] sgi si sim[alt] sm[agic] sno[magic] spe[llgood] spellu[ndo] sre[wind] st[op] stopi[nsert] sunmenu sync tab tabfir[st] tabp[revious] tcl th[row] tlnoremenu tn[ext] ts[elect] undoj[oin] up[date] vi[sual] viu[sage] wh[ile] wn[ext] wv[iminfo] xmenu xunme -syn keyword vimCommand contained ab arga[dd] argl[ocal] ba[ll] bl[ast] brea[k] buffers ca caf[ter] cbo[ttom] cex[pr] cgete[xpr] cl[ist] cn[ext] colo[rscheme] cons[t] cs d[elete] delel delf[unction] dif[fupdate] difft[his] dli[st] ds[earch] echoc[onsole] em[enu] endw[hile] export filt[er] fo[ld] fu[nction] gvim helpt[ags] iabc[lear] import isp[lit] keepa l[ist] laf[ter] lbel[ow] lcscope lf[ile] lgr[ep] lli[st] lnf[ile] lol[der] lt[ag] lw[indow] menut[ranslate] mkvie[w] nbc[lose] noh[lsearch] ol[dfiles] pa[ckadd] po[p] prof[ile] pta[g] ptr[ewind] py3f[ile] pythonx quita[ll] redraws[tatus] rew[ind] rubyf[ile] sIg sa[rgument] sba[ll] sbr[ewind] scl scscope sfir[st] sgl sic sin sm[ap] snoreme spelld[ump] spellw[rong] srg sta[g] sts[elect] sus[pend] syncbind tabN[ext] tabl[ast] tabr[ewind] tcld[o] tj[ump] tlu tno[remap] tu[nmenu] undol[ist] v vie[w] vne[w] win[size] wp[revious] x[it] xnoreme xunmenu -syn keyword vimCommand contained abc[lear] argd[elete] argu[ment] bad[d] bm[odified] breaka[dd] bun[load] cabc[lear] cal[l] cc cf[ile] changes cla[st] cnew[er] com cope[n] cscope debug delep dell diffg[et] dig[raphs] do dsp[lit] echoe[rr] en[dif] ene[w] exu[sage] fin[d] foldc[lose] g h[elp] hi if in iuna[bbrev] keepalt la[st] lan[guage] lbo[ttom] ld[o] lfdo lgrepa[dd] lma lo[adview] lop[en] lua m[ove] mes[sages] mod[e] nbs[tart] nor omapc[lear] packl[oadall] popu[p] profd[el] ptf[irst] pts[elect] py3f[ile] pyx r[ead] redrawt[abline] ri[ght] rundo sIl sal[l] sbf[irst] sc scp se[t] sg sgn sie sip sme snoremenu spelli[nfo] spr[evious] sri star[tinsert] substitutepattern sv[iew] syntime tabc[lose] tabm[ove] tabs tclf[ile] tl[ast] tlunmenu to[pleft] tunma[p] unh[ide] var vim9[cmd] vs[plit] winc[md] wq xa[ll] xnoremenu xwininfo -syn keyword vimCommand contained abo[veleft] argded[upe] as[cii] balt bn[ext] breakd[el] bw[ipeout] cabo[ve] cat[ch] ccl[ose] cfdo chd[ir] class cnf[ile] comc[lear] cp[revious] cstag debugg[reedy] deletel delm[arks] diffo[ff] dir doau e[dit] echom[sg] enddef eval f[ile] fina[lly] foldd[oopen] go[to] ha[rdcopy] hid[e] ij[ump] inor j[oin] keepj[umps] lab[ove] lat lc[d] le[ft] lfir[st] lh[elpgrep] lmak[e] loadk lp[revious] luado ma[rk] mk[exrc] mz[scheme] new nore on[ly] pc[lose] pp[op] promptf[ind] ptj[ump] pu[t] py[thon] pyxdo rec[over] reg[isters] rightb[elow] rv[iminfo] sIn san[dbox] sbl[ast] scI scr[iptnames] setf[iletype] sgI sgp sig sir smenu so[urce] spellr[are] sr srl startg[replace] substituterepeat sw[apname] t tabd[o] tabn[ext] tags te[aroff] tlm tm[enu] tp[revious] type unl ve[rsion] vim9s[cript] wN[ext] windo wqa[ll] xmapc[lear] xprop y[ank] -syn keyword vimCommand contained addd argdo au bd[elete] bo[tright] breakl[ist] cN[ext] cad[dbuffer] cb[uffer] cd cfir[st] che[ckpath] cle[arjumps] cnor comp[iler] cpf[ile] cun def deletep delp diffp[atch] disa[ssemble] doaut ea echon endf[unction] ex files fini[sh] folddoc[losed] gr[ep] helpc[lose] his[tory] il[ist] interface ju[mps] keepp[atterns] lad[dexpr] later lch[dir] lefta[bove] lg[etfile] lhi[story] lmapc[lear] loadkeymap lpf[ile] luafile mak[e] mks[ession] mzf[ile] nmapc[lear] nos[wapfile] opt[ions] pe[rl] pre[serve] promptr[epl] ptl[ast] pw[d] pydo pyxfile red[o] res[ize] ru[ntime] sI sIp sav[eas] sbm[odified] sce scripte[ncoding] setg[lobal] sgc sgr sign sl[eep] smile sor[t] spellr[epall] srI srn startr[eplace] sun[hide] sy tN[ext] tabe[dit] tabnew tc[d] ter[minal] tlmenu tma[p] tr[ewind] u[ndo] unlo[ckvar] verb[ose] vim[grep] w[rite] winp[os] wundo xme xr[estore] z[^.=] -syn keyword vimCommand contained al[l] arge[dit] bN[ext] bel[owright] bp[revious] bro[wse] cNf[ile] cadde[xpr] cbe[fore] cdo cg[etfile] checkt[ime] clo[se] co[py] con[tinue] cq[uit] cuna[bbrev] defc[ompile] deletl dep diffpu[t] dj[ump] dp earlier el[se] endfo[r] exi[t] filet fir[st] foldo[pen] grepa[dd] helpf[ind] i imapc[lear] intro k lN[ext] laddb[uffer] lb[uffer] lcl[ose] leg[acy] lgetb[uffer] ll lne[xt] loc[kmarks] lr[ewind] lv[imgrep] marks mksp[ell] n[ext] noa nu[mber] ownsyntax ped[it] prev[ious] ps[earch] ptn[ext] py3 pyf[ile] q[uit] redi[r] ret[ab] rub[y] sIc sIr sbN[ext] sbn[ext] scg scriptv[ersion] setl[ocal] sge sh[ell] sil[ent] sla[st] sn[ext] sp[lit] spellr[rare] src srp stj[ump] sunme syn ta[g] tabf[ind] tabo[nly] tch[dir] tf[irst] tln tmapc[lear] try una[bbreviate] uns[ilent] vert[ical] vimgrepa[dd] wa[ll] +syn keyword vimCommand contained a ar[gs] argg[lobal] b[uffer] bf[irst] br[ewind] bufdo c[hange] caddf[ile] cbel[ow] ce[nter] cgetb[uffer] chi[story] cmapc[lear] col[der] conf[irm] cr[ewind] cw[indow] delc[ommand] deletp di[splay] diffs[plit] dl dr[op] ec elsei[f] endf[unction] enum exu[sage] fin[d] foldc[lose] g h[elp] hi if in iuna[bbrev] keepalt la[st] lan[guage] lbo[ttom] ld[o] lfdo lgrepa[dd] lma lo[adview] lop[en] lua m[ove] mes[sages] mod[e] nbs[tart] nor omapc[lear] packl[oadall] popu[p] profd[el] ptf[irst] pts[elect] py3f[ile] pyx r[ead] redrawt[abline] ri[ght] rundo sIl sal[l] sbf[irst] sc scp se[t] sg sgn sie sip sme snoremenu spelli[nfo] spr[evious] sri star[tinsert] sts[elect] sus[pend] syncbind tabN[ext] tabl[ast] tabr[ewind] tcld[o] tj[ump] tlu tno[remap] tu[nmenu] undol[ist] v vie[w] vne[w] win[size] wq xmapc[lear] xr[estore] +syn keyword vimCommand contained ab arga[dd] argl[ocal] ba[ll] bl[ast] brea[k] buffers ca caf[ter] cbo[ttom] cex[pr] cgete[xpr] cl[ist] cn[ext] colo[rscheme] cons[t] cs d[elete] delel delf[unction] dif[fupdate] difft[his] dli[st] ds[earch] echoc[onsole] em[enu] endfo[r] eval f[ile] fina[lly] foldd[oopen] go[to] ha[rdcopy] hid[e] ij[ump] inor j[oin] keepj[umps] lab[ove] lat lc[d] le[ft] lfir[st] lh[elpgrep] lmak[e] loadk lp[revious] luado ma[rk] mk[exrc] mz[scheme] new nore on[ly] pc[lose] pp[op] promptf[ind] ptj[ump] pu[t] py[thon] pyxdo rec[over] reg[isters] rightb[elow] rv[iminfo] sIn san[dbox] sbl[ast] scI scr[iptnames] setf[iletype] sgI sgp sig sir smenu so[urce] spellr[are] sr srl startg[replace] substitutepattern sv[iew] syntime tabc[lose] tabm[ove] tabs tclf[ile] tl[ast] tlunmenu to[pleft] tunma[p] unh[ide] var vim9[cmd] vs[plit] winc[md] wqa[ll] xme xunme +syn keyword vimCommand contained abc[lear] argd[elete] argu[ment] bad[d] bm[odified] breaka[dd] bun[load] cabc[lear] cal[l] cc cf[ile] changes cla[st] cnew[er] com cope[n] cscope debug delep dell diffg[et] dig[raphs] do dsp[lit] echoe[rr] en[dif] endinterface ex files fini[sh] folddoc[losed] gr[ep] helpc[lose] his[tory] il[ist] interface ju[mps] keepp[atterns] lad[dexpr] later lch[dir] lefta[bove] lg[etfile] lhi[story] lmapc[lear] loadkeymap lpf[ile] luafile mak[e] mks[ession] mzf[ile] nmapc[lear] nos[wapfile] opt[ions] pe[rl] pre[serve] promptr[epl] ptl[ast] pw[d] pydo pyxfile red[o] res[ize] ru[ntime] sI sIp sav[eas] sbm[odified] sce scripte[ncoding] setg[lobal] sgc sgr sign sl[eep] smile sor[t] spellr[epall] srI srn startr[eplace] substituterepeat sw[apname] t tabd[o] tabn[ext] tags te[aroff] tlm tm[enu] tp[revious] type unl ve[rsion] vim9s[cript] wN[ext] windo wundo xmenu xunmenu +syn keyword vimCommand contained abo[veleft] argded[upe] as[cii] balt bn[ext] breakd[el] bw[ipeout] cabo[ve] cat[ch] ccl[ose] cfdo chd[ir] class cnf[ile] comc[lear] cp[revious] cstag debugg[reedy] deletel delm[arks] diffo[ff] dir doau e[dit] echom[sg] endclass endt[ry] exi[t] filet fir[st] foldo[pen] grepa[dd] helpf[ind] i imapc[lear] intro k lN[ext] laddb[uffer] lb[uffer] lcl[ose] leg[acy] lgetb[uffer] ll lne[xt] loc[kmarks] lr[ewind] lv[imgrep] marks mksp[ell] n[ext] noa nu[mber] ownsyntax ped[it] prev[ious] ps[earch] ptn[ext] py3 pyf[ile] q[uit] redi[r] ret[ab] rub[y] sIc sIr sbN[ext] sbn[ext] scg scriptv[ersion] setl[ocal] sge sh[ell] sil[ent] sla[st] sn[ext] sp[lit] spellr[rare] src srp static sun[hide] sy tN[ext] tabe[dit] tabnew tc[d] ter[minal] tlmenu tma[p] tr[ewind] u[ndo] unlo[ckvar] verb[ose] vim[grep] w[rite] winp[os] wv[iminfo] xnoreme xwininfo +syn keyword vimCommand contained abstract argdo au bd[elete] bo[tright] breakl[ist] cN[ext] cad[dbuffer] cb[uffer] cd cfir[st] che[ckpath] cle[arjumps] cnor comp[iler] cpf[ile] cun def deletep delp diffp[atch] disa[ssemble] doaut ea echon enddef endw[hile] exp filetype fix[del] for gui helpg[rep] ia imp is[earch] kee[pmarks] lNf[ile] laddf[ile] lbe[fore] lcs lex[pr] lgete[xpr] lla[st] lnew[er] lockv[ar] ls lvimgrepa[dd] mat[ch] mkv[imrc] nb[key] noautocmd o[pen] p[rint] perld[o] pro ptN[ext] ptp[revious] py3do python3 qa[ll] redr[aw] retu[rn] rubyd[o] sIe sN[ext] sb[uffer] sbp[revious] sci scs sf[ind] sgi si sim[alt] sm[agic] sno[magic] spe[llgood] spellu[ndo] sre[wind] st[op] stj[ump] sunme syn ta[g] tabf[ind] tabo[nly] tch[dir] tf[irst] tln tmapc[lear] try una[bbreviate] uns[ilent] vert[ical] vimgrepa[dd] wa[ll] wn[ext] x[it] xnoremenu y[ank] +syn keyword vimCommand contained addd arge[dit] bN[ext] bel[owright] bp[revious] bro[wse] cNf[ile] cadde[xpr] cbe[fore] cdo cg[etfile] checkt[ime] clo[se] co[py] con[tinue] cq[uit] cuna[bbrev] defc[ompile] deletl dep diffpu[t] dj[ump] dp earlier el[se] endenum ene[w] export filt[er] fo[ld] fu[nction] gvim helpt[ags] iabc[lear] import isp[lit] keepa l[ist] laf[ter] lbel[ow] lcscope lf[ile] lgr[ep] lli[st] lnf[ile] lol[der] lt[ag] lw[indow] menut[ranslate] mkvie[w] nbc[lose] noh[lsearch] ol[dfiles] pa[ckadd] po[p] prof[ile] pta[g] ptr[ewind] py3f[ile] pythonx quita[ll] redraws[tatus] rew[ind] rubyf[ile] sIg sa[rgument] sba[ll] sbr[ewind] scl scscope sfir[st] sgl sic sin sm[ap] snoreme spelld[ump] spellw[rong] srg sta[g] stopi[nsert] sunmenu sync tab tabfir[st] tabp[revious] tcl th[row] tlnoremenu tn[ext] ts[elect] undoj[oin] up[date] vi[sual] viu[sage] wh[ile] wp[revious] xa[ll] xprop z[^.=] +syn keyword vimCommand contained al[l] syn match vimCommand contained "\<z[-+^.=]\=\>" syn keyword vimStdPlugin contained Arguments Asm Break Cfilter Clear Continue DiffOrig Evaluate Finish Gdb Lfilter Man N[ext] Over P[rint] Program Run S Source Step Stop Termdebug TermdebugCommand TOhtml Winbar XMLent XMLns diff --git a/runtime/tools/demoserver.py b/runtime/tools/demoserver.py index 150ddbee7..2667aed39 100644 --- a/runtime/tools/demoserver.py +++ b/runtime/tools/demoserver.py @@ -44,9 +44,6 @@ class ThreadedTCPRequestHandler(socketserver.BaseRequestHandler): except socket.error: print("=== socket error ===") break - except IOError: - print("=== socket closed ===") - break if data == '': print("=== socket closed ===") break diff --git a/runtime/vim.desktop b/runtime/vim.desktop index 2d6e7c110..cd3bdef9b 100644 --- a/runtime/vim.desktop +++ b/runtime/vim.desktop @@ -2,6 +2,7 @@ # Edit the src/po/vim.desktop.in file instead. [Desktop Entry] # Translators: This is the Application Name used in the Vim desktop file +Name[ca]=Vim Name[de]=Vim Name[eo]=Vim Name[fi]=Vim @@ -13,6 +14,7 @@ Name[sr]=Vim Name[tr]=Vim Name=Vim # Translators: This is the Generic Application Name used in the Vim desktop file +GenericName[ca]=Editor de text GenericName[de]=Texteditor GenericName[eo]=Tekstoredaktilo GenericName[fi]=Tekstinmuokkain @@ -25,6 +27,7 @@ GenericName[sr]=Едитор текст GenericName[tr]=Metin Düzenleyici GenericName=Text Editor # Translators: This is the comment used in the Vim desktop file +Comment[ca]=Edita fitxers de text Comment[de]=Textdateien bearbeiten Comment[eo]=Redakti tekstajn dosierojn Comment[fi]=Muokkaa tekstitiedostoja @@ -49,7 +52,6 @@ Comment[be]=Рэдагаваньне тэкставых файлаў Comment[bg]=Редактиране на текстови файлове Comment[bn]=টেক্স্ট ফাইল এডিট করুন Comment[bs]=Izmijeni tekstualne datoteke -Comment[ca]=Edita fitxers de text Comment[cs]=Úprava textových souborů Comment[cy]=Golygu ffeiliau testun Comment[da]=Rediger tekstfiler @@ -105,6 +107,7 @@ Exec=vim %F Terminal=true Type=Application # Translators: Search terms to find this application. Do NOT change the semicolons! The list MUST also end with a semicolon! +Keywords[ca]=Text;editor; Keywords[de]=Text;Editor; Keywords[eo]=Teksto;redaktilo; Keywords[fi]=Teksti;muokkain;editori; |