aboutsummaryrefslogtreecommitdiff
path: root/test/functional/ui
Commit message (Collapse)AuthorAge
...
* | fix(move): half-page scrolling with resized grid at eob (#28821)zeertzjq2024-05-18
| |
* | refactor(api): nvim_win_xx_ns are EXPERIMENTALJustin M. Keyes2024-05-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: The nvim_win_xx_ns function family introduced in ba0370b1d718d473d0ef51c35d88b98ba220082b needs more bake-time. Currently it's narrowly defined for windows, but other scopes ("buffer") and features are likely in the future. Solution: - Rename the API with double-underscore to mark it as EXPERIMENTAL. TODO/FUTURE: - Rename and change the signature to support more than just "window" scope, and for other flexibility. - Open question: we could choose either: - "store scopes on namespaces", or - "store namespaces on scopes (w:/b:/…)"
* | refactor(api): rename nvim_win_remove_nsJustin M. Keyes2024-05-12
| | | | | | | | | | | | | | | | Problem: nvim_win_remove_ns does not follow `help dev-naming` API naming conventions. Solution: Rename it.
* | Merge pull request #28717 from bfredl/rpcmsgbfredl2024-05-12
|\ \ | |/ |/| fix(ui): data corruption in remote_ui_raw_line
| * fix(ui): data corruption in remote_ui_raw_linebfredl2024-05-12
| | | | | | | | | | | | This particular repro is quite niche but there could be other cases, whenever the the second last cell plus the "fill" cell togheter are too complex
* | fix(api): make getting explicit empty hl in virtual text work (#28697)zeertzjq2024-05-12
|/
* feat(api): add nvim__redraw for more granular redrawingLuuk van Baal2024-05-02
| | | | | | | | | | | Experimental and subject to future changes. Add a way to redraw certain elements that are not redrawn while Nvim is waiting for input, or currently have no API to do so. This API covers all that can be done with the :redraw* commands, in addition to the following new features: - Immediately move the cursor to a (non-current) window. - Target a specific window or buffer to mark for redraw. - Mark a buffer range for redraw (replaces nvim__buf_redraw_range()). - Redraw the 'statuscolumn'.
* revert: "feat(extmarks): subpriorities (relative to declaration order) ↵Gregory Anders2024-05-01
| | | | | | | | | | | | (#27131)" (#28585) This reverts commit 15e77a56b711102fdc123e15b3f37d49bc0b1df1. Subpriorities were added in https://github.com/neovim/neovim/pull/27131 as a mechanism for enforcing query order when using iter_matches in the Tree-sitter highlighter. However, iter_matches proved to have too many complications to use in the highlighter so we eventually reverted back to using iter_captures (https://github.com/neovim/neovim/pull/27901). Thus, subpriorities are no longer needed and can be removed.
* fix(api): mark nvim__complete_set as experimental #28579Justin M. Keyes2024-04-30
| | | | | | | | Problem: nvim_complete_set was added in 5ed55ff14c8b7e346811cb6228bf63fb5106bae9 but needs more bake time. Solution: Rename it, mark it as experimental.
* fix(completion): improve popup window position (#26739)Raphael2024-04-25
|
* feat(api): allow floats to be opened in non-current tabpage (#28480)Will Hopkins2024-04-25
| | | \
* test: improve test conventionsdundargoc2024-04-23
| | | | | | | | | 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.
* vim-patch:9.1.0357: Page scrolling should place cursor at window boundaries ↵luukvbaal2024-04-22
| | | | | | | | | | (#28429) Problem: Page scrolling does not always place the cursor at the top or bottom of the window (Mathias Rav) Solution: Place the cursor at the top or bottom of the window. (Luuk van Baal) https://github.com/vim/vim/commit/4b6b0c4024df08dd8ce49dff3c76356ff81190c4
* Merge pull request #28434 from glepnir/23120bfredl2024-04-22
|\ | | | | fix(float): wrong position when bufpos is out of range
| * fix(float): wrong position when bufpos is setglepnir2024-04-21
| | | | | | | | | | | | Problem: when lnum in bufpos is out of range the position of float is wired. Solution: avoid the height value out of buffer line range.
* | fix(window): don't go to unfocusable float when closing (#28455)zeertzjq2024-04-22
| |
* | Merge pull request #27872 from luukvbaal/cmdheightbfredl2024-04-21
|\ \ | | | | | | fix(ui): don't force 'cmdheight' to zero with ext_messages
| * | fix(ui): don't force 'cmdheight' to zero with ext_messagesLuuk van Baal2024-04-20
| |/ | | | | | | Remove remaining code that prevents non-zero 'cmdheight' with ext_messages.
* / fix(api): do not update grid position in nvim_win_set_cursor (#28235)luukvbaal2024-04-21
|/ | | | Revert commit c971f538ab87b537ae4c97bd44167661c5691a2d. Forcing grid cursor position will need a new API like originally proposed in #27858.
* test: 'showcmd' with ext_messages and Visual selection (#28393)zeertzjq2024-04-18
| | | Also slightly reorder some code to make comments look less out-of-place.
* fix(messages): avoid crash with :intro and ch=0 (#28343)zeertzjq2024-04-16
| | | | This just copies code from msg_start() to wait_return(). Not sure if there is a better place to put such a block.
* fix(float): improve error message when reconfig failed (#25076)Raphael2024-04-13
| | | | Problem: The current error message isn't very accurate. Solution: Improve the error message.
* fix(move): fix using the wrong window (#28312)zeertzjq2024-04-13
|
* fix(move): check for filler lines properly (#28307)zeertzjq2024-04-13
| | | vim-patch:9.1.0310: Filler lines not checked properly in get_scroll_overlap()
* Merge pull request #26774 from glepnir/24129bfredl2024-04-12
|\ | | | | fix(float): don't relative float win itself
| * fix(float): don't relative flaot win itselfglepnir2024-04-10
| | | | | | | | | | | | Problem: when reconfig current float win without win key in nvim_win_set_config will cause float win position changed when move. Solution: don't relative itself.
* | test: remove unnecessary nil argument to testutil (#28270)zeertzjq2024-04-11
| |
* | refactor(test): inject after_each differentlyLewis Russell2024-04-10
| |
* | fix(drawline): don't invoke on_line for filler line (#28219)Jaehwang Jung2024-04-10
|/ | | | | | | | | Problem: Decoration provider `on_line` handler is invoked for diff filler line below the last buffer line. This does not match the documentation: "called for each buffer line". Solution: Check `end_fill`.
* fix(tests): use more global highlight definitionsbfredl2024-04-09
|
* test: improve test conventionsdundargoc2024-04-08
| | | | Work on https://github.com/neovim/neovim/issues/27004.
* Merge pull request #28183 from bfredl/intechnicolorbfredl2024-04-07
|\ | | | | refactor(tests): use more standard colors but with extra colors
| * refactor(tests): use more standard colors but with extra colorsbfredl2024-04-05
| |
* | fix: adjust error message for error in UI event callback (#28200)zeertzjq2024-04-06
| | | | | | | | | | | | Also close Nvim instance before removing log file, otherwise the Nvim instance will still write to the log file. Also adjust log level in libuv_process_spawn(). Ref #27660
* | test: reduce sleep for file timestamp change (#28196)zeertzjq2024-04-06
|/ | | | Now that Nvim always supports nanotime, sleeping for some milliseconds is enough.
* Merge pull request #28156 from bfredl/attr_extendbfredl2024-04-03
|\ | | | | refactor(tests): allow to extend the new base set of attrs
| * refactor(tests): allow to extend the new base set of attrsbfredl2024-04-02
| | | | | | | | | | | | | | | | | | | | | | We start at 100 so we can make the base set larger if needed. (It might need to grow/shrink as a result of adopting the new default color scheme as the default for tests) Usage best illustrataded by example. Improving the workflow for making new tests with `screen:snapshot_util()` will be a follow up.
* | vim-patch:9.0.0581: adding a character for incsearch fails at end of linezeertzjq2024-04-03
|/ | | | | | | | | Problem: Adding a character for incsearch fails at end of line. Solution: Only check cursor line number. https://github.com/vim/vim/commit/d4566c14e71c55dcef05fb34ea94eba835831527 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* test: silence expected errorsdundargoc2024-04-02
| | | | This will remove unrelated errors in .nvimlog at the end of test output.
* fix(intro): clear intro if new buffer is shown in focused floatEvgeni Chasnovski2024-03-29
|
* fix(intro): link showing intro to state at startEvgeni Chasnovski2024-03-29
| | | | | | | | | | | | | Problem: Current behavior of stateful intro message is too persistent. For example, it is still drawn if new empty buffer is shown in current window (either by explicitly setting it or after `tabnew`). Although the buffer is empty, the act of it being shown should be made visible. Solution: Make intro message persist if all is true: - Current buffer is the same as it was just after start, i.e. empty nameless with initial handle (i.e. 1). - Current window is the same as it was just after start, i.e. single non-floating with initial handle.
* feat(ui): indicate margins for the area used by win_viewportbfredl2024-03-29
| | | | | | | | Problem: using win_viewport for implementing smooth scrolling in an external UI might run into problems when winbar or borders is used, as there is no indication that the entire grid is not used for scrolled buffer text. Solution: add `win_viewport_margins` event.
* test: print screen snapshot in desired format (#28088)luukvbaal2024-03-29
| | | | Problem: Screen snapshot is printed in a way that still needs to be formatted. Solution: Adjust the snapshot formatting (indentation, braces).
* fix(plines): cursor position with 'showbreak' and resized grid (#28067)zeertzjq2024-03-28
|
* Merge pull request #28025 from luukvbaal/introfloatbfredl2024-03-27
|\ | | | | fix(intro): still show intro message with floating window
| * fix(intro): still show intro message with floating windowLuuk van Baal2024-03-27
| | | | | | | | Stop drawing the intro only after a split is opened.
* | refactor(tests): use new global defaults instead of set_default_attr_idsbfredl2024-03-26
| | | | | | | | This will be done in batches.
* | fix(test): typingLewis Russell2024-03-25
|/
* refactor(tests): all screen tests should use highlightsbfredl2024-03-23
| | | | | | | | | | | | | | | | | | | | | | | This is the first installment of a multi-PR series significantly refactoring how highlights are being specified. The end goal is to have a base set of 20 ish most common highlights, and then specific files only need to add more groups to that as needed. As a complicating factor, we also want to migrate to the new default color scheme eventually. But by sharing a base set, that future PR will hopefully be a lot smaller since a lot of tests will be migrated just simply by updating the base set in place. As a first step, fix the anti-pattern than Screen defaults to ignoring highlights. Highlights are integral part of the screen state, not something "extra" which we only test "sometimes". For now, we still allow opt-out via the intentionally ugly screen._default_attr_ids = nil The end goal is to get rid of all of these eventually (which will be easier as part of the color scheme migration)
* fix(cmdline): wrong 'incsearch' highlighting after :redraw (#27947)luukvbaal2024-03-20
| | | | Problem: Calling :redraw from a timer callback clears 'incsearch' highlighting. Solution: Re-apply 'incsearch' highlighting if the screen was updated.