1
0
forked from aniani/vim

Update runtime files

This commit is contained in:
Bram Moolenaar 2022-11-18 21:49:57 +00:00
parent 236dffab43
commit d13166e788
24 changed files with 323 additions and 101 deletions

View File

@ -1,4 +1,4 @@
*builtin.txt* For Vim version 9.0. Last change: 2022 Nov 09 *builtin.txt* For Vim version 9.0. Last change: 2022 Nov 14
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*cmdline.txt* For Vim version 9.0. Last change: 2022 Sep 26 *cmdline.txt* For Vim version 9.0. Last change: 2022 Nov 11
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*eval.txt* For Vim version 9.0. Last change: 2022 Oct 07 *eval.txt* For Vim version 9.0. Last change: 2022 Nov 13
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -3073,6 +3073,10 @@ text...
Unlock the internal variable {name}. Does the Unlock the internal variable {name}. Does the
opposite of |:lockvar|. opposite of |:lockvar|.
If {name} does not exist:
- In |Vim9| script an error is given.
- In legacy script this is silently ignored.
:if {expr1} *:if* *:end* *:endif* *:en* *E171* *E579* *E580* :if {expr1} *:if* *:end* *:endif* *:en* *E171* *E579* *E580*
:en[dif] Execute the commands until the next matching `:else` :en[dif] Execute the commands until the next matching `:else`
or `:endif` if {expr1} evaluates to non-zero. or `:endif` if {expr1} evaluates to non-zero.

View File

@ -1,4 +1,4 @@
*gui.txt* For Vim version 9.0. Last change: 2022 Apr 03 *gui.txt* For Vim version 9.0. Last change: 2022 Nov 17
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -889,6 +889,11 @@ s The menu was defined with "<silent>" to avoid showing what it is
Note that hitting <Tab> while entering a menu name after a menu command may Note that hitting <Tab> while entering a menu name after a menu command may
be used to complete the name of the menu item. be used to complete the name of the menu item.
It is not allowed to change menus while listing them. *E1310*
This doesn't normally happen, only when, for example, you would have a timer
callback define a menu and the user lists menus in a way it shows
|more-prompt|.
5.4 Executing Menus *execute-menus* 5.4 Executing Menus *execute-menus*

View File

@ -1,4 +1,4 @@
*map.txt* For Vim version 9.0. Last change: 2022 Oct 19 *map.txt* For Vim version 9.0. Last change: 2022 Nov 14
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -584,6 +584,9 @@ is the start of the last selected Visual area in the current buffer |'<|.
The |:filter| command can be used to select what mappings to list. The The |:filter| command can be used to select what mappings to list. The
pattern is matched against the {lhs} and {rhs} in the raw form. pattern is matched against the {lhs} and {rhs} in the raw form.
While mappings are being listed, it is not possible to add or clear mappings,
e.g. from a timer callback. *E1309*
*:map-verbose* *:map-verbose*
When 'verbose' is non-zero, listing a key map will also display where it was When 'verbose' is non-zero, listing a key map will also display where it was
last defined. Example: > last defined. Example: >
@ -1476,6 +1479,8 @@ See |:verbose-cmd| for more information.
:delc[ommand] {cmd} *:delc* *:delcommand* *E184* :delc[ommand] {cmd} *:delc* *:delcommand* *E184*
Delete the user-defined command {cmd}. Delete the user-defined command {cmd}.
This is not allowed while listing commands, e.g. from
a timer. *E1311*
:delc[ommand] -buffer {cmd} *E1237* :delc[ommand] -buffer {cmd} *E1237*
Delete the user-defined command {cmd} that was defined Delete the user-defined command {cmd} that was defined

View File

@ -1,4 +1,4 @@
*options.txt* For Vim version 9.0. Last change: 2022 Oct 28 *options.txt* For Vim version 9.0. Last change: 2022 Nov 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*syntax.txt* For Vim version 9.0. Last change: 2022 Nov 06 *syntax.txt* For Vim version 9.0. Last change: 2022 Nov 15
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -1888,6 +1888,16 @@ following two lines to the syntax coloring file for that language
Now you just need to make sure that you add all regions that contain Now you just need to make sure that you add all regions that contain
the preprocessor language to the cluster htmlPreproc. the preprocessor language to the cluster htmlPreproc.
*html-folding*
The HTML syntax file provides syntax |folding| (see |:syn-fold|) between start
and end tags. This can be turned on by >
:let g:html_syntax_folding = 1
:set foldmethod=syntax
Note: Syntax folding might slow down syntax highlighting significantly,
especially for large files.
HTML/OS (by Aestiva) *htmlos.vim* *ft-htmlos-syntax* HTML/OS (by Aestiva) *htmlos.vim* *ft-htmlos-syntax*
@ -5394,8 +5404,8 @@ CursorLineSign Like SignColumn when 'cursorline' is set for the cursor line.
MatchParen Character under the cursor or just before it, if it MatchParen Character under the cursor or just before it, if it
is a paired bracket, and its match. |pi_paren.txt| is a paired bracket, and its match. |pi_paren.txt|
*hl-MessageWindow* *hl-MessageWindow*
MessageWindow Messages popup window used when 'cmdheight' is zero. If not MessageWindow Messages popup window used by `:echowindow`. If not defined
defined |hl-WarningMsg| is used. |hl-WarningMsg| is used.
*hl-ModeMsg* *hl-ModeMsg*
ModeMsg 'showmode' message (e.g., "-- INSERT --"). ModeMsg 'showmode' message (e.g., "-- INSERT --").
*hl-MoreMsg* *hl-MoreMsg*

View File

