aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/ui/img/_kitty.lua
Commit message (Collapse)AuthorAge
* fix(tty): filter terminal probes by channel #40356Barrett Ruth2026-06-24
| | | | | | | | | | | | | | | | | | | | Problem: Terminal probes sent with `nvim_ui_send()` can reach more than one stdout TTY UI. Probes with a known TTY UI owner should not accept `TermResponse`s from unrelated UI channels. Solution: Thread the existing `chan` filter through owned terminal probes. This covers startup/attach background detection, fallback truecolor detection, and `vim.tty.query()` forwarding opts to `vim.tty.request()`. Note: Not every terminal escape path is updated here. I only passed `chan` when the caller already knows which TTY UI owns the probe. For example, this does not include: - (Followup) OSC 52 (system clipboard) detection. It needs to capture the `UIEnter` channel. Adding `{ chan = ... }` only to the nested query would be half a fix. - OSC 52 _paste_ is left global because the provider callback does not have a UI channel (paste is invoked without a ui channel/tty ui object).
* refactor(tty): tty.request() #39489Justin M. Keyes2026-04-30
| | | | | | | | Problem: - Various `TermRequest` handlers which all do similar things. - `tty.query` is specific to `XTGETTCAP DCS`, can't be reused for other kinds of terminal queries. Solution: Provide `tty.request()`.
* feat(img): vim.ui.img.del(math.huge) clears all images #39484Chip Senkbeil2026-04-29
| | | | | | | | | | | | Problem: Similar to clearmatches(), it's always necessary to provide a fallback that allows the user to do a "global reset" when something goes wrong. Solution: vim.img.del(math.huge) clears all images. Use kitty's d=A command to clear all placements in a single escape sequence rather than N individual deletes, also freeing stored image data not referenced by the scrollback buffer.
* feat(health): vim.ui.img healthcheck #39449Chip Senkbeil2026-04-28
|
* feat(ui): vim.ui.img api #37914Chip Senkbeil2026-04-26
Problem: No builtin api to load and display images. Solution: Introduce vim.ui.img. Only supports kitty graphics protocol, currently.