aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/_meta/api.gen.lua
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2026-09-01 11:17:22 -0400
committerGitHub <noreply@github.com>2026-09-01 15:17:22 +0000
commit9a29622b545fc76c8b44d0e2b90f318a599eef39 (patch)
tree3cad9bf4dafb0b47193c03f3c5561c01ceb276d7 /runtime/lua/vim/_meta/api.gen.lua
parent9ebf9b1017c2b7d63e5bb938dfd46c7be1117f98 (diff)
downloadrneovim-9a29622b545fc76c8b44d0e2b90f318a599eef39.tar.gz
rneovim-9a29622b545fc76c8b44d0e2b90f318a599eef39.tar.bz2
rneovim-9a29622b545fc76c8b44d0e2b90f318a599eef39.zip
feat(multicursor): MC HAMMER #41587
Other (squashed) commits: fix(tui): emit ui_send output atomically with the frame Problem: tui_ui_send() writes directly to the TTY, bypassing the output buffer. Sequences sent via nvim_ui_send() (e.g. kitty multiple-cursors, or visual-dot-repeat) always arrive in a separate TTY write from the frame they were computed for. This manifests as "tearing", or e.g. in the case of multicursor the terminal renders text with stale cursor overlays. Solution: - tui_ui_send(): while a frame is being assembled (pending invalid regions or buffered output), buffer instead of writing directly. - Out-of-frame sends (tty queries, clear-on-disable) still write immediately. - mcursor.lua: emit the terminal-cursor update at the end of the redraw cycle (`on_end`, when screen positions are final) instead of vim.schedule().
Diffstat (limited to 'runtime/lua/vim/_meta/api.gen.lua')
-rw-r--r--runtime/lua/vim/_meta/api.gen.lua13
1 files changed, 13 insertions, 0 deletions
diff --git a/runtime/lua/vim/_meta/api.gen.lua b/runtime/lua/vim/_meta/api.gen.lua
index 2ccc0674e4..1b1311c498 100644
--- a/runtime/lua/vim/_meta/api.gen.lua
+++ b/runtime/lua/vim/_meta/api.gen.lua
@@ -121,6 +121,12 @@ function vim.api.nvim__invalidate_glyph_cache() end
--- WARNING: This feature is experimental/unstable.
---
+--- Returns true if a multicursor cascade is in-progress.
+--- @return boolean
+function vim.api.nvim__mcursor_cascading() end
+
+--- WARNING: This feature is experimental/unstable.
+---
--- Get the properties for namespace
---
--- @param ns_id integer Namespace
@@ -1674,6 +1680,13 @@ function vim.api.nvim_list_wins() end
--- @return any
function vim.api.nvim_load_context(dict) end
+--- Adds a multicursor in the given buffer.
+---
+--- @param buf integer Buffer handle, or 0 for current buffer
+--- @param pos [integer, integer] (row, col) (1,0)-indexed cursor position (byte offset)
+--- @return integer # Total number of extra cursors.
+function vim.api.nvim_mcursor(buf, pos) end
+
--- @deprecated
--- @param msg string
--- @param log_level integer