summaryrefslogtreecommitdiffstatshomepage
path: root/test/functional/api/ui_spec.lua
AgeCommit message (Collapse)AuthorFiles
2026-04-08fix(rpc): trigger UILeave earlier on channel close (#38846)zeertzjq1
Problem: On exit, rpc_free() is called when processing main_loop.events after libuv calls close callbacks of the channel's stream. However, when there are no child processes, these libuv callbacks are called in loop_close() instead of proc_teardown(), and main_loop.events isn't processed after loop_close(). As a result, calling remote_ui_disconnect() in rpc_free() causes UILeave to depend on the presence of child processes. Solution: Always call remote_ui_disconnect() in rpc_close_event(), and remove the call in rpc_free().
2026-03-16fix(api): use standard error messagesJustin M. Keyes1
2026-02-01test: wait for uv.pipe_connect() callback (#37640)zeertzjq1
Problem: On Windows, writing to a pipe doesn't work if the pipe isn't connected yet. This causes an RPC request to a session newly created by connect() to hang, as it's waiting for a response to a request that never reaches the server. Solution: Wait for uv.pipe_connect() callback to be called when using connect().
2026-01-31fix(ui): don't crash if maximum UI count reached (#37636)zeertzjq1
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.
2024-11-14fix(tests): needing two calls to setup a screen is cringebfredl1
Before calling "attach" a screen object is just a dummy container for (row, col) values whose purpose is to be sent as part of the "attach" function call anyway. Just create the screen in an attached state directly. Keep the complete (row, col, options) config together. It is still completely valid to later detach and re-attach as needed, including to another session.
2024-04-23test: improve test conventionsdundargoc1
Specifically, functions that are run in the context of the test runner are put in module `test/testutil.lua` while the functions that are run in the context of the test session are put in `test/functional/testnvim.lua`. Closes https://github.com/neovim/neovim/issues/27004.
2024-04-10refactor(test): inject after_each differentlyLewis Russell1
2024-04-08test: improve test conventionsdundargoc1
Work on https://github.com/neovim/neovim/issues/27004.
2024-01-12test: rename (meths, funcs) -> (api, fn)Lewis Russell1
2024-01-12test: typing for helpers.methsLewis Russell1
2024-01-03refactor: format test/*Justin M. Keyes1
2023-11-13docs: deprecate the "term_background" UI fieldGregory Anders1
2023-11-01fix(startup): trigger UIEnter for the correct channel (#25860)zeertzjq1
2023-07-23test: fix VimResume test flakiness (#24438)zeertzjq1
2023-07-23fix(events): trigger VimResume on next UI request (#24426)zeertzjq1
2023-02-14refactor(api): consistent VALIDATE messages #22262Justin M. Keyes1
Problem: Validation messages are not consistently formatted. - Parameter names sometimes are NOT quoted. - Descriptive names (non-parameters) sometimes ARE quoted. Solution: Always quote the `name` value passed to a VALIDATE macro _unless_ the value has whitespace.
2023-02-14refactor(api): VALIDATE macros #22256Justin M. Keyes1
- VALIDATE() takes a format string - deduplicate check_string_array - VALIDATE_RANGE - validate UI args
2019-09-12UIEnter/UILeave: fire for embedder UI, builtin TUIJustin M. Keyes1
Before this, --embed UIs (without --headless) would not trigger UIEnter. For TUI, maybe UIEnter isn't useful, but: - It is less "surprising"/special. - Makes documentation simpler. - When TUI becomes a coprocess, it will happen anyway.
2019-09-12rename: UIAttach/UIDetach => UIEnter/UILeaveJustin M. Keyes1
"enter"/"leave" is more conventional for Vim events, and "attach"/"detach" distinction does not gain much.
2019-09-12UIAttach, UIDetachJustin M. Keyes1
doc: ginit.vim, gvimrc fix #3656
2019-09-12UIAttach, UIDetachRui Abreu Ferreira1
2019-09-06test: Eliminate expect_errJustin M. Keyes1
Eliminate `expect_err` in favor of `pcall_err` + `eq` or `matches`.
2018-04-11test/util: expect_err() (#8257)Justin M. Keyes1
other cleanup, ref #8245
2018-04-08test/API: validate channel arg (#8245)Justin M. Keyes1