summaryrefslogtreecommitdiffstatshomepage
path: root/runtime/plugin/osc52.lua
AgeCommit message (Collapse)AuthorFiles
2026-03-23refactor: rename termcap.lua -> tty.lua #38437Justin M. Keyes1
Problem: The `termcap.lua` module is too narrowly named. We may need a place for tty-related functionality in the future. https://github.com/neovim/neovim/pull/31399#discussion_r1882598297 Solution: This isn't a public/documented interface, so just rename it.
2026-03-12docs: use "ev" convention in event-handlersJustin M. Keyes1
Problem: In autocmd examples, using "args" as the event-object name is vague and may be confused with a user-command. Solution: Use "ev" as the conventional event-object name.
2025-08-22feat(tui): add nvim_ui_send (#35406)Gregory Anders1
This function allows the Nvim core to write arbitrary data to a TTY connected to a UI's stdout.
2025-07-09feat(tui): use DA1 response to determine OSC 52 supportGregory Anders1
Many terminals now include support for OSC 52 in their Primary Device Attributes (DA1) response. This is preferable to using XTGETTCAP because DA1 is _much_ more broadly supported.
2025-03-12fix: update osc52 termfeatures flag on UIEnter/UILeave (#32756)Gregory Anders1
Problem: Nvim tries to use OSC 52 even when no TUIs are attached. Solution: On each UIEnter/UILeave event, check that there is a TUI client connected to Nvim's stdout.
2024-12-31feat(clipboard)!: use OSC 52 as fallback clipboard provider (#31730)Gregory Anders1
We currently enable the OSC 52 clipboard provider by setting g:clipboard when a list of conditions are met, one of which is that $SSH_TTY must be set. We include this condition because often OSC 52 is not the best clipboard provider, so if there are "local" providers available Nvim should prefer those over OSC 52. However, if no other providers are available, Nvim should use OSC 52 even when $SSH_TTY is not set. When a user is in an SSH session then the checks for the other clipboard providers will still (typically) fail, so OSC 52 continues to be enabled by default in SSH sessions. This is marked as a breaking change because there are some cases where OSC 52 wasn't enabled before and is now (or vice versa).
2024-01-26fix(osc52): do not use 'vim.iter' (#27218)Evgeni Chasnovski1
Problem: Using 'vim.iter' loads it during startup. Solution: Do not use 'vim.iter'.
2023-12-06feat(defaults): enable 'termguicolors' by default when supported by terminalGregory Anders1
Enable 'termguicolors' automatically when Nvim can detect that truecolor is supported by the host terminal. If $COLORTERM is set to "truecolor" or "24bit", or the terminal's terminfo entry contains capabilities for Tc, RGB, or setrgbf and setrgbb, then we assume that the terminal supports truecolor. Otherwise, the terminal is queried (using both XTGETTCAP and SGR + DECRQSS). If the terminal's response to these queries (if any) indicates that it supports truecolor, then 'termguicolors' is enabled.
2023-11-16fix(osc52): enable OSC 52 by default in tmux sessions (#26072)Gregory Anders1
tmux has a set-clipboard option which, when set to 'on', allows applications to set the system clipboard using the usual OSC 52 escape sequence.
2023-11-16feat(clipboard): enable OSC 52 clipboard provider by default (#26064)Gregory Anders1
Use the XTGETTCAP sequence to determine if the host terminal supports the OSC 52 sequence and, if it does, enable the OSC 52 clipboard provider by default. This is only done automatically when all of the following are true: 1. Nvim is running in the TUI 2. 'clipboard' is not set to unnamed or unnamedplus 3. g:clipboard is unset 4. Nvim is running in an SSH connection ($SSH_TTY is set) 5. Nvim is not running inside tmux ($TMUX is unset)