@ -3042,6 +3042,9 @@ $quote eval.txt /*$quote*
:r! insert.txt /*:r!* :r! insert.txt /*:r!*
:range cmdline.txt /*:range* :range cmdline.txt /*:range*
:range! change.txt /*:range!* :range! change.txt /*:range!*
:range-closed-fold cmdline.txt /*:range-closed-fold*
:range-offset cmdline.txt /*:range-offset*
:range-pattern cmdline.txt /*:range-pattern*
:re insert.txt /*:re* :re insert.txt /*:re*
:read insert.txt /*:read* :read insert.txt /*:read*
:read! insert.txt /*:read!* :read! insert.txt /*:read!*
@ -4355,7 +4358,10 @@ E1305 textprop.txt /*E1305*
E1306 vim9.txt /*E1306* E1306 vim9.txt /*E1306*
E1307 vim9.txt /*E1307* E1307 vim9.txt /*E1307*
E1308 builtin.txt /*E1308* E1308 builtin.txt /*E1308*
E1309 map.txt /*E1309*
E131 userfunc.txt /*E131* E131 userfunc.txt /*E131*
E1310 gui.txt /*E1310*
E1311 map.txt /*E1311*
E132 userfunc.txt /*E132* E132 userfunc.txt /*E132*
E133 userfunc.txt /*E133* E133 userfunc.txt /*E133*
E134 change.txt /*E134* E134 change.txt /*E134*
@ -7512,6 +7518,7 @@ getloclist() builtin.txt /*getloclist()*
getmarklist() builtin.txt /*getmarklist()* getmarklist() builtin.txt /*getmarklist()*
getmatches() builtin.txt /*getmatches()* getmatches() builtin.txt /*getmatches()*
getmousepos() builtin.txt /*getmousepos()* getmousepos() builtin.txt /*getmousepos()*
getmouseshape() builtin.txt /*getmouseshape()*
getpid() builtin.txt /*getpid()* getpid() builtin.txt /*getpid()*
getpos() builtin.txt /*getpos()* getpos() builtin.txt /*getpos()*
getqflist() builtin.txt /*getqflist()* getqflist() builtin.txt /*getqflist()*
@ -7832,6 +7839,7 @@ howto.txt howto.txt /*howto.txt*
hpterm term.txt /*hpterm* hpterm term.txt /*hpterm*
hpterm-color syntax.txt /*hpterm-color* hpterm-color syntax.txt /*hpterm-color*
html-flavor insert.txt /*html-flavor* html-flavor insert.txt /*html-flavor*
html-folding syntax.txt /*html-folding*
html-indent indent.txt /*html-indent* html-indent indent.txt /*html-indent*
html-indenting indent.txt /*html-indenting* html-indenting indent.txt /*html-indenting*
html.vim syntax.txt /*html.vim* html.vim syntax.txt /*html.vim*
@ -10179,6 +10187,7 @@ termdebug_popup terminal.txt /*termdebug_popup*
termdebug_shortcuts terminal.txt /*termdebug_shortcuts* termdebug_shortcuts terminal.txt /*termdebug_shortcuts*
termdebug_use_prompt terminal.txt /*termdebug_use_prompt* termdebug_use_prompt terminal.txt /*termdebug_use_prompt*
termdebug_wide terminal.txt /*termdebug_wide* termdebug_wide terminal.txt /*termdebug_wide*
termdebug_winbar terminal.txt /*termdebug_winbar*
terminal terminal.txt /*terminal* terminal terminal.txt /*terminal*
terminal-api terminal.txt /*terminal-api* terminal-api terminal.txt /*terminal-api*
terminal-autoshelldir terminal.txt /*terminal-autoshelldir* terminal-autoshelldir terminal.txt /*terminal-autoshelldir*

View File

@ -1,4 +1,4 @@
*terminal.txt* For Vim version 9.0. Last change: 2022 Oct 10 *terminal.txt* For Vim version 9.0. Last change: 2022 Nov 10
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -469,7 +469,6 @@ ConPTY problems have been fixed "winpty" will be preferred.
Environment variables are used to pass information to the running job: Environment variables are used to pass information to the running job:
VIM_SERVERNAME v:servername VIM_SERVERNAME v:servername
============================================================================== ==============================================================================
2. Terminal functions *terminal-function-details* 2. Terminal functions *terminal-function-details*
@ -1129,7 +1128,6 @@ reference: >
Creating a screen dump ~ Creating a screen dump ~
*terminal-screendump* *terminal-screendump*
To create the screen dump, run Vim (or any other program) in a terminal and To create the screen dump, run Vim (or any other program) in a terminal and
make it show the desired state. Then use the |term_dumpwrite()| function to make it show the desired state. Then use the |term_dumpwrite()| function to
create a screen dump file. For example: > create a screen dump file. For example: >
@ -1153,7 +1151,6 @@ If there are differences then v:errors will contain the error message.
Comparing screen dumps ~ Comparing screen dumps ~
*terminal-diffscreendump* *terminal-diffscreendump*
|assert_equalfile()| does not make it easy to see what is different. |assert_equalfile()| does not make it easy to see what is different.
To spot the problem use |term_dumpdiff()|: > To spot the problem use |term_dumpdiff()|: >
call term_dumpdiff("mysyntax.dump", "test.dump") call term_dumpdiff("mysyntax.dump", "test.dump")
@ -1350,6 +1347,7 @@ If 'mouse' is set the plugin adds a window toolbar with these entries:
Eval `:Evaluate` Eval `:Evaluate`
This way you can use the mouse to perform the most common commands. You need This way you can use the mouse to perform the most common commands. You need
to have the 'mouse' option set to enable mouse clicks. to have the 'mouse' option set to enable mouse clicks.
See |termdebug_winbar| for configuring this toolbar.
*:Winbar* *:Winbar*
You can add the window toolbar in other windows you open with: > You can add the window toolbar in other windows you open with: >
:Winbar :Winbar
@ -1415,6 +1413,20 @@ TermdebugStopPost After debugging has ended, gdb-related windows
the state before the debugging was restored. the state before the debugging was restored.
Customizing ~
*termdebug-customizing* *g:termdebug_config*
In the past several global variables were used for configuration. These are
deprecated and using the g:termdebug_config dictionary is preferred. When
g:termdebug_config exists the other global variables will NOT be used.
The recommended way is to start with an empty dictionary: >
let g:termdebug_config = {}
Then you can add entries to the dictionary as mentioned below. The
deprecated global variable names are mentioned for completeness. If you are
switching over to using g:termdebug_config you can find the old variable name
and take over the value, then delete the deprecated variable.
Prompt mode ~ Prompt mode ~
*termdebug-prompt* *termdebug-prompt*
When the |+terminal| feature is not supported and on MS-Windows, gdb will run When the |+terminal| feature is not supported and on MS-Windows, gdb will run
@ -1430,13 +1442,13 @@ in a buffer with 'buftype' set to "prompt". This works slightly differently:
*termdebug_use_prompt* *termdebug_use_prompt*
Prompt mode can be used even when the |+terminal| feature is present with: > Prompt mode can be used even when the |+terminal| feature is present with: >
let g:termdebug_config['use_prompt'] = 1 let g:termdebug_config['use_prompt'] = 1
Or if there is no g:termdebug_config: > If there is no g:termdebug_config you can use: >
let g:termdebug_use_prompt = 1 let g:termdebug_use_prompt = 1
< <
*termdebug_map_K* *termdebug_map_K*
The K key is normally mapped to :Evaluate. If you do not want this use: > The K key is normally mapped to :Evaluate. If you do not want this use: >
let g:termdebug_config['map_K'] = 0 let g:termdebug_config['map_K'] = 0
Or if there is no g:termdebug_config: > If there is no g:termdebug_config you can use: >
let g:termdebug_map_K = 0 let g:termdebug_map_K = 0
< <
*termdebug_disasm_window* *termdebug_disasm_window*
@ -1444,7 +1456,7 @@ If you want the Asm window shown by default, set the flag to 1.
the "disasm_window_height" entry can be used to set the window height: > the "disasm_window_height" entry can be used to set the window height: >
let g:termdebug_config['disasm_window'] = 1 let g:termdebug_config['disasm_window'] = 1
let g:termdebug_config['disasm_window_height'] = 15 let g:termdebug_config['disasm_window_height'] = 15
or, if there is no g:termdebug_config: > If there is no g:termdebug_config you can use: >
let g:termdebug_disasm_window = 15 let g:termdebug_disasm_window = 15
Any value greater than 1 will set the Asm window height to that value. Any value greater than 1 will set the Asm window height to that value.
@ -1462,25 +1474,18 @@ interrupt the running program. But after using the MI command
communication channel. communication channel.
Customizing ~
*termdebug-customizing* *g:termdebug_config*
In the past several global variables were used for configuration. These are
deprecated, using the g:termdebug_config dictionary is preferred. When
g:termdebug_config exists the other global variables will not be used.
GDB command ~ GDB command ~
*g:termdebugger* *g:termdebugger*
To change the name of the gdb command, set "debugger" entry in To change the name of the gdb command, set "debugger" entry in
g:termdebug_config or the "g:termdebugger" variable before invoking g:termdebug_config or the "g:termdebugger" variable before invoking
`:Termdebug`: > `:Termdebug`: >
let g:termdebug_config['command'] = "mygdb" let g:termdebug_config['command'] = "mygdb"
Or if there is no g:termdebug_config: > If there is no g:termdebug_config you can use: >
let g:termdebugger = "mygdb" let g:termdebugger = "mygdb"
If the command needs an argument use a List: > If the command needs an argument use a List: >
let g:termdebug_config['command'] = ['rr', 'replay', '--'] let g:termdebug_config['command'] = ['rr', 'replay', '--']
Or if there is no g:termdebug_config: > If there is no g:termdebug_config you can use: >
let g:termdebugger = ['rr', 'replay', '--'] let g:termdebugger = ['rr', 'replay', '--']
Several arguments will be added to make gdb work well for the debugger. Several arguments will be added to make gdb work well for the debugger.
@ -1501,7 +1506,7 @@ Then your gdb is too old.
Colors ~ Colors ~
*hl-debugPC* *hl-debugBreakpoint* *hl-debugPC* *hl-debugBreakpoint*
The color of the signs can be adjusted with these highlight groups: The color of the signs can be adjusted with these highlight groups:
- debugPC the current position - debugPC the current position
- debugBreakpoint a breakpoint - debugBreakpoint a breakpoint
@ -1517,7 +1522,6 @@ When 'background' is "dark":
Shortcuts ~ Shortcuts ~
*termdebug_shortcuts* *termdebug_shortcuts*
You can define your own shortcuts (mappings) to control gdb, that can work in You can define your own shortcuts (mappings) to control gdb, that can work in
any window, using the TermDebugSendCommand() function. Example: > any window, using the TermDebugSendCommand() function. Example: >
map ,w :call TermDebugSendCommand('where')<CR> map ,w :call TermDebugSendCommand('where')<CR>
@ -1526,7 +1530,6 @@ The argument is the gdb command.
Popup menu ~ Popup menu ~
*termdebug_popup* *termdebug_popup*
By default the Termdebug plugin sets 'mousemodel' to "popup_setpos" and adds By default the Termdebug plugin sets 'mousemodel' to "popup_setpos" and adds
these entries to the popup menu: these entries to the popup menu:
Set breakpoint `:Break` Set breakpoint `:Break`
@ -1534,17 +1537,23 @@ these entries to the popup menu:
Evaluate `:Evaluate` Evaluate `:Evaluate`
If you don't want this then disable it with: > If you don't want this then disable it with: >
let g:termdebug_config['popup'] = 0 let g:termdebug_config['popup'] = 0
or if there is no g:termdebug_config: > If there is no g:termdebug_config you can use: >
let g:termdebug_popup = 0 let g:termdebug_popup = 0
Window toolbar ~
*termdebug_winbar*
By default the Termdebug plugin creates a window toolbar if the mouse is
enabled (see |:Winbar|). If you don't want this then disable it with: >
let g:termdebug_config['winbar'] = 0
Vim window width ~ Vim window width ~
*termdebug_wide* *termdebug_wide*
To change the width of the Vim window when debugging starts and use a vertical To change the width of the Vim window when debugging starts and use a vertical
split: > split: >
let g:termdebug_config['wide'] = 163 let g:termdebug_config['wide'] = 163
Or if there is no g:termdebug_config: > If there is no g:termdebug_config you can use: >
let g:termdebug_wide = 163 let g:termdebug_wide = 163
This will set 'columns' to 163 when `:Termdebug` is used. The value is This will set 'columns' to 163 when `:Termdebug` is used. The value is

View File

@ -1,4 +1,4 @@
*todo.txt* For Vim version 9.0. Last change: 2022 Nov 09 *todo.txt* For Vim version 9.0. Last change: 2022 Nov 18
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -38,19 +38,71 @@ browser use: https://github.com/vim/vim/issues/1234
*known-bugs* *known-bugs*
-------------------- Known bugs and current work ----------------------- -------------------- Known bugs and current work -----------------------
Add test for what 9.0.0827 fixes - '@' in termcap key code virtual text issues:
- #11463 `after` is sometimes wrapped with `list`, `nowrap` and
`listchars+=extends:>`, cursor position is also wrong
- #11520 `below` cannot be placed below empty lines
James Alvarado looks into it
'smoothscroll': 'smoothscroll':
- PR #11502 - cursor position wrong
- PR #11514 - mouse click is off
- CTRL-E and gj in long line with 'scrolloff' 5 not working well yet. - CTRL-E and gj in long line with 'scrolloff' 5 not working well yet.
- computing 'scrolloff' position row use w_skipcol - computing 'scrolloff' position row use w_skipcol
- PR: Error in screen dump for Test_smoothscroll_one_long_line. (PR #11436) - Check this list: https://github.com/vim/vim/pulls?q=is%3Apr+is%3Aopen+smoothscroll+author%3Aychin
- Long line spanning multiple pages: After a few CTRL-E then gj causes a
scroll. (Ernie Rael, 18 Nov) Also pressing space or "l"
Switching to window for a buffer in set_buffer_lines() doesn't work if there
is no window. Use aucmd_prepbuf() instead. #11558
Upcoming larger works:
- Make spell checking work with recent .dic/.aff files, e.g. French. #4916
Make Vim understand the format somehow? Search for "spell" below.
Make sure suggestions are speedy, also with composed words (German).
- Discuss alternatives for using other grammars (treesitter, TextMate).
- Possibly conversion to Vim syntax rules.
- Other mechanism than group and cluster to nest syntax items, to be used
for grammars.
- Possibly keeping the parsed syntax tree and incremental updates.
- Make clear how it relates to LSP.
- example plugin: https://github.com/uga-rosa/dps-vsctm.vim
- Better support for detecting terminal emulator behavior (esp. special key
handling) and taking away the need for users to tweak their config.
> In the libvterm fork properly implement:
- modifyOtherKeys 2 - follow xterm implementation as close as possible
- Kitty key protocol - just like the latest Kitty
So that in TermDebug the key handling can be stepped through (instead of
having to log messages all over the place to see what happens). Ask
Leonerd about location of code, he might want to take over some of it.
> In the table of names pointing to the list of entries, with an additional
one. So that "xterm-kitty" can first load "xterm" and then add "kitty"
entries.
> Add an "expectKittyEsc" flag (Esc is always sent as a sequence, not one
character) and always wait after an Esc for more to come, don't leave
Insert mode.
-> Request code for Esc after outputting t_KI, use "k!" value.
Use response to set "expectKittyEsc".
-> Add ESC[>1uESC[?u to t_KI, parse flag response.
-> May also send t_RV and delay starting a shell command until the
response has been seen, to make sure the other responses don't get read
by a shell command.
> Add an option with a list of names that, when matching $TERM, indicate the
kitty keyboard protocol should be used? Allows adding "foot" and others
later, without modifying Vim. Perhaps a pattern-value pair:
set keyprotocol=kitty:kitty,foot:kitty,xterm:mok2,doggy:mok2
Here "mok2" means modifyOtherKeys level 2.
> Can we use the req_more_codes_from_term() mechanism with more terminals?
Should we repeat it after executing a shell command?
Can also add this to the 'keyprotocol' option: "mok2+tcap"
Further Vim9 improvements, possibly after launch: Further Vim9 improvements, possibly after launch:
- Use Vim9 for more runtime files. - Use Vim9 for more runtime files.
- implement :type - implement :type
- implement :enum - implement :enum
- implement :class and :interface: See |vim9-classes| - implement :class and :interface: See |vim9-classes| #11544
- Inline call to map() and filter(), better type checking. - Inline call to map() and filter(), better type checking.
- When evaluating constants for script variables, some functions could work: - When evaluating constants for script variables, some functions could work:
has(featureName), len(someString) has(featureName), len(someString)
@ -180,9 +232,33 @@ Add BufDeletePost. #11041
Add winid arg to col() and charcol() #11466 (request #11461) Add winid arg to col() and charcol() #11466 (request #11461)
Make the default for 'ttyfast' on, checking $TERM names doesn't make much
sense right now, most terminals are fast. #11549
Can we make 'noendofline' and 'endoffile' visible? Should show by default,
since it's an unusual situation.
- Show 'noendofline' when it would be used for writing ('fileformat' "dos")
with an upside down exclamation mark? NonText highlighting.
- Show 'endoffile' when it would be used for writing ('fileformat' "dos") with
"CTRL-Z", NonText highlighting.
- Add 'fillchars' items to change this, default behavior like:
noeol:¡
eof:CTRL-Z
Test property disappears when using CR twice in a row. OK when some text was Test property disappears when using CR twice in a row. OK when some text was
entered. (#11151) entered. (#11151)
Add 'keywordprg' to various ftplugin files:
https://github.com/vim/vim/pull/5566
Add some kind of ":whathappend" command and functions to make visible what the
last few typed keys and executed commands are. To be used when the user
wonders what went wrong.
- typed keys - Normal mode command - like what is recorded in a register and
displayed by 'showcmd'.
- executed command lines
- with more verbosity: what scripts/functions/autocommands were executed
NFA regexp does not handle composing characters well: #10286 NFA regexp does not handle composing characters well: #10286
[ɔ̃] matches both ɔ and ɔ̃ [ɔ̃] matches both ɔ and ɔ̃
\(ɔ\|ɔ̃\) matches ɔ and not ɔ̃ \(ɔ\|ɔ̃\) matches ɔ and not ɔ̃
@ -201,14 +277,6 @@ How to get all the text quickly (also over ssh)? Can we use a side channel?
Horizontal mouse scroll only works when compiled with GUI? #11374 Horizontal mouse scroll only works when compiled with GUI? #11374
In the libvterm fork properly implement:
- modifyOtherKeys 2 - follow xterm implementation as close as possible, that
is the reference.
- Kitty key protocol - just like the latest Kitty
So that in TermDebug the key handling can be stepped through (instead of
having to log messages all over the place to see what happens).
Ask Leonerd about location of code, he might want to take over some of it.
Using "A" and "o" in manually created fold (in empty buffer) does not behave Using "A" and "o" in manually created fold (in empty buffer) does not behave
consistenly (James McCoy, #10698) consistenly (James McCoy, #10698)
@ -218,6 +286,8 @@ overwritten. Could use ":echowin" and call redraw_cmd() in get_user_input().
Syntax include problem: #11277. Related to Patch 8.2.2761 Syntax include problem: #11277. Related to Patch 8.2.2761
Add str2blob() and blob2str() ? #4049
To avoid flicker: add an option that when a screen clear is requested, instead To avoid flicker: add an option that when a screen clear is requested, instead
of clearing it draws everything and uses "clear to end of line" for every line. of clearing it draws everything and uses "clear to end of line" for every line.
Resetting 't_ut' already causes this? Resetting 't_ut' already causes this?
@ -281,9 +351,6 @@ Also, z= in German on a long word can take a very long time, but CTRL-C to
interrupt does not work. Where to add ui_breakcheck()? interrupt does not work. Where to add ui_breakcheck()?
New English spell files also have very slow suggestions. New English spell files also have very slow suggestions.
French spell files don't work correctly. #4916
Make Vim understand the format somehow?
When 'spelloptions' is "camel" then zG doesn't work on some words. When 'spelloptions' is "camel" then zG doesn't work on some words.
(Gary Johnson, 17 Oct 2022) (Gary Johnson, 17 Oct 2022)

View File

@ -1,4 +1,4 @@
*userfunc.txt* For Vim version 9.0. Last change: 2022 Sep 09 *userfunc.txt* For Vim version 9.0. Last change: 2022 Nov 17
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -8,8 +8,8 @@ Defining and using functions.
This is introduced in section |41.7| of the user manual. This is introduced in section |41.7| of the user manual.
1. Defining a fuction |define-function| 1. Defining a function |define-function|
2. Calling a fuction |:call| 2. Calling a function |:call|
3. Cleaning up in a function |:defer| 3. Cleaning up in a function |:defer|
4. Automatically loading functions |autoload-functions| 4. Automatically loading functions |autoload-functions|

View File

@ -1,4 +1,4 @@
*usr_41.txt* For Vim version 9.0. Last change: 2022 Oct 07 *usr_41.txt* For Vim version 9.0. Last change: 2022 Nov 14
VIM USER MANUAL - by Bram Moolenaar VIM USER MANUAL - by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*vim9.txt* For Vim version 9.0. Last change: 2022 Oct 11 *vim9.txt* For Vim version 9.0. Last change: 2022 Nov 14
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -1950,13 +1950,22 @@ For now we'll just make sure classes can be added later.
Thoughts: Thoughts:
- `class` / `endclass`, the whole class must be in one file - `class` / `endclass`, the whole class must be in one file
- Class names are always CamelCase (to avoid a name clash with builtin types) - Class names are always CamelCase (to avoid a name clash with builtin types)
- A single constructor called "constructor" - A single constructor called "constructor" (similar to TypeScript)
- Single inheritance with `class ThisClass extends BaseClass` - Single inheritance: `class ThisClass extends BaseClass`
- `abstract class` (class with incomplete implementation) - `interface` / `endinterface` (looks like a class without any implementation)
- `interface` / `endinterface` (abstract class without any implementation) - Explicit declaration that the class supports an interface, so that type
- `class SomeClass implements SomeInterface` checking works properly:
`class SomeClass implements SomeInterface, OtherInterface`
- `abstract class` (class with incomplete implementation) - not really needed?
- Class (static) methods and Object methods: syntax to be defined.
- Class (static) members and Object members: syntax to be defined.
- Access control: private / protected / shared / public ? Keep it simple.
- Access object members with `this.member` ?
- Generics for class: `class <Tkey, Tentry>` - Generics for class: `class <Tkey, Tentry>`
- Generics for function: `def <Tkey> GetLast(key: Tkey)` - Generics for function: `def <Tkey> GetLast(key: Tkey)`
- Method overloading (two methods with the same name but different argument
types): Most likely not
- Mixins: not sure if that is useful, leave out for simplicity.
Again, much of this is from TypeScript with a slightly different syntax. Again, much of this is from TypeScript with a slightly different syntax.

View File

@ -1,7 +1,7 @@
" Vim support file to detect file types " Vim support file to detect file types
" "
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2022 Nov 07 " Last Change: 2022 Nov 17
" Listen very carefully, I will say this only once " Listen very carefully, I will say this only once
if exists("did_load_filetypes") if exists("did_load_filetypes")

View File

@ -4,7 +4,7 @@
" Previous Maintainer: Max Ischenko <mfi@ukr.net> " Previous Maintainer: Max Ischenko <mfi@ukr.net>
" Contributor: Dorai Sitaram <ds26@gte.com> " Contributor: Dorai Sitaram <ds26@gte.com>
" C.D. MacEachern <craig.daniel.maceachern@gmail.com> " C.D. MacEachern <craig.daniel.maceachern@gmail.com>
" Last Change: 2022 Oct 15 " Last Change: 2022 Nov 16
if exists("b:did_ftplugin") if exists("b:did_ftplugin")
finish finish
@ -21,7 +21,7 @@ setlocal formatoptions-=t formatoptions+=croql
let &l:define = '\<function\|\<local\%(\s\+function\)\=' let &l:define = '\<function\|\<local\%(\s\+function\)\='
" TODO: handle init.lua " TODO: handle init.lua
setlocal includeexpr=substitute(v:fname,'\\.','/','g') setlocal includeexpr=substitute(v:fname,'\.','/','g')
setlocal suffixesadd=.lua setlocal suffixesadd=.lua
let b:undo_ftplugin = "setlocal cms< com< def< fo< inex< sua<" let b:undo_ftplugin = "setlocal cms< com< def< fo< inex< sua<"

View File

@ -1,6 +1,6 @@
" Menu Translations: Danish " Menu Translations: Danish
" Maintainer: scootergrisen " Maintainer: scootergrisen
" Last Change: 2020 Apr 23 " Last Change: 2022 Nov 17
" Original translations " Original translations
" Quit when menu translations have already been done. " Quit when menu translations have already been done.
@ -44,7 +44,7 @@ menut &Save<Tab>:w Gem<Tab>:w
menut Save\ &As\.\.\.<Tab>:sav Gem\ som\.\.\.<Tab>:sav menut Save\ &As\.\.\.<Tab>:sav Gem\ som\.\.\.<Tab>:sav
" -SEP2- " -SEP2-
menut Split\ &Diff\ with\.\.\. Opdel\ diff\ med\.\.\. menut Split\ &Diff\ with\.\.\. Opdel\ diff\ med\.\.\.
menut Split\ Patched\ &By\.\.\. Opdel\ patchet\ af\.\.\. menut Split\ Patched\ &By\.\.\. Opdel\ patched\ af\.\.\.
" -SEP3- " -SEP3-
menut &Print Udskriv menut &Print Udskriv
" -SEP4- " -SEP4-

View File

@ -2,7 +2,7 @@
" "
" Author: Bram Moolenaar " Author: Bram Moolenaar
" Copyright: Vim license applies, see ":help license" " Copyright: Vim license applies, see ":help license"
" Last Change: 2022 Jun 24 " Last Change: 2022 Nov 10
" "
" WORK IN PROGRESS - The basics works stable, more to come " WORK IN PROGRESS - The basics works stable, more to come
" Note: In general you need at least GDB 7.12 because this provides the " Note: In general you need at least GDB 7.12 because this provides the
@ -891,7 +891,14 @@ func s:InstallCommands()
endif endif
if has('menu') && &mouse != '' if has('menu') && &mouse != ''
call s:InstallWinbar() " install the window toolbar by default, can be disabled in the config
let winbar = 1
if exists('g:termdebug_config')
let winbar = get(g:termdebug_config, 'winbar', 1)
endif
if winbar
call s:InstallWinbar()
endif
let popup = 1 let popup = 1
if exists('g:termdebug_config') if exists('g:termdebug_config')

View File

@ -5,7 +5,7 @@
" go.vim: Vim syntax file for Go. " go.vim: Vim syntax file for Go.
" Language: Go " Language: Go
" Maintainer: Billie Cleek <bhcleek@gmail.com> " Maintainer: Billie Cleek <bhcleek@gmail.com>
" Latest Revision: 2021-09-18 " Latest Revision: 2022-11-17
" License: BSD-style. See LICENSE file in source repository. " License: BSD-style. See LICENSE file in source repository.
" Repository: https://github.com/fatih/vim-go " Repository: https://github.com/fatih/vim-go
@ -117,7 +117,7 @@ hi def link goLabel Label
hi def link goRepeat Repeat hi def link goRepeat Repeat
" Predefined types " Predefined types
syn keyword goType chan map bool string error syn keyword goType chan map bool string error any comparable
syn keyword goSignedInts int int8 int16 int32 int64 rune syn keyword goSignedInts int int8 int16 int32 int64 rune
syn keyword goUnsignedInts byte uint uint8 uint16 uint32 uint64 uintptr syn keyword goUnsignedInts byte uint uint8 uint16 uint32 uint64 uintptr
syn keyword goFloats float32 float64 syn keyword goFloats float32 float64
@ -187,6 +187,8 @@ else
syn region goRawString start=+`+ end=+`+ syn region goRawString start=+`+ end=+`+
endif endif
syn match goImportString /^\%(\s\+\|import \)\(\h\w* \)\?\zs"[^"]\+"$/ contained containedin=goImport
if s:HighlightFormatStrings() if s:HighlightFormatStrings()
" [n] notation is valid for specifying explicit argument indexes " [n] notation is valid for specifying explicit argument indexes
" 1. Match a literal % not preceded by a %. " 1. Match a literal % not preceded by a %.
@ -204,6 +206,7 @@ if s:HighlightFormatStrings()
hi def link goFormatSpecifier goSpecialString hi def link goFormatSpecifier goSpecialString
endif endif
hi def link goImportString String
hi def link goString String hi def link goString String
hi def link goRawString String hi def link goRawString String
@ -223,9 +226,9 @@ endif
" import " import
if s:FoldEnable('import') if s:FoldEnable('import')
syn region goImport start='import (' end=')' transparent fold contains=goImport,goString,goComment syn region goImport start='import (' end=')' transparent fold contains=goImport,goImportString,goComment
else else
syn region goImport start='import (' end=')' transparent contains=goImport,goString,goComment syn region goImport start='import (' end=')' transparent contains=goImport,goImportString,goComment
endif endif
" var, const " var, const
@ -245,14 +248,10 @@ endif
syn match goSingleDecl /\%(import\|var\|const\) [^(]\@=/ contains=goImport,goVar,goConst syn match goSingleDecl /\%(import\|var\|const\) [^(]\@=/ contains=goImport,goVar,goConst
" Integers " Integers
syn match goDecimalInt "\<-\=\(0\|[1-9]_\?\(\d\|\d\+_\?\d\+\)*\)\%([Ee][-+]\=\d\+\)\=\>" syn match goDecimalInt "\<-\=\%(0\|\%(\d\|\d_\d\)\+\)\>"
syn match goDecimalError "\<-\=\(_\(\d\+_*\)\+\|\([1-9]\d*_*\)\+__\(\d\+_*\)\+\|\([1-9]\d*_*\)\+_\+\)\%([Ee][-+]\=\d\+\)\=\>" syn match goHexadecimalInt "\<-\=0[xX]_\?\%(\x\|\x_\x\)\+\>"
syn match goHexadecimalInt "\<-\=0[xX]_\?\(\x\+_\?\)\+\>" syn match goOctalInt "\<-\=0[oO]\?_\?\%(\o\|\o_\o\)\+\>"
syn match goHexadecimalError "\<-\=0[xX]_\?\(\x\+_\?\)*\(\([^ \t0-9A-Fa-f_)]\|__\)\S*\|_\)\>" syn match goBinaryInt "\<-\=0[bB]_\?\%([01]\|[01]_[01]\)\+\>"
syn match goOctalInt "\<-\=0[oO]\?_\?\(\o\+_\?\)\+\>"
syn match goOctalError "\<-\=0[0-7oO_]*\(\([^ \t0-7oOxX_/)\]\}\:;]\|[oO]\{2,\}\|__\)\S*\|_\|[oOxX]\)\>"
syn match goBinaryInt "\<-\=0[bB]_\?\([01]\+_\?\)\+\>"
syn match goBinaryError "\<-\=0[bB]_\?[01_]*\([^ \t01_)]\S*\|__\S*\|_\)\>"
hi def link goDecimalInt Integer hi def link goDecimalInt Integer
hi def link goDecimalError Error hi def link goDecimalError Error
@ -265,19 +264,55 @@ hi def link goBinaryError Error
hi def link Integer Number hi def link Integer Number
" Floating point " Floating point
syn match goFloat "\<-\=\d\+\.\d*\%([Ee][-+]\=\d\+\)\=\>" "float_lit = decimal_float_lit | hex_float_lit .
syn match goFloat "\<-\=\.\d\+\%([Ee][-+]\=\d\+\)\=\>" "
"decimal_float_lit = decimal_digits "." [ decimal_digits ] [ decimal_exponent ] |
" decimal_digits decimal_exponent |
" "." decimal_digits [ decimal_exponent ] .
"decimal_exponent = ( "e" | "E" ) [ "+" | "-" ] decimal_digits .
"
"hex_float_lit = "0" ( "x" | "X" ) hex_mantissa hex_exponent .
"hex_mantissa = [ "_" ] hex_digits "." [ hex_digits ] |
" [ "_" ] hex_digits |
" "." hex_digits .
"hex_exponent = ( "p" | "P" ) [ "+" | "-" ] decimal_digits .
" decimal floats with a decimal point
syn match goFloat "\<-\=\%(0\|\%(\d\|\d_\d\)\+\)\.\%(\%(\%(\d\|\d_\d\)\+\)\=\%([Ee][-+]\=\%(\d\|\d_\d\)\+\)\=\>\)\="
syn match goFloat "\s\zs-\=\.\%(\d\|\d_\d\)\+\%(\%([Ee][-+]\=\%(\d\|\d_\d\)\+\)\>\)\="
" decimal floats without a decimal point
syn match goFloat "\<-\=\%(0\|\%(\d\|\d_\d\)\+\)[Ee][-+]\=\%(\d\|\d_\d\)\+\>"
" hexadecimal floats with a decimal point
syn match goHexadecimalFloat "\<-\=0[xX]\%(_\x\|\x\)\+\.\%(\%(\x\|\x_\x\)\+\)\=\%([Pp][-+]\=\%(\d\|\d_\d\)\+\)\=\>"
syn match goHexadecimalFloat "\<-\=0[xX]\.\%(\x\|\x_\x\)\+\%([Pp][-+]\=\%(\d\|\d_\d\)\+\)\=\>"
" hexadecimal floats without a decimal point
syn match goHexadecimalFloat "\<-\=0[xX]\%(_\x\|\x\)\+[Pp][-+]\=\%(\d\|\d_\d\)\+\>"
hi def link goFloat Float hi def link goFloat Float
hi def link goHexadecimalFloat Float
" Imaginary literals " Imaginary literals
syn match goImaginary "\<-\=\d\+i\>" syn match goImaginaryDecimal "\<-\=\%(0\|\%(\d\|\d_\d\)\+\)i\>"
syn match goImaginary "\<-\=\d\+[Ee][-+]\=\d\+i\>" syn match goImaginaryHexadecimal "\<-\=0[xX]_\?\%(\x\|\x_\x\)\+i\>"
syn match goImaginaryFloat "\<-\=\d\+\.\d*\%([Ee][-+]\=\d\+\)\=i\>" syn match goImaginaryOctal "\<-\=0[oO]\?_\?\%(\o\|\o_\o\)\+i\>"
syn match goImaginaryFloat "\<-\=\.\d\+\%([Ee][-+]\=\d\+\)\=i\>" syn match goImaginaryBinary "\<-\=0[bB]_\?\%([01]\|[01]_[01]\)\+i\>"
hi def link goImaginary Number " imaginary decimal floats with a decimal point
hi def link goImaginaryFloat Float syn match goImaginaryFloat "\<-\=\%(0\|\%(\d\|\d_\d\)\+\)\.\%(\%(\%(\d\|\d_\d\)\+\)\=\%([Ee][-+]\=\%(\d\|\d_\d\)\+\)\=\)\=i\>"
syn match goImaginaryFloat "\s\zs-\=\.\%(\d\|\d_\d\)\+\%([Ee][-+]\=\%(\d\|\d_\d\)\+\)\=i\>"
" imaginary decimal floats without a decimal point
syn match goImaginaryFloat "\<-\=\%(0\|\%(\d\|\d_\d\)\+\)[Ee][-+]\=\%(\d\|\d_\d\)\+i\>"
" imaginary hexadecimal floats with a decimal point
syn match goImaginaryHexadecimalFloat "\<-\=0[xX]\%(_\x\|\x\)\+\.\%(\%(\x\|\x_\x\)\+\)\=\%([Pp][-+]\=\%(\d\|\d_\d\)\+\)\=i\>"
syn match goImaginaryHexadecimalFloat "\<-\=0[xX]\.\%(\x\|\x_\x\)\+\%([Pp][-+]\=\%(\d\|\d_\d\)\+\)\=i\>"
" imaginary hexadecimal floats without a decimal point
syn match goImaginaryHexadecimalFloat "\<-\=0[xX]\%(_\x\|\x\)\+[Pp][-+]\=\%(\d\|\d_\d\)\+i\>"
hi def link goImaginaryDecimal Number
hi def link goImaginaryHexadecimal Number
hi def link goImaginaryOctal Number
hi def link goImaginaryBinary Number
hi def link goImaginaryFloat Float
hi def link goImaginaryHexadecimalFloat Float
" Spaces after "[]" " Spaces after "[]"
if s:HighlightArrayWhitespaceError() if s:HighlightArrayWhitespaceError()
@ -346,6 +381,8 @@ if s:HighlightOperators()
syn match goOperator /\%(<<\|>>\|&^\)=\?/ syn match goOperator /\%(<<\|>>\|&^\)=\?/
" match remaining two-char operators: := && || <- ++ -- " match remaining two-char operators: := && || <- ++ --
syn match goOperator /:=\|||\|<-\|++\|--/ syn match goOperator /:=\|||\|<-\|++\|--/
" match ~
syn match goOperator /\~/
" match ... " match ...
hi def link goPointerOperator goOperator hi def link goPointerOperator goOperator
@ -353,13 +390,37 @@ if s:HighlightOperators()
endif endif
hi def link goOperator Operator hi def link goOperator Operator
" -> type constraint opening bracket
" |-> start non-counting group
" || -> any word character
" || | -> at least one, as many as possible
" || | | -> start non-counting group
" || | | | -> match ~
" || | | | | -> at most once
" || | | | | | -> allow a slice type
" || | | | | | | -> any word character
" || | | | | | | | -> start a non-counting group
" || | | | | | | | | -> that matches word characters and |
" || | | | | | | | | | -> close the non-counting group
" || | | | | | | | | | | -> close the non-counting group
" || | | | | | | | | | | |-> any number of matches
" || | | | | | | | | | | || -> start a non-counting group
" || | | | | | | | | | | || | -> a comma and whitespace
" || | | | | | | | | | | || | | -> at most once
" || | | | | | | | | | | || | | | -> close the non-counting group
" || | | | | | | | | | | || | | | | -> at least one of those non-counting groups, as many as possible
" || | | | | | -------- | | | | || | | | | | -> type constraint closing bracket
" || | | | | || | | | | | || | | | | | |
syn match goTypeParams /\[\%(\w\+\s\+\%(\~\?\%(\[]\)\?\w\%(\w\||\)\)*\%(,\s*\)\?\)\+\]/ nextgroup=goSimpleParams,goDeclType contained
" Functions; " Functions;
if s:HighlightFunctions() || s:HighlightFunctionParameters() if s:HighlightFunctions() || s:HighlightFunctionParameters()
syn match goDeclaration /\<func\>/ nextgroup=goReceiver,goFunction,goSimpleParams skipwhite skipnl syn match goDeclaration /\<func\>/ nextgroup=goReceiver,goFunction,goSimpleParams skipwhite skipnl
syn match goReceiverDecl /(\s*\zs\%(\%(\w\+\s\+\)\?\*\?\w\+\%(\[\%(\%(\[\]\)\?\w\+\%(,\s*\)\?\)\+\]\)\?\)\ze\s*)/ contained contains=goReceiverVar,goReceiverType,goPointerOperator
syn match goReceiverVar /\w\+\ze\s\+\%(\w\|\*\)/ nextgroup=goPointerOperator,goReceiverType skipwhite skipnl contained syn match goReceiverVar /\w\+\ze\s\+\%(\w\|\*\)/ nextgroup=goPointerOperator,goReceiverType skipwhite skipnl contained
syn match goPointerOperator /\*/ nextgroup=goReceiverType contained skipwhite skipnl syn match goPointerOperator /\*/ nextgroup=goReceiverType contained skipwhite skipnl
syn match goFunction /\w\+/ nextgroup=goSimpleParams contained skipwhite skipnl syn match goFunction /\w\+/ nextgroup=goSimpleParams,goTypeParams contained skipwhite skipnl
syn match goReceiverType /\w\+/ contained syn match goReceiverType /\w\+\%(\[\%(\%(\[\]\)\?\w\+\%(,\s*\)\?\)\+\]\)\?\ze\s*)/ contained
if s:HighlightFunctionParameters() if s:HighlightFunctionParameters()
syn match goSimpleParams /(\%(\w\|\_s\|[*\.\[\],\{\}<>-]\)*)/ contained contains=goParamName,goType nextgroup=goFunctionReturn skipwhite skipnl syn match goSimpleParams /(\%(\w\|\_s\|[*\.\[\],\{\}<>-]\)*)/ contained contains=goParamName,goType nextgroup=goFunctionReturn skipwhite skipnl
syn match goFunctionReturn /(\%(\w\|\_s\|[*\.\[\],\{\}<>-]\)*)/ contained contains=goParamName,goType skipwhite skipnl syn match goFunctionReturn /(\%(\w\|\_s\|[*\.\[\],\{\}<>-]\)*)/ contained contains=goParamName,goType skipwhite skipnl
@ -369,7 +430,7 @@ if s:HighlightFunctions() || s:HighlightFunctionParameters()
hi def link goReceiverVar goParamName hi def link goReceiverVar goParamName
hi def link goParamName Identifier hi def link goParamName Identifier
endif endif
syn match goReceiver /(\s*\w\+\%(\s\+\*\?\s*\w\+\)\?\s*)\ze\s*\w/ contained nextgroup=goFunction contains=goReceiverVar skipwhite skipnl syn match goReceiver /(\s*\%(\w\+\s\+\)\?\*\?\s*\w\+\%(\[\%(\%(\[\]\)\?\w\+\%(,\s*\)\?\)\+\]\)\?\s*)\ze\s*\w/ contained nextgroup=goFunction contains=goReceiverDecl skipwhite skipnl
else else
syn keyword goDeclaration func syn keyword goDeclaration func
endif endif
@ -377,7 +438,7 @@ hi def link goFunction Function
" Function calls; " Function calls;
if s:HighlightFunctionCalls() if s:HighlightFunctionCalls()
syn match goFunctionCall /\w\+\ze(/ contains=goBuiltins,goDeclaration syn match goFunctionCall /\w\+\ze\%(\[\%(\%(\[]\)\?\w\+\(,\s*\)\?\)\+\]\)\?(/ contains=goBuiltins,goDeclaration
endif endif
hi def link goFunctionCall Type hi def link goFunctionCall Type
@ -404,7 +465,7 @@ hi def link goField Identifier
if s:HighlightTypes() if s:HighlightTypes()
syn match goTypeConstructor /\<\w\+{\@=/ syn match goTypeConstructor /\<\w\+{\@=/
syn match goTypeDecl /\<type\>/ nextgroup=goTypeName skipwhite skipnl syn match goTypeDecl /\<type\>/ nextgroup=goTypeName skipwhite skipnl
syn match goTypeName /\w\+/ contained nextgroup=goDeclType skipwhite skipnl syn match goTypeName /\w\+/ contained nextgroup=goDeclType,goTypeParams skipwhite skipnl
syn match goDeclType /\<\%(interface\|struct\)\>/ skipwhite skipnl syn match goDeclType /\<\%(interface\|struct\)\>/ skipwhite skipnl
hi def link goReceiverType Type hi def link goReceiverType Type
else else
@ -444,7 +505,7 @@ if s:HighlightBuildConstraints()
" The rs=s+2 option lets the \s*+build portion be part of the inner region " The rs=s+2 option lets the \s*+build portion be part of the inner region
" instead of the matchgroup so it will be highlighted as a goBuildKeyword. " instead of the matchgroup so it will be highlighted as a goBuildKeyword.
syn region goBuildComment matchgroup=goBuildCommentStart syn region goBuildComment matchgroup=goBuildCommentStart
\ start="//\s*+build\s"rs=s+2 end="$" \ start="//\(\s*+build\s\|go:build\)"rs=s+2 end="$"
\ contains=goBuildKeyword,goBuildDirectives \ contains=goBuildKeyword,goBuildDirectives
hi def link goBuildCommentStart Comment hi def link goBuildCommentStart Comment
hi def link goBuildDirectives Type hi def link goBuildDirectives Type

View File

@ -1,7 +1,7 @@
" Vim syntax file " Vim syntax file
" Language: Vim help file " Language: Vim help file
" Maintainer: Bram Moolenaar (Bram@vim.org) " Maintainer: Bram Moolenaar (Bram@vim.org)
" Last Change: 2022 Nov 09 " Last Change: 2022 Nov 13
" Quit when a (custom) syntax file was already loaded " Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax") if exists("b:current_syntax")
@ -11,7 +11,7 @@ endif
let s:cpo_save = &cpo let s:cpo_save = &cpo
set cpo&vim set cpo&vim
syn match helpHeadline "^[A-Z.][-A-Z0-9 .,()_]*?\=\ze\(\s\+\*\|$\)" syn match helpHeadline "^[A-Z.][-A-Z0-9 .,()_']*?\=\ze\(\s\+\*\|$\)"
syn match helpSectionDelim "^===.*===$" syn match helpSectionDelim "^===.*===$"
syn match helpSectionDelim "^---.*--$" syn match helpSectionDelim "^---.*--$"
if has("conceal") if has("conceal")

View File

@ -3,7 +3,7 @@
" Maintainer: Doug Kearns <dougkearns@gmail.com> " Maintainer: Doug Kearns <dougkearns@gmail.com>
" Previous Maintainers: Jorge Maldonado Ventura <jorgesumle@freakspot.net> " Previous Maintainers: Jorge Maldonado Ventura <jorgesumle@freakspot.net>
" Claudio Fleiner <claudio@fleiner.com> " Claudio Fleiner <claudio@fleiner.com>
" Last Change: 2022 Jul 20 " Last Change: 2022 Nov 18
" Please check :help html.vim for some comments and a description of the options " Please check :help html.vim for some comments and a description of the options
@ -272,6 +272,16 @@ if main_syntax == "html"
syn sync minlines=10 syn sync minlines=10
endif endif
" Folding
" Originally by Ingo Karkat and Marcus Zanona
if get(g:, "html_syntax_folding", 0)
syn region htmlFold start="<\z(\<\%(area\|base\|br\|col\|command\|embed\|hr\|img\|input\|keygen\|link\|meta\|param\|source\|track\|wbr\>\)\@![a-z-]\+\>\)\%(\_s*\_[^/]\?>\|\_s\_[^>]*\_[^>/]>\)" end="</\z1\_s*>" fold transparent keepend extend containedin=htmlHead,htmlH\d
" fold comments (the real ones and the old Netscape ones)
if exists("html_wrong_comments")
syn region htmlComment start=+<!--+ end=+--\s*>\%(\n\s*<!--\)\@!+ contains=@Spell fold
endif
endif
" The default highlighting. " The default highlighting.
hi def link htmlTag Function hi def link htmlTag Function
hi def link htmlEndTag Identifier hi def link htmlEndTag Identifier

View File

@ -3,7 +3,7 @@
" Maintainer: Ken Takata " Maintainer: Ken Takata
" URL: https://github.com/k-takata/vim-nsis " URL: https://github.com/k-takata/vim-nsis
" Previous Maintainer: Alex Jakushev <Alex.Jakushev@kemek.lt> " Previous Maintainer: Alex Jakushev <Alex.Jakushev@kemek.lt>
" Last Change: 2020-10-18 " Last Change: 2022-11-05
" quit when a syntax file was already loaded " quit when a syntax file was already loaded
if exists("b:current_syntax") if exists("b:current_syntax")
@ -394,9 +394,13 @@ syn keyword nsisInstruction contained CreateShortcut nextgroup=nsisCreateShortcu
syn region nsisCreateShortcutOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisCreateShortcutKwd syn region nsisCreateShortcutOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisCreateShortcutKwd
syn match nsisCreateShortcutKwd contained "/NoWorkingDir\>" syn match nsisCreateShortcutKwd contained "/NoWorkingDir\>"
syn keyword nsisInstruction contained GetWinVer nextgroup=nsisGetWinVerOpt skipwhite
syn region nsisGetWinVerOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisGetWinVerKwd
syn keyword nsisGetWinVerKwd contained Major Minor Build ServicePack
syn keyword nsisInstruction contained GetDLLVersion GetDLLVersionLocal nextgroup=nsisGetDLLVersionOpt skipwhite syn keyword nsisInstruction contained GetDLLVersion GetDLLVersionLocal nextgroup=nsisGetDLLVersionOpt skipwhite
syn region nsisGetDLLVersionOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisGetDLLVersionKwd syn region nsisGetDLLVersionOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisGetDLLVersionKwd
syn match nsisGetDLLVersionKwd contained "/ProductVersion\>" syn match nsisGetDLLVersionKwd contained "/ProductVersion\>"
syn keyword nsisInstruction contained GetFullPathName nextgroup=nsisGetFullPathNameOpt skipwhite syn keyword nsisInstruction contained GetFullPathName nextgroup=nsisGetFullPathNameOpt skipwhite
syn region nsisGetFullPathNameOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisGetFullPathNameKwd syn region nsisGetFullPathNameOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisGetFullPathNameKwd
@ -562,10 +566,19 @@ syn match nsisSystem contained "!execute\>"
syn match nsisSystem contained "!makensis\>" syn match nsisSystem contained "!makensis\>"
syn match nsisSystem contained "!packhdr\>" syn match nsisSystem contained "!packhdr\>"
syn match nsisSystem contained "!finalize\>" syn match nsisSystem contained "!finalize\>"
syn match nsisSystem contained "!uninstfinalize\>"
syn match nsisSystem contained "!system\>" syn match nsisSystem contained "!system\>"
syn match nsisSystem contained "!tempfile\>" syn match nsisSystem contained "!tempfile\>"
syn match nsisSystem contained "!getdllversion\>"
syn match nsisSystem contained "!gettlbversion\>" " Add 'P' to avoid conflicts with nsisGetDLLVersionOpt. ('P' for preprocessor.)
syn match nsisSystem contained "!getdllversion\>" nextgroup=nsisPGetdllversionOpt skipwhite
syn region nsisPGetdllversionOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisPGetdllversionKwd
syn match nsisPGetdllversionKwd contained "/\%(noerrors\|packed\|productversion\)\>"
syn match nsisSystem contained "!gettlbversion\>" nextgroup=nsisPGettlbversionOpt skipwhite
syn region nsisPGettlbversionOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisPGettlbversionKwd
syn match nsisPGettlbversionKwd contained "/\%(noerrors\|packed\)\>"
syn match nsisSystem contained "!warning\>" syn match nsisSystem contained "!warning\>"
syn match nsisSystem contained "!pragma\>" nextgroup=nsisPragmaOpt skipwhite syn match nsisSystem contained "!pragma\>" nextgroup=nsisPragmaOpt skipwhite
@ -581,7 +594,10 @@ syn match nsisDefine contained "!define\>" nextgroup=nsisDefineOpt skipwhite
syn region nsisDefineOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisDefineKwd syn region nsisDefineOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisDefineKwd
syn match nsisDefineKwd contained "/\%(ifndef\|redef\|date\|utcdate\|file\|intfmt\|math\)\>" syn match nsisDefineKwd contained "/\%(ifndef\|redef\|date\|utcdate\|file\|intfmt\|math\)\>"
syn match nsisDefine contained "!undef\>" syn match nsisDefine contained "!undef\>" nextgroup=nsisUndefineOpt skipwhite
syn region nsisUndefineOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisUndefineKwd
syn match nsisUndefineKwd contained "/noerrors\>"
syn match nsisPreCondit contained "!ifdef\>" syn match nsisPreCondit contained "!ifdef\>"
syn match nsisPreCondit contained "!ifndef\>" syn match nsisPreCondit contained "!ifndef\>"
@ -659,6 +675,7 @@ hi def link nsisWriteRegMultiStrKwd Constant
hi def link nsisSetRegViewKwd Constant hi def link nsisSetRegViewKwd Constant
hi def link nsisCopyFilesKwd Constant hi def link nsisCopyFilesKwd Constant
hi def link nsisCreateShortcutKwd Constant hi def link nsisCreateShortcutKwd Constant
hi def link nsisGetWinVerKwd Constant
hi def link nsisGetDLLVersionKwd Constant hi def link nsisGetDLLVersionKwd Constant
hi def link nsisGetFullPathNameKwd Constant hi def link nsisGetFullPathNameKwd Constant
hi def link nsisFileAttrib Constant hi def link nsisFileAttrib Constant
@ -696,9 +713,12 @@ hi def link nsisIncludeKwd Constant
hi def link nsisAddplugindirKwd Constant hi def link nsisAddplugindirKwd Constant
hi def link nsisAppendfileKwd Constant hi def link nsisAppendfileKwd Constant
hi def link nsisDelfileKwd Constant hi def link nsisDelfileKwd Constant
hi def link nsisPGetdllversionKwd Constant
hi def link nsisPGettlbversionKwd Constant
hi def link nsisPragmaKwd Constant hi def link nsisPragmaKwd Constant
hi def link nsisVerboseKwd Constant hi def link nsisVerboseKwd Constant
hi def link nsisDefineKwd Constant hi def link nsisDefineKwd Constant
hi def link nsisUndefineKwd Constant
hi def link nsisIfKwd Constant hi def link nsisIfKwd Constant
hi def link nsisSearchparseKwd Constant hi def link nsisSearchparseKwd Constant
hi def link nsisSearchreplaceKwd Constant hi def link nsisSearchreplaceKwd Constant

View File

@ -53,7 +53,7 @@ syn match ptcapNumberError "#0x\x*[^[:xdigit:]:\\]"lc=1 contained
" The `=' operator assigns a string to the preceding flag " The `=' operator assigns a string to the preceding flag
syn match ptcapOperator "[@#=]" contained syn match ptcapOperator "[@#=]" contained
" Some terminal capabilites have special names like `#5' and `@1', and we " Some terminal capabilities have special names like `#5' and `@1', and we
" need special rules to match these properly " need special rules to match these properly
syn match ptcapSpecialCap "\W[#@]\d" contains=ptcapDelimiter contained syn match ptcapSpecialCap "\W[#@]\d" contains=ptcapDelimiter contained

View File

@ -6,7 +6,7 @@
" Contributor: Leonard Ehrenfried <leonard.ehrenfried@web.de> " Contributor: Leonard Ehrenfried <leonard.ehrenfried@web.de>
" Contributor: Karsten Hopp <karsten@redhat.com> " Contributor: Karsten Hopp <karsten@redhat.com>
" Contributor: Dean, Adam Kenneth <adam.ken.dean@hpe.com> " Contributor: Dean, Adam Kenneth <adam.ken.dean@hpe.com>
" Last Change: 2022 Nov 09 " Last Change: 2022 Nov 10
" Added RemoteCommand from pull request #4809 " Added RemoteCommand from pull request #4809
" Included additional keywords from Martin. " Included additional keywords from Martin.
" Included PR #5753 " Included PR #5753
@ -171,6 +171,7 @@ syn keyword sshconfigKeyword EnableSSHKeysign
syn keyword sshconfigKeyword EscapeChar syn keyword sshconfigKeyword EscapeChar
syn keyword sshconfigKeyword ExitOnForwardFailure syn keyword sshconfigKeyword ExitOnForwardFailure
syn keyword sshconfigKeyword FingerprintHash syn keyword sshconfigKeyword FingerprintHash
syn keyword sshconfigKeyword ForkAfterAuthentication
syn keyword sshconfigKeyword ForwardAgent syn keyword sshconfigKeyword ForwardAgent
syn keyword sshconfigKeyword ForwardX11 syn keyword sshconfigKeyword ForwardX11
syn keyword sshconfigKeyword ForwardX11Timeout syn keyword sshconfigKeyword ForwardX11Timeout
@ -221,13 +222,16 @@ syn keyword sshconfigKeyword RekeyLimit
syn keyword sshconfigKeyword RemoteCommand syn keyword sshconfigKeyword RemoteCommand
syn keyword sshconfigKeyword RemoteForward syn keyword sshconfigKeyword RemoteForward
syn keyword sshconfigKeyword RequestTTY syn keyword sshconfigKeyword RequestTTY
syn keyword sshconfigKeyword RequiredRSASize
syn keyword sshconfigKeyword RevokedHostKeys syn keyword sshconfigKeyword RevokedHostKeys
syn keyword sshconfigKeyword SecurityKeyProvider syn keyword sshconfigKeyword SecurityKeyProvider
syn keyword sshconfigKeyword SendEnv syn keyword sshconfigKeyword SendEnv
syn keyword sshconfigKeyword ServerAliveCountMax syn keyword sshconfigKeyword ServerAliveCountMax
syn keyword sshconfigKeyword ServerAliveInterval syn keyword sshconfigKeyword ServerAliveInterval
syn keyword sshconfigKeyword SessionType
syn keyword sshconfigKeyword SmartcardDevice syn keyword sshconfigKeyword SmartcardDevice
syn keyword sshconfigKeyword SetEnv syn keyword sshconfigKeyword SetEnv
syn keyword sshconfigKeyword StdinNull
syn keyword sshconfigKeyword StreamLocalBindMask syn keyword sshconfigKeyword StreamLocalBindMask
syn keyword sshconfigKeyword StreamLocalBindUnlink syn keyword sshconfigKeyword StreamLocalBindUnlink
syn keyword sshconfigKeyword StrictHostKeyChecking syn keyword sshconfigKeyword StrictHostKeyChecking

View File

@ -7,7 +7,7 @@
" Contributor: Leonard Ehrenfried <leonard.ehrenfried@web.de> " Contributor: Leonard Ehrenfried <leonard.ehrenfried@web.de>
" Contributor: Karsten Hopp <karsten@redhat.com> " Contributor: Karsten Hopp <karsten@redhat.com>
" Originally: 2009-07-09 " Originally: 2009-07-09
" Last Change: 2022 Nov 09 " Last Change: 2022 Nov 10
" SSH Version: 8.5p1 " SSH Version: 8.5p1
" "
@ -221,6 +221,7 @@ syn keyword sshdconfigKeyword Match
syn keyword sshdconfigKeyword MaxAuthTries syn keyword sshdconfigKeyword MaxAuthTries
syn keyword sshdconfigKeyword MaxSessions syn keyword sshdconfigKeyword MaxSessions
syn keyword sshdconfigKeyword MaxStartups syn keyword sshdconfigKeyword MaxStartups
syn keyword sshdconfigKeyword ModuliFile
syn keyword sshdconfigKeyword PasswordAuthentication syn keyword sshdconfigKeyword PasswordAuthentication
syn keyword sshdconfigKeyword PerSourceMaxStartups syn keyword sshdconfigKeyword PerSourceMaxStartups
syn keyword sshdconfigKeyword PerSourceNetBlockSize syn keyword sshdconfigKeyword PerSourceNetBlockSize
@ -244,6 +245,7 @@ syn keyword sshdconfigKeyword PubkeyAuthentication
syn keyword sshdconfigKeyword PubkeyAuthOptions syn keyword sshdconfigKeyword PubkeyAuthOptions
syn keyword sshdconfigKeyword RSAAuthentication syn keyword sshdconfigKeyword RSAAuthentication
syn keyword sshdconfigKeyword RekeyLimit syn keyword sshdconfigKeyword RekeyLimit
syn keyword sshdconfigKeyword RequiredRSASize
syn keyword sshdconfigKeyword RevokedKeys syn keyword sshdconfigKeyword RevokedKeys
syn keyword sshdconfigKeyword RDomain syn keyword sshdconfigKeyword RDomain
syn keyword sshdconfigKeyword RhostsRSAAuthentication syn keyword sshdconfigKeyword RhostsRSAAuthentication