diff runtime/doc/todo.txt @ 31139:20cf2080f1ee

Update runtime files Commit: https://github.com/vim/vim/commit/d13166e788fcaef59ec65c20b46ca4be16625669 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Nov 18 21:49:57 2022 +0000 Update runtime files
author Bram Moolenaar <Bram@vim.org>
date Fri, 18 Nov 2022 23:00:05 +0100
parents 5acd6f02ea35
children a7801222c9c5
line wrap: on
line diff
--- 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/
 							*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 ov
 
 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 c
 
 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 ta
 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)