summaryrefslogtreecommitdiffstats
path: root/runtime/doc/todo.txt
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-11-18 21:49:57 +0000
committerBram Moolenaar <Bram@vim.org>2022-11-18 21:49:57 +0000
commitd13166e788fcaef59ec65c20b46ca4be16625669 (patch)
tree4e1b18aac62e1650eaf92cfab756031cd50f4b10 /runtime/doc/todo.txt
parent236dffab43f919bdbc565e6edc38eb27e7a5b657 (diff)
Update runtime files
Diffstat (limited to 'runtime/doc/todo.txt')
-rw-r--r--runtime/doc/todo.txt97
1 files changed, 82 insertions, 15 deletions
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index ff59a20286..8ff194ad15 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -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)