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 @@
*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
@ -38,19 +38,71 @@ browser use: https://github.com/vim/vim/issues/1234
*known-bugs*
-------------------- 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':
- 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.
- 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:
- Use Vim9 for more runtime files.
- implement :type
- 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.
- When evaluating constants for script variables, some functions could work:
has(featureName), len(someString)
@ -180,9 +232,33 @@ Add BufDeletePost. #11041
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
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
[ɔ̃] matches both ɔ and ɔ̃
\(ɔ\|ɔ̃\) 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
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
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
Add str2blob() and blob2str() ? #4049
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.
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()?
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.
(Gary Johnson, 17 Oct 2022)