# HG changeset patch # User Bram Moolenaar # Date 1595776505 -7200 # Node ID 3a1ed539ae2abd135c97b6639ebe94cbcd87450d # Parent 134699e667ee0b91a6efe91c02c6e93e5a40f7f0 Update runtime files. Commit: https://github.com/vim/vim/commit/2547aa930b59f5e2bcb70e81d5a57ed461e59b4f Author: Bram Moolenaar Date: Sun Jul 26 17:00:44 2020 +0200 Update runtime files. diff --git a/runtime/autoload/decada.vim b/runtime/autoload/decada.vim --- a/runtime/autoload/decada.vim +++ b/runtime/autoload/decada.vim @@ -25,7 +25,7 @@ function decada#Unit_Name () dict " Convert filename into acs unit: " 1: remove the file extenstion. " 2: replace all double '_' or '-' with an dot (which denotes a separate) - " 3: remove a trailing '_' (wich denotes a specification) + " 3: remove a trailing '_' (which denotes a specification) return substitute (substitute (expand ("%:t:r"), '__\|-', ".", "g"), '_$', "", '') endfunction decada#Unit_Name " }}}1 diff --git a/runtime/doc/arabic.txt b/runtime/doc/arabic.txt --- a/runtime/doc/arabic.txt +++ b/runtime/doc/arabic.txt @@ -77,7 +77,7 @@ Arabic requires ISO-8859-6 as well as Pr (without Form-B, Arabic will _NOT_ be usable). It is highly recommended that users search for so-called 'ISO-10646-1' fonts. Do an Internet search or check www.arabeyes.org for further -info on where to attain the necessary Arabic fonts. +info on where to obtain the necessary Arabic fonts. Font Installation @@ -123,7 +123,7 @@ o Setting the appropriate character Enc > :set encoding=utf-8 < - to your .vimrc file (entering the command manually into you Vim + to your .vimrc file (entering the command manually into your Vim window is highly discouraged). In short, include ':set encoding=utf-8' to your .vimrc file. diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt --- a/runtime/doc/change.txt +++ b/runtime/doc/change.txt @@ -1755,7 +1755,7 @@ Some examples: Automatic formatting *auto-format* *autoformat* When the 'a' flag is present in 'formatoptions' text is formatted -automatically when inserting text or deleting text. This works nice for +automatically when inserting text or deleting text. This works nicely for editing text paragraphs. A few hints on how to use this: - You need to properly define paragraphs. The simplest is paragraphs that are diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt --- a/runtime/doc/cmdline.txt +++ b/runtime/doc/cmdline.txt @@ -1,4 +1,4 @@ -*cmdline.txt* For Vim version 8.2. Last change: 2020 Apr 23 +*cmdline.txt* For Vim version 8.2. Last change: 2020 Jul 26 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/digraph.txt b/runtime/doc/digraph.txt --- a/runtime/doc/digraph.txt +++ b/runtime/doc/digraph.txt @@ -1,4 +1,4 @@ -*digraph.txt* For Vim version 8.2. Last change: 2019 May 05 +*digraph.txt* For Vim version 8.2. Last change: 2020 Jul 16 VIM REFERENCE MANUAL by Bram Moolenaar @@ -33,6 +33,8 @@ 1. Defining digraphs *digraphs-defin it is the Unicode character, see |digraph-encoding|. Example: > :digr e: 235 a: 228 +< You can use `:exe` to enter a hex number: > + :exe 'digr += ' .. 0x2A72 < Avoid defining a digraph with '_' (underscore) as the first character, it has a special meaning in the future. 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.2. Last change: 2020 Jul 19 +*eval.txt* For Vim version 8.2. Last change: 2020 Jul 21 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1994,6 +1994,8 @@ v:mouse_col Column number for a mouse cl *v:none* *none-variable* *None* v:none An empty String. Used to put an empty item in JSON. See |json_encode()|. + This can also be used as a function argument to use the + default value, see |none-function_argument|. When used as a number this evaluates to zero. When used as a string this evaluates to "v:none". > echo v:none @@ -11710,7 +11712,7 @@ The argument default expressions are eva call, not definition. Thus it is possible to use an expression which is invalid the moment the function is defined. The expressions are also only evaluated when arguments are not specified during a call. - + *none-function_argument* You can pass |v:none| to use the default expression. Note that this means you cannot pass v:none as an ordinary value when an argument has a default expression. diff --git a/runtime/doc/ft_sql.txt b/runtime/doc/ft_sql.txt --- a/runtime/doc/ft_sql.txt +++ b/runtime/doc/ft_sql.txt @@ -312,7 +312,7 @@ can create any of the following: > $VIM/vimfiles/indent/sqlite.vim No changes are necessary to the SQLSetType function. It will automatically -pickup the new SQL files and load them when you issue the SQLSetType command. +pick up the new SQL files and load them when you issue the SQLSetType command. ============================================================================== @@ -519,7 +519,7 @@ beginning with those characters. > 4.3.2 Column Completion: *sql-completion-columns* The SQL completion plugin can also display a list of columns for particular -tables. The column completion is trigger via c. +tables. The column completion is triggered via c. NOTE: The following example uses to trigger a column list while the popup window is active. @@ -727,7 +727,7 @@ your platform (often a case on *nix) you your |vimrc|: > let g:omni_sql_no_default_maps = 1 -Do no edit ftplugin/sql.vim directly! If you change this file your changes +Do not edit ftplugin/sql.vim directly! If you change this file your changes will be over written on future updates. Vim has a special directory structure which allows you to make customizations without changing the files that are included with the Vim distribution. If you wish to customize the maps diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt --- a/runtime/doc/map.txt +++ b/runtime/doc/map.txt @@ -843,11 +843,10 @@ When modifyOtherKeys is enabled you can imap {{{ Without modifyOtherKeys and are indistinguishable from Esc. -A known side effect effect is that in Insert mode the raw escape sequence is -inserted after the CTRL-V key. This can be used to check whether -modifyOtherKeys is enabled: In Insert mode type CTRL-SHIFT-V CTRL-V, if you -get one byte then modifyOtherKeys is off, if you get <1b>27;5;118~ then it is -on. +A known side effect is that in Insert mode the raw escape sequence is inserted +after the CTRL-V key. This can be used to check whether modifyOtherKeys is +enabled: In Insert mode type CTRL-SHIFT-V CTRL-V, if you get one byte then +modifyOtherKeys is off, if you get <1b>27;5;118~ then it is on. When the 'esckeys' option is off, then modifyOtherKeys will be disabled in Insert mode to avoid every key with a modifier causing Insert mode to end. diff --git a/runtime/doc/mbyte.txt b/runtime/doc/mbyte.txt --- a/runtime/doc/mbyte.txt +++ b/runtime/doc/mbyte.txt @@ -128,7 +128,7 @@ There are several ways to enter multi-by - For MS-Windows IME can be used. See |IME|. - For all systems keymaps can be used. See |mbyte-keymap|. -The options 'iminsert', 'imsearch' and 'imcmdline' can be used to chose +The options 'iminsert', 'imsearch' and 'imcmdline' can be used to choose the different input methods or disable them temporarily. ============================================================================== @@ -141,8 +141,8 @@ in, or just use a certain locale inside WHAT IS A LOCALE? *locale* -There are many of languages in the world. And there are different cultures -and environments at least as much as the number of languages. A linguistic +There are many languages in the world. And there are different cultures and +environments at least as many as the number of languages. A linguistic environment corresponding to an area is called "locale". This includes information about the used language, the charset, collating order for sorting, date format, currency format and so on. For Vim only the language and charset @@ -889,7 +889,7 @@ input_server_name is your |IM-server| na your_input_style is one of |OverTheSpot|, |OffTheSpot|, |Root|. See also |xim-input-style|. -*international may not necessary if you use X11R6. +*international may not be necessary if you use X11R6. *.inputMethod and *.preeditType are optional if you use X11R6. For example, when you are using kinput2 as |IM-server|, > @@ -952,7 +952,7 @@ automatically. This works on not only insert-normal mode, but also search-command input and replace mode. -The options 'iminsert', 'imsearch' and 'imcmdline' can be used to chose +The options 'iminsert', 'imsearch' and 'imcmdline' can be used to choose the different input methods or disable them temporarily. WHAT IS IME 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.2. Last change: 2020 Jul 05 +*options.txt* For Vim version 8.2. Last change: 2020 Jul 18 VIM REFERENCE MANUAL by Bram Moolenaar @@ -7711,7 +7711,6 @@ A jump table for the options with a shor on Amiga: "amiga" on Haiku: "xterm" on Mac: "mac-ansi" - on MiNT: "vt52" on Unix: "ansi" on VMS: "ansi" on Win 32: "win32") diff --git a/runtime/doc/os_unix.txt b/runtime/doc/os_unix.txt --- a/runtime/doc/os_unix.txt +++ b/runtime/doc/os_unix.txt @@ -30,8 +30,8 @@ can be changed at compile time. Because terminal updating under Unix is often slow (e.g. serial line terminal, shell window in suntools), the 'showcmd' and 'ruler' options -are default off. If you have a fast terminal, try setting them on. You might -also want to set 'ttyfast'. +are off by default. If you have a fast terminal, try setting them on. You +might also want to set 'ttyfast'. When using Vim in an xterm the mouse clicks can be used by Vim by setting 'mouse' to "a". If there is access to an X-server gui style copy/paste will diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt --- a/runtime/doc/repeat.txt +++ b/runtime/doc/repeat.txt @@ -642,7 +642,7 @@ 6. Creating Vim packages *package-cre This assumes you write one or more plugins that you distribute as a package. If you have two unrelated plugins you would use two packages, so that Vim -users can chose what they include or not. Or you can decide to use one +users can choose what they include or not. Or you can decide to use one package with optional plugins, and tell the user to add the ones he wants with `:packadd`. diff --git a/runtime/doc/rileft.txt b/runtime/doc/rileft.txt --- a/runtime/doc/rileft.txt +++ b/runtime/doc/rileft.txt @@ -69,7 +69,7 @@ o Invocations + 'rightleft' ('rl') sets window orientation to right-to-left. + 'delcombine' ('deco'), boolean, if editing UTF-8 encoded languages, allows one to remove a composing character which gets superimposed - on those that proceeded them (some languages require this). + on those that preceded them (some languages require this). + 'rightleftcmd' ('rlc') sets the command-line within certain modes (such as search) to be utilized in right-to-left orientation as well. diff --git a/runtime/doc/sign.txt b/runtime/doc/sign.txt --- a/runtime/doc/sign.txt +++ b/runtime/doc/sign.txt @@ -78,7 +78,7 @@ used by popup windows where 'cursorline' *sign-priority* Each placed sign is assigned a priority value. When multiple signs are placed on the same line, the attributes of the sign with the highest priority is used -independent of the sign group. The default priority for a sign is 10. The +independently of the sign group. The default priority for a sign is 10. The priority is assigned at the time of placing a sign. When the line on which the sign is placed is deleted, the sign is moved to the diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt --- a/runtime/doc/syntax.txt +++ b/runtime/doc/syntax.txt @@ -1937,7 +1937,7 @@ new highlightings for the following grou Debug, DebugSpecial, DebugString, DebugBoolean, DebugType which are used for the statement itself, special characters used in debug strings, strings, boolean constants and types (this, super) respectively. I -have opted to chose another background for those statements. +have opted to choose another background for those statements. Javadoc is a program that takes special comments out of Java program files and creates HTML pages. The standard configuration will highlight this HTML code diff --git a/runtime/doc/tags b/runtime/doc/tags --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -1979,6 +1979,7 @@ 90.5 usr_90.txt /*90.5* : cmdline.txt /*:* : cmdline.txt /*:* : cmdline.txt /*:* +: cmdline.txt /*:* := various.txt /*:=* :> change.txt /*:>* :? cmdline.txt /*:?* @@ -3647,6 +3648,7 @@ 90.5 usr_90.txt /*90.5* cmdline.txt /** cmdline.txt /** cmdline.txt /** + cmdline.txt /** intro.txt /** term.txt /** term.txt /** @@ -3898,6 +3900,7 @@ E1050 vim9.txt /*E1050* E107 eval.txt /*E107* E108 eval.txt /*E108* E109 eval.txt /*E109* +E1092 vim9.txt /*E1092* E1094 vim9.txt /*E1094* E11 cmdline.txt /*E11* E110 eval.txt /*E110* @@ -8198,6 +8201,7 @@ no_plugin_maps filetype.txt /*no_plugin_ nocombine syntax.txt /*nocombine* non-greedy pattern.txt /*non-greedy* non-zero-arg eval.txt /*non-zero-arg* +none-function_argument eval.txt /*none-function_argument* none-variable eval.txt /*none-variable* normal-index index.txt /*normal-index* not-compatible usr_01.txt /*not-compatible* diff --git a/runtime/doc/testing.txt b/runtime/doc/testing.txt --- a/runtime/doc/testing.txt +++ b/runtime/doc/testing.txt @@ -1,4 +1,4 @@ -*testing.txt* For Vim version 8.2. Last change: 2020 Jul 09 +*testing.txt* For Vim version 8.2. Last change: 2020 Jul 11 VIM REFERENCE MANUAL by Bram Moolenaar 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.2. Last change: 2020 Jul 10 +*todo.txt* For Vim version 8.2. Last change: 2020 Jul 26 VIM REFERENCE MANUAL by Bram Moolenaar @@ -39,25 +39,36 @@ browser use: https://github.com/vim/vim/ -------------------- Known bugs and current work ----------------------- Making everything work: -- in Vim9 script expressions are evaluated differently, not using a type. - e.g. "'' == 0" does not give an error and evaluates to true. -- cannot put # comment after assert() in :def function -- more return types depending on the first argument, like sort(). +- more items in https://github.com/vim/vim/issues/6507 +- More "goto failed" with check for trylevel. +- memory leak in test_vim9_script - Check that when sourcing a Vim9 script, only the global items can be used. - :put with a "=" register argument doesn't work, need to find the expression and compile it. (#6397) -- should "'text'->method()" work? 't is a range, but 'text isn't. +- At the script level, keep script variables local to the block they are + declared in? Need to remember what variables were declared and delete them + when leaving the block. +- Implement { } block at the script level. +- need to check type when a declaration specifies a type: #6507 + let nr: number = 'asdf' +- Make map() give an error if the resulting type is wrong. + Add mapnew() to create a new List/Dict for the result, which can have a + different value type. +- Implement "export {one, two three}". +- ISN_CHECKTYPE could use check_argtype() - Slice of list: [1, 2, 3][1:2]. +- give error for variable name: + let p = function('NoSuchFunc') - Give runtime error if function argument is wrong. def Increment(nr: number) range(3)->Increment() - Expand `=expr` in :next, :argedit, :argadd, :argdelete, :drop - Expand `=expr` in :vimgrep, :vimgrepadd, :lvimgrep, :lvimgrepadd - Expand `=expr` in :mkspell -- Make "true" and "false" work in vim9script - Test that a function defined inside a :def function is local to that function, g: functions can be defined and script-local functions cannot be defined. +- Support passing v:none to use the default argument value. (#6504) - make 0 == 'string' fail on the script level, like inside :def. - Check that when using a user function name without prefix, it does not find a global function. Prefixing g: is required. @@ -77,10 +88,6 @@ Making everything work: - memory leaks in test_vim9_cmd - When evaluating constants for script variables, some functions could work: has('asdf'), len('string') -- Support type for ":let"/":const" at script level for Vim9 script. - (Ben Jackson, #5671) - Can we share the code from ex_let_const() between direct execution and - compiling? - Implement "as Name" in "import Item as Name from ..." - Disallow unlet for local/script/imported vars - Make "++nr" work. @@ -91,6 +98,7 @@ Making everything work: - eval_expr() call in dbg_parsearg() and debuggy_find() - has() is compiled as a constant, but some checks are dynamic. Check for dynamic values, such as "gui_running". +- Implement command modifiers, such as "silent". (#6530) New syntax and functionality: Improve error checking: - "echo Func()" is an error if Func() does not return anything. @@ -139,11 +147,15 @@ Further improvements: Popup windows: - Cursor not updated before a redraw, making it jump. (#5943) +- Add a termcap entry for changing the cursor when it goes under the popup and + back. like t_SI and t_EI (t_SU and t_EU, where "U" means under?) - With terminal in popup, allow for popup_hide() to temporarily hide it.? - Fire some autocommand event after a new popup window was created and positioned? PopupNew? Could be used to set some options or move it out of the way. (#5737) However, it may also cause trouble, changing the popup of another plugin. +- 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) @@ -199,6 +211,9 @@ Terminal debugger: Terminal emulator window: - No support for underline color, t_8u. +- When in terminal-Normal mode when the job finishes, the cursor jumps to the + end but the window is not updated. This only happens when typing "a". + :term bash -c "for V in {0..5}; do echo $V; sleep 1; done" - When started with ":terminal ++close" and the shell exits but there is a background process, the window remains open, because the channel still exists (and output still shows). Perhaps close the window when an explicit @@ -238,7 +253,7 @@ Terminal emulator window: conversions. Error numbers available: -E489, E610, E611, E653, E856 +E610, E611, E653 Remove SPACE_IN_FILENAME ? It is only used for completion. @@ -269,8 +284,15 @@ autocommands for the buffer lifecycle: BufIsRenamed (after buffer ID gets another name) The buffer list and windows are locked, no changes possible -How about removing Atari MiNT support? - src/Make_mint.mak, src/os_mint.h, matches with __MINT__ +Make it possible to map (console and GUI): #6457 + 0x27 or is this ? + 0x28 + 0x29 + 0x30 + 0x31 + +Patch for Template string: #4634 +Have another look at the implementation. Add the <=> (spaceship) operator and "cond ?< expr ?= expr ?> expr" replace this: @@ -281,6 +303,13 @@ Add the <=> (spaceship) operator and "co let res = GetLeftFunc() <=> GetRightFunc() ?< lower ?= equal ?> upper Patch to make :q work with local arglist. (Christian Brabandt, #6286) +Lua: updating wrong buffer when using newly created, unloaded buffer. +(#6539) + +When "+ register is set then "" points to it. If another Vim grabs the "+ +register, then "" doesn't contain anything. Make it still follow "+. +(#6435) + Patch to fix drawing error with DirectX. (James Grant, #5688) Causes flicker on resizing. Workaround from Ken Takata. How about only setting the attribute when part of the Vim window is offscreen? @@ -347,6 +376,10 @@ Test loose_clipboard() by selecting text Undo puts cursor in wrong line after "cG" undo. +Implement completion for "breakadd". Should expand the second argument, e.g. +"func", and then function names after ":breakadd func". Including +script-local functions. + :unmap gives error but does remove the mapping. (Antony Scriven, 2019 Dec 19) @@ -386,10 +419,6 @@ behavior of i_CTRl-R_CTRL-R differs from goes to any buffer, and then :bnext skips help buffers, since they are unlisted. (#4478) -Patch for Template string: #4634 -Copies the text twice, not very efficient. Requires a separate implementation -for Vim9 script, compiling the string parts and expressions. - Statusline highlighting error, off by one. (#5599) ":find" with 'path' set to "data*" does not find files, while completion does @@ -1928,13 +1957,6 @@ Szamotulski, 2012 Nov 8) Session file creation: 'autochdir' causes trouble. Keep it off until after loading all files. -MS-Windows resizing problems: -- Windows window on screen positioning: Patch by Yukihiro Nakadaira, 2012 Jun - 20. Uses getWindowRect() instead of GetWindowPlacement() -- Win32: When the taskbar is at the top of the screen creating the tabbar - causes the window to move unnecessarily. (William E. Skeith III, 2012 Jan - 12) Patch: 2012 Jan 13 Needs more work (2012 Feb 2) - 'iminsert' global value set when using ":setlocal iminsert"? (Wu, 2012 Jun 23) Patch to append regexp to tag commands to make it possible to select one out diff --git a/runtime/doc/usr_27.txt b/runtime/doc/usr_27.txt --- a/runtime/doc/usr_27.txt +++ b/runtime/doc/usr_27.txt @@ -434,7 +434,7 @@ redefined without changing the search pa /\f\+ -The "\f" items stands for file name characters. Thus this matches a sequence +The "\f" item stands for file name characters. Thus this matches a sequence of characters that can be a file name. Which characters can be part of a file name depends on the system you are using. On MS-Windows, the backslash is included, on Unix it is not. This is diff --git a/runtime/doc/usr_90.txt b/runtime/doc/usr_90.txt --- a/runtime/doc/usr_90.txt +++ b/runtime/doc/usr_90.txt @@ -226,7 +226,7 @@ We will use "82" here, which is version This is all you need for the second method. Just launch the executable, and follow the prompts. -For the first method you must chose one of the binary archives. These are +For the first method you must choose one of the binary archives. These are available: gvim82.zip The normal MS-Windows GUI version. diff --git a/runtime/doc/version6.txt b/runtime/doc/version6.txt --- a/runtime/doc/version6.txt +++ b/runtime/doc/version6.txt @@ -7882,7 +7882,7 @@ Files: src/buffer.c, src/ex_cmds.c, Patch 6.1.221 Problem: Changing case may not work properly, depending on the current locale. -Solution: Add the 'casemap' option to let the user chose how changing case +Solution: Add the 'casemap' option to let the user choose how changing case is to be done. Also fix lowering case when an UTF-8 character doesn't keep the same byte length. diff --git a/runtime/doc/vim-da.1 b/runtime/doc/vim-da.1 --- a/runtime/doc/vim-da.1 +++ b/runtime/doc/vim-da.1 @@ -147,7 +147,7 @@ Se ":help search\-pattern" for tilgngelige sgemnstre. {kommando} fortolkes som en Ex-kommando. Hvis {kommando} indeholder mellemrum, s skal den omsluttes af dobbelte citationstegn (det afhnger af den skal der bruges). -Eksempel: Vim "+set si" main.c +Eksempel: vim "+set si" main.c .br Bemrk: Du kan bruge op til 10 "+"- eller "\-c"-kommandoer. .TP diff --git a/runtime/doc/vim-da.UTF-8.1 b/runtime/doc/vim-da.UTF-8.1 --- a/runtime/doc/vim-da.UTF-8.1 +++ b/runtime/doc/vim-da.UTF-8.1 @@ -147,7 +147,7 @@ Se ":help search\-pattern" for tilgængelige søgemønstre. {kommando} fortolkes som en Ex-kommando. Hvis {kommando} indeholder mellemrum, så skal den omsluttes af dobbelte citationstegn (det afhænger af den skal der bruges). -Eksempel: Vim "+set si" main.c +Eksempel: vim "+set si" main.c .br Bemærk: Du kan bruge op til 10 "+"- eller "\-c"-kommandoer. .TP diff --git a/runtime/doc/vim-fr.1 b/runtime/doc/vim-fr.1 --- a/runtime/doc/vim-fr.1 +++ b/runtime/doc/vim-fr.1 @@ -156,7 +156,7 @@ Excute {commande} aprs la lecture du premier fichier. {commande} est interprte comme une commande Ex. Si la {commande} contient des espaces, elle doit tre entoure de doubles-apostrophes (cela dpend du shell utilis). -Exemple : Vim "+set si" main.c +Exemple : vim "+set si" main.c .br Note : vous pouvez utiliser jusqu' 10 commandes "+" ou "\-c". .TP diff --git a/runtime/doc/vim-fr.UTF-8.1 b/runtime/doc/vim-fr.UTF-8.1 --- a/runtime/doc/vim-fr.UTF-8.1 +++ b/runtime/doc/vim-fr.UTF-8.1 @@ -156,7 +156,7 @@ Exécute {commande} après la lecture du premier fichier. {commande} est interprétée comme une commande Ex. Si la {commande} contient des espaces, elle doit être entourée de doubles-apostrophes (cela dépend du shell utilisé). -Exemple : Vim "+set si" main.c +Exemple : vim "+set si" main.c .br Note : vous pouvez utiliser jusqu'à 10 commandes "+" ou "\-c". .TP diff --git a/runtime/doc/vim-it.1 b/runtime/doc/vim-it.1 --- a/runtime/doc/vim-it.1 +++ b/runtime/doc/vim-it.1 @@ -150,7 +150,7 @@ primo file stato letto. {comando} interpretato come un comando Ex. Se il {comando} contiene spazi deve essere incluso fra doppi apici (o altro delimitatore, a seconda della shell che si sta usando). -Esempio: Vim "+set si" main.c +Esempio: vim "+set si" main.c .br Note: Si possono avere fino a 10 comandi "+" o "\-c". .TP diff --git a/runtime/doc/vim-it.UTF-8.1 b/runtime/doc/vim-it.UTF-8.1 --- a/runtime/doc/vim-it.UTF-8.1 +++ b/runtime/doc/vim-it.UTF-8.1 @@ -150,7 +150,7 @@ primo file è stato letto. {comando} è interpretato come un comando Ex. Se il {comando} contiene spazi deve essere incluso fra doppi apici (o altro delimitatore, a seconda della shell che si sta usando). -Esempio: Vim "+set si" main.c +Esempio: vim "+set si" main.c .br Note: Si possono avere fino a 10 comandi "+" o "\-c". .TP diff --git a/runtime/doc/vim-pl.1 b/runtime/doc/vim-pl.1 --- a/runtime/doc/vim-pl.1 +++ b/runtime/doc/vim-pl.1 @@ -150,7 +150,7 @@ wzorce wyszukiwania. {polecenie} jest interpretowane jako polecenie Ex. Jeli {poleceni} zawiera biae znaki musi by umieszczone w podwjnych cudzysowach (zaley to od uywanej powoki). -Przykad: Vim "+set si" main.c +Przykad: vim "+set si" main.c .br Uwaga: Mona uy do 10 polece "+" lub "\-c". .TP diff --git a/runtime/doc/vim-pl.UTF-8.1 b/runtime/doc/vim-pl.UTF-8.1 --- a/runtime/doc/vim-pl.UTF-8.1 +++ b/runtime/doc/vim-pl.UTF-8.1 @@ -150,7 +150,7 @@ wzorce wyszukiwania. {polecenie} jest interpretowane jako polecenie Ex. Jeśli {poleceni} zawiera białe znaki musi być umieszczone w podwójnych cudzysłowach (zależy to od używanej powłoki). -Przykład: Vim "+set si" main.c +Przykład: vim "+set si" main.c .br Uwaga: Można użyć do 10 poleceń "+" lub "\-c". .TP diff --git a/runtime/doc/vim-tr.1 b/runtime/doc/vim-tr.1 --- a/runtime/doc/vim-tr.1 +++ b/runtime/doc/vim-tr.1 @@ -145,7 +145,7 @@ Kullanlabilir arama dizgileri iin ":help search\-pattern" yazn. {komut} bir Ex komutu olarak iletilir. Eer {komut} boluk ieriyorsa ift trnak ierisine alnmaldr (bu kullanlan kabua baldr). -rnek: Vim "+set si" main.c +rnek: vim "+set si" main.c .br Not: 10 taneye kadar "+" veya "\-c" komutu kullanabilirsiniz. .TP diff --git a/runtime/doc/vim-tr.UTF-8.1 b/runtime/doc/vim-tr.UTF-8.1 --- a/runtime/doc/vim-tr.UTF-8.1 +++ b/runtime/doc/vim-tr.UTF-8.1 @@ -145,7 +145,7 @@ Kullanılabilir arama dizgileri için ":help search\-pattern" yazın. {komut} bir Ex komutu olarak işletilir. Eğer {komut} boşluk içeriyorsa çift tırnak içerisine alınmalıdır (bu kullanılan kabuğa bağlıdır). -Örnek: Vim "+set si" main.c +Örnek: vim "+set si" main.c .br Not: 10 taneye kadar "+" veya "\-c" komutu kullanabilirsiniz. .TP diff --git a/runtime/doc/vim.1 b/runtime/doc/vim.1 --- a/runtime/doc/vim.1 +++ b/runtime/doc/vim.1 @@ -146,7 +146,7 @@ See ":help search\-pattern" for the avai {command} is interpreted as an Ex command. If the {command} contains spaces it must be enclosed in double quotes (this depends on the shell that is used). -Example: Vim "+set si" main.c +Example: vim "+set si" main.c .br Note: You can use up to 10 "+" or "\-c" commands. .TP diff --git a/runtime/doc/vim.man b/runtime/doc/vim.man --- a/runtime/doc/vim.man +++ b/runtime/doc/vim.man @@ -110,7 +110,7 @@ OPTIONS read. {command} is interpreted as an Ex command. If the {command} contains spaces it must be enclosed in double quotes (this depends on the shell that is used). Example: - Vim "+set si" main.c + vim "+set si" main.c Note: You can use up to 10 "+" or "-c" commands. -S {file} {file} will be sourced after the first file has been read. diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt --- a/runtime/doc/vim9.txt +++ b/runtime/doc/vim9.txt @@ -1,4 +1,4 @@ -*vim9.txt* For Vim version 8.2. Last change: 2020 Jul 17 +*vim9.txt* For Vim version 8.2. Last change: 2020 Jul 25 VIM REFERENCE MANUAL by Bram Moolenaar @@ -184,8 +184,9 @@ To intentionally avoid a variable being echo temp " Error! An existing variable cannot be assigned to with `:let`, since that implies a -declaration. An exception is global variables: these can be both used with -and without `:let`, because there is no rule about where they are declared. +declaration. Global, window, tab, buffer and Vim variables can only be used +without `:let`, because they are are not really declared, they can also be +deleted with `:unlet`. Variables cannot shadow previously defined variables. Variables may shadow Ex commands, rename the variable if needed. @@ -194,12 +195,19 @@ Global variables and user defined functi at the script level. > vim9script let script_local = 'text' - let g:global = 'value' + g:global = 'value' let Funcref = g:ThatFunction Since "&opt = value" is now assigning a value to option "opt", ":&" cannot be used to repeat a `:substitute` command. + *E1092* +Declaring more than one variable at a time, using the unpack notation, is +currently not supported: > + let [v1, v2] = GetValues() # Error! +That is because the type needs to be inferred from the list item type, which +isn't that easy. + Omitting :call and :eval ~ @@ -209,15 +217,15 @@ Using `:call` is still possible, but thi A method call without `eval` is possible, so long as the start is an identifier or can't be an Ex command. It does NOT work for string constants: > - myList->add(123) " works - g:myList->add(123) " works - [1, 2, 3]->Process() " works - #{a: 1, b: 2}->Process() " works - {'a': 1, 'b': 2}->Process() " works - "foobar"->Process() " does NOT work - ("foobar")->Process() " works - 'foobar'->Process() " does NOT work - ('foobar')->Process() " works + myList->add(123) # works + g:myList->add(123) # works + [1, 2, 3]->Process() # works + #{a: 1, b: 2}->Process() # works + {'a': 1, 'b': 2}->Process() # works + "foobar"->Process() # does NOT work + ("foobar")->Process() # works + 'foobar'->Process() # does NOT work + ('foobar')->Process() # works In case there is ambiguity between a function name and an Ex command, use ":" to make clear you want to use the Ex command. For example, there is both the @@ -277,10 +285,14 @@ possible just before or after the operat ? PosFunc(arg) : NegFunc(arg) +For a method call using "->" and a member using a dot, a line break is allowed +before it: > let result = GetBuilder() ->BuilderSetWidth(333) ->BuilderSetHeight(777) ->BuilderBuild() + let result = MyDict + .member < *E1050* To make it possible for the operator at the start of the line to be @@ -486,19 +498,20 @@ THIS IS STILL UNDER DEVELOPMENT - ANYTHI When the caller omits an argument the {value} is used. The function will be compiled into instructions when - called, or when `:defcompile` is used. Syntax and - type errors will be produced at that time. + called, or when `:disassemble` or `:defcompile` is + used. Syntax and type errors will be produced at that + time. - NOTE: It is possible to nest `:def` inside another - `:def`, but it is not possible to nest `:def` inside - `:function`, for backwards compatibility. + It is possible to nest `:def` inside another `:def` or + `:function` up to about 50 levels deep. [!] is used as with `:function`. Note that in Vim9 script script-local functions cannot be deleted or redefined later in the same script. *:enddef* -:enddef End of a function defined with `:def`. +:enddef End of a function defined with `:def`. It should be on + a line by its own. If the script the function is defined in is Vim9 script, then script-local @@ -559,7 +572,7 @@ Not supported yet: tuple These types can be used in declarations, but no value will have this type: - {type}|{type} + {type}|{type} {not implemented yet} void any @@ -661,19 +674,15 @@ The original value of 'cpoptions' is res Export ~ *:export* *:exp* -Exporting one item can be written as: > +Exporting an item can be written as: > export const EXPORTED_CONST = 1234 export let someValue = ... export def MyFunc() ... export class MyClass ... As this suggests, only constants, variables, `:def` functions and classes can -be exported. +be exported. {classes are not implemented yet} -Alternatively, an export statement can be used to export several already -defined (otherwise script-local) items: > - export {EXPORTED_CONST, someValue, MyFunc, MyClass} -< *E1042* `:export` can only be used in Vim9 script, at the script level. diff --git a/runtime/ftplugin/cpp.vim b/runtime/ftplugin/cpp.vim --- a/runtime/ftplugin/cpp.vim +++ b/runtime/ftplugin/cpp.vim @@ -1,12 +1,17 @@ " Vim filetype plugin file " Language: C++ " Maintainer: Bram Moolenaar -" Last Change: 2001 Jan 15 +" Last Change: 2020 Jul 26 " Only do this when not done yet for this buffer if exists("b:did_ftplugin") finish endif -" Behaves just like C +" Behaves mostly just like C runtime! ftplugin/c.vim ftplugin/c_*.vim ftplugin/c/*.vim + +" C++ uses templates with +" Disabled, because it gives an error for typing an unmatched ">". +" set matchpairs+=<:> +" let b:undo_ftplugin ..= ' | setl matchpairs<' diff --git a/runtime/ftplugin/diff.vim b/runtime/ftplugin/diff.vim --- a/runtime/ftplugin/diff.vim +++ b/runtime/ftplugin/diff.vim @@ -1,7 +1,7 @@ " Vim filetype plugin file " Language: Diff " Maintainer: Bram Moolenaar -" Last Change: 2005 Jul 27 +" Last Change: 2020 Jul 18 " Only do this when not done yet for this buffer if exists("b:did_ftplugin") @@ -13,3 +13,6 @@ let b:undo_ftplugin = "setl modeline<" " Don't use modelines in a diff, they apply to the diffed file setlocal nomodeline + +" If there are comments they start with # +let &commentstring = "# %s" diff --git a/runtime/ftplugin/vim.vim b/runtime/ftplugin/vim.vim --- a/runtime/ftplugin/vim.vim +++ b/runtime/ftplugin/vim.vim @@ -1,7 +1,7 @@ " Vim filetype plugin " Language: Vim " Maintainer: Bram Moolenaar -" Last Change: 2020 Jul 06 +" Last Change: 2020 Jul 26 " Only do this when not done yet for this buffer if exists("b:did_ftplugin") @@ -83,7 +83,7 @@ endif if exists("loaded_matchit") let b:match_ignorecase = 0 let b:match_words = - \ '\<\%(fu\%[nction]\|def\)\>:\:\<\%(endf\%[unction]\|enddef\)\>,' . + \ '\<\%(fu\%[nction]\|def\)\>[^(]:\:\<\%(endf\%[unction]\|enddef\)\>,' . \ '\<\(wh\%[ile]\|for\)\>:\:\:\,' . \ '\:\:\,' . \ '{:},' . diff --git a/runtime/indent/vim.vim b/runtime/indent/vim.vim --- a/runtime/indent/vim.vim +++ b/runtime/indent/vim.vim @@ -1,7 +1,7 @@ " Vim indent file " Language: Vim script " Maintainer: Bram Moolenaar -" Last Change: 2019 Oct 31 +" Last Change: 2020 Jul 19 " Only load this indent file when no other was loaded. if exists("b:did_indent") @@ -11,6 +11,7 @@ let b:did_indent = 1 setlocal indentexpr=GetVimIndent() setlocal indentkeys+==end,=},=else,=cat,=fina,=END,0\\,0=\"\\\ +setlocal indentkeys-=0# let b:undo_indent = "setl indentkeys< indentexpr<" diff --git a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim --- a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim +++ b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim @@ -2,7 +2,7 @@ " " Author: Bram Moolenaar " Copyright: Vim license applies, see ":help license" -" Last Change: 2020 Jun 12 +" Last Change: 2020 Jul 12 " " WORK IN PROGRESS - Only the basics work " Note: On MS-Windows you need a recent version of gdb. The one included with diff --git a/runtime/syntax/aidl.vim b/runtime/syntax/aidl.vim new file mode 100644 --- /dev/null +++ b/runtime/syntax/aidl.vim @@ -0,0 +1,23 @@ +" Vim syntax file +" Language: aidl (Android Interface Definition Language) +" https://developer.android.com/guide/components/aidl +" Maintainer: Dominique Pelle +" LastChange: 2020/07/25 + +" Quit when a syntax file was already loaded. +if exists("b:current_syntax") + finish +endif + +source :p:h/java.vim + +syn keyword aidlParamDir in out inout +syn keyword aidlKeyword oneway parcelable + +" Needed for the 'in', 'out', 'inout' keywords to be highlighted. +syn cluster javaTop add=aidlParamDir + +hi def link aidlParamDir StorageClass +hi def link aidlKeyword Keyword + +let b:current_syntax = "aidl" diff --git a/runtime/syntax/tex.vim b/runtime/syntax/tex.vim --- a/runtime/syntax/tex.vim +++ b/runtime/syntax/tex.vim @@ -1,8 +1,8 @@ " Vim syntax file " Language: TeX " Maintainer: Charles E. Campbell -" Last Change: Jun 07, 2020 -" Version: 118 +" Last Change: Jun 29, 2020 +" Version: 119 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX " " Notes: {{{1 @@ -147,6 +147,11 @@ if exists("g:tex_nospell") && g:tex_nosp else let s:tex_nospell = 0 endif +if exists("g:tex_matchcheck") + let s:tex_matchcheck= g:tex_matchcheck +else + let s:tex_matchcheck= '[({[]' +endif if exists("g:tex_excludematcher") let s:tex_excludematcher= g:tex_excludematcher else @@ -205,27 +210,41 @@ if !exists("g:tex_no_math") endif endif -" Try to flag {} and () mismatches: {{{1 +" Try to flag {}, [], and () mismatches: {{{1 if s:tex_fast =~# 'm' if !s:tex_no_error - syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchGroup,texError - syn region texMatcher matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchGroup,texError,@NoSpell - syn region texMatcherNM matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchNMGroup,texError - syn region texMatcherNM matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchNMGroup,texError,@NoSpell + if s:tex_matchcheck =~ '{' + syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchGroup,texError + syn region texMatcherNM matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchNMGroup,texError + endif + if s:tex_matchcheck =~ '\[' + syn region texMatcher matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchGroup,texError,@NoSpell + syn region texMatcherNM matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchNMGroup,texError,@NoSpell + endif else - syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchGroup - syn region texMatcher matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchGroup - syn region texMatcherNM matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchNMGroup - syn region texMatcherNM matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchNMGroup + if s:tex_matchcheck =~ '{' + syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchGroup + syn region texMatcherNM matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchNMGroup + endif + if s:tex_matchcheck =~ '\[' + syn region texMatcher matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchGroup + syn region texMatcherNM matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchNMGroup + endif endif - if !s:tex_nospell - syn region texParen start="(" end=")" transparent contains=@texMatchGroup,@Spell - else - syn region texParen start="(" end=")" transparent contains=@texMatchGroup + if s:tex_matchcheck =~ '(' + if !s:tex_nospell + syn region texParen start="(" end=")" transparent contains=@texMatchGroup,@Spell + else + syn region texParen start="(" end=")" transparent contains=@texMatchGroup + endif endif endif if !s:tex_no_error - syn match texError "[}\])]" + if s:tex_matchcheck =~ '(' + syn match texError "[}\]]" + else + syn match texError "[}\])]" + endif endif if s:tex_fast =~# 'M' if !exists("g:tex_no_math") @@ -756,7 +775,7 @@ if has("conceal") && &enc == 'utf-8' \ ['ldots' , '…'], \ ['le' , '≤'], \ ['left|' , '|'], - \ ['left\|' , '‖'], + \ ['left\\|' , '‖'], \ ['left(' , '('], \ ['left\[' , '['], \ ['left\\{' , '{'], diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim --- a/runtime/syntax/vim.vim +++ b/runtime/syntax/vim.vim @@ -1,8 +1,8 @@ " Vim syntax file " Language: Vim 8.0 script " Maintainer: Charles E. Campbell -" Last Change: Jun 01, 20200 -" Version: 8.0-37 +" Last Change: July 15, 2020 +" Version: 8.0-41 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM " Automatically generated keyword lists: {{{1 @@ -29,14 +29,14 @@ syn match vimCommand contained "\