aboutsummaryrefslogtreecommitdiff
path: root/test/functional/ui
Commit message (Collapse)AuthorAge
* fix(tui): resize at startup #17795Javier Lopez2022-07-04
| | | | | | | | | | | | | | | | | | * fix(test): screen.lua nil index When actual_rows and expected_rows are different avoid a nil index. * fix(tui): resize at startup The deleted code is not needed after 402b4e8. It caused the condition to false positive when the function was called more than once before startup (first normal mode). Being itself what set the dimension and not the user, locking the size of the screen to an incorrect size. Make got_winch an int to mitigate: tui_grid_resize changing the size of the host terminal between the signal handler and the call to sigwinch_cb. Since the actual signal handler uv__signal_handle doesn't directly call the callback, the event loop does. Fixes #17285 Fixes #15044 Fixes #11330
* feat(ui): make right-click menu work properly with ext_multigridzeertzjq2022-07-01
| | | | Add tests both with and without ext_multigrid.
* cmdheight=0: fix bugs #18961Shougo2022-06-30
| | | | | | | | | | | | Continue of #16251 Fix #18953 Fix #18960 Fix #18958 Fix #18955 Fix #18970 Fix #18983 Fix #18995 Fix #19112
* refactor(highlight)!: rename attributes to match Vim (#19159)zeertzjq2022-06-30
| | | | | | | | | Ref: https://github.com/vim/vim/commit/84f546363068e4ddfe14a8a2a2322bb8d3a25417 Rename: - `underlineline` to `underdouble` - `underdot` to `underdotted` - `underdash` to `underdashed` `underdouble` also now takes higher precedence than `undercurl`.
* fix(inccommand): parse the command to check if it is previewableFamiu Haque2022-06-28
| | | | | Free regprog if command isn't previewable Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* refactor(tests): introduce testprg()Justin M. Keyes2022-06-25
| | | | | | Also: - Add a describe('shell :!') section to system_spec. - Make the test for #16271 work on systems without powershell.
* perf(ui): reduce allocation overhead when encoding "redraw" eventsbfredl2022-06-20
| | | | | | | | | | | | | | | | | Note for external UIs: Nvim can now emit multiple "redraw" event batches before a final "flush" event is received. To retain existing behavior, clients should make sure to update visible state at an explicit "flush" event, not just the end of a "redraw" batch of event. * Get rid of copy_object() blizzard in the auto-generated ui_event layer * Special case "grid_line" by encoding screen state directly to msgpack events with no intermediate API events. * Get rid of the arcane notion of referring to the screen as the "shell" * Array and Dictionary are kvec_t:s, so define them as such. * Allow kvec_t:s, such as Arrays and Dictionaries, to be allocated with a predetermined size within an arena. * Eliminate redundant capacity checking when filling such kvec_t:s with values.
* fix(decorations): nvim_buf_set_extmark breaks conceal #19010ii142022-06-19
| | | | | | Closes #19007 Co-authored-by: bfredl <bjorn.linse@gmail.com> Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
* fix(ui): do not call showmode() when setting window height (#18969)zeertzjq2022-06-15
|
* test: correct check for v:errmsg in inccommand test (#18968)zeertzjq2022-06-15
| | | | After the first separator is typed v:errmsg can be set. Check for its value before typing the first separator.
* fix(inccommand): never preview if parsing command failed (#18944)zeertzjq2022-06-14
| | | | `errormsg` is not always set when parsing the command failed (e.g. when the range contains invalid marks). Check the return value is better.
* feat: cmdheight=0 #16251Shougo2022-06-13
| | | | | | | | | Fix https://github.com/neovim/neovim/issues/1004 Limitation: All outputs need hit-enter prompt. Related: https://github.com/neovim/neovim/pull/6732 https://github.com/neovim/neovim/pull/4382
* fix(tests): check for EOF on exit of nvim properlybfredl2022-06-13
|
* test: dismiss quit_more from Lua #11226Daniel Hahler2022-06-12
| | | Add a test for what #16537 fixed.
* fix(inccommand): skip split window if not enough room #18937Famiu Haque2022-06-12
| | | | | Command preview now behaves like inccommand=nosplit when there's not enough room for the preview window to be opened instead of aborting, which is consistent with old behavior of 'inccommand'.
* fix(messages): add color when showing nvim_echo in :messages historybfredl2022-06-11
|
* fix(inccommand): clear cmdpreview state if preview is not shown (#18923)zeertzjq2022-06-11
|
* fix(highlight): let winhighlight use cursorzbirenbaum2022-06-07
|
* fix(inccommand): avoid crash if callback changes inccommand option (#18830)zeertzjq2022-06-02
| | | | | | | | | clang: Result of operation is garbage or undefined clang: Uninitialized argument value Also check for == 's' instead of != 'n' as it is more straightforward. Also fix another unrelated PVS warning: PVS/V1071: Return value of win_comp_pos() is not always used
* fix(screen): restart win_update() if a decor provider changes signcols (#18768)zeertzjq2022-06-01
|
* fix(inccommand): do not try to preview an ambiguous command (#18827)zeertzjq2022-06-01
|
* feat: add preview functionality to user commandsFamiu Haque2022-05-31
| | | | Adds a Lua-only `preview` flag to user commands which allows the command to be incrementally previewed like `:substitute` when 'inccommand' is set.
* test: add tests for inccommand with c_CTRL-R_= and c_CTRL-\_e (#18796)zeertzjq2022-05-29
|
* fix(winbar): set w_winrow_off when initializing firstwin size (#18793)zeertzjq2022-05-29
|
* fix(winbar): only allow adding winbar when there is spaceFamiu Haque2022-05-28
|
* fix(winbar): fix winbar disappear or glitch when moving a split (#18775)zeertzjq2022-05-28
|
* fix(ui): require window-local value to show winbar on floating windows (#18773)Famiu Haque2022-05-28
| | | | | | | Previously, there was a bug where setting the local value of 'winbar' to itself would cause winbar to appear on a floating window, which is undesirable. This fix makes it so that it's explicitly required for the window-local value of 'winbar' for a floating window to be set in order for winbar to be shown on that window.
* feat: click support for 'statusline', 'winbar' #18650Famiu Haque2022-05-23
| | | | The mouseclick item "%@" is now supported by 'statusline' and 'winbar'. Previously it was only supported by 'tabline'.
* fix(winbar): allow winbar to display the rulerbfredl2022-05-22
|
* fix(tests): fix some issues with ui/inccommand_spec.lua causing slownessbfredl2022-05-22
| | | | | | | | from ~30 to ~20 secs with ASAN build - feedkeys test: the same substitute was repeated, and not even correctly spelled - don't clear() in a tight loop. "bwipe!" is enough to erase undo history - error in cnoremap mapping causes a check_for_delay(). <c-c> it away.
* fix(folds): fix fold regression with :move (#18685)zeertzjq2022-05-22
|
* Merge pull request #18681 from bfredl/uitestbfredl2022-05-22
|\ | | | | fix(tests): fix some screen.lua warnings
| * fix(tests): fix some screen.lua warningsbfredl2022-05-21
| |
* | feat(ui): clear message history explicitly with msg_history_clear eventdevbhan singh2022-05-21
|/
* Merge pull request #18629 from famiu/fix/ui/winbarbfredl2022-05-19
|\ | | | | fix(ui): make `winbar` properly equalize window heights for local value
| * fix(ui): make `winbar` properly equalize window heights for local valueFamiu Haque2022-05-19
| | | | | | | | | | Fixes `'winbar'` not properly equalizing window heights for splits when the global value is empty and a window-local value is set instead.
* | fix(mouse): fix mouse drag position with winbar or border in multigridzeertzjq2022-05-19
| |
* | fix(mouse): fix mouse drag position with winbarzeertzjq2022-05-19
| |
* | Merge pull request #18620 from bfredl/multibarbfredl2022-05-18
|\ \ | |/ |/| fix(ui): make winbar work with floats and multigrid
| * fix(ui): make winbar work with floats and multigridbfredl2022-05-18
| |
* | fix(ui): set correct position on mouse click when 'winbar' is enabledFamiu Haque2022-05-18
|/
* Merge pull request #18562 from famiu/feat/ui/winbarbfredl2022-05-18
|\ | | | | feat(ui): add `'winbar'`
| * feat(ui): add `'winbar'`Famiu Haque2022-05-18
| | | | | | | | | | | | | | Adds support for a bar at the top of each window, enabled through the `'winbar'` option. Co-authored-by: Björn Linse <bjorn.linse@gmail.com>
* | test: unskip tests on Windows (#18600)zeertzjq2022-05-18
|/ | | | | | Remove the command('qall!') from mksession_spec.lua because it prevents helpers.rmdir() from retrying. Allow extra trailing spaces when matching terminal lines.
* refactor(ui)!: link `VertSplit` to `Normal` by defaultFamiu Haque2022-05-15
| | | | | Avoids using `gui=reverse` on `VertSplit` and makes window separators look much nicer by default.
* revert: "feat(mappings): do not simplify the rhs of a mapping" (#18553)zeertzjq2022-05-13
| | | | This reverts commit 7ac5359143ef25c4c8c0c427d5533f8d5824ed17. This fix can cause more problems than it solves.
* fix: display global statusline correctly with ext_messagesshirasaka2022-05-05
|
* Merge pull request #15674 from yatli/ui_event_extmarkbfredl2022-05-03
|\ | | | | API/UI: ui_event_extmark
| * feat(api/ui): win_extmarksYatao Li2022-05-03
| |
* | feat(server): set $NVIM, unset $NVIM_LISTEN_ADDRESS #11009Justin M. Keyes2022-05-03
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PROBLEM ------------------------------------------------------------------------ $NVIM_LISTEN_ADDRESS has conflicting purposes as both a parameter ("the current process should listen on this address") and a descriptor ("the current process is a child of this address"). This contradiction means the presence of NVIM_LISTEN_ADDRESS is ambiguous, so child Nvim always tries to listen on its _parent's_ socket. This is the cause of lots of "Failed to start server" spam in our test/CI logs: WARN 2022-04-30… server_start:154: Failed to start server: address already in use: \\.\pipe\nvim-4480-0 WARN 2022-04-30… server_start:154: Failed to start server: address already in use: \\.\pipe\nvim-2168-0 SOLUTION ------------------------------------------------------------------------ 1. Set $NVIM to the parent v:servername, *only* in child processes. - Now the correct way to detect a "parent" Nvim is to check for $NVIM. 2. Do NOT set $NVIM_LISTEN_ADDRESS in child processes. 3. On startup if $NVIM_LISTEN_ADDRESS exists, unset it immediately after server init. 4. Open a channel to parent automatically, expose it as v:parent. Fixes #3118 Fixes #6764 Fixes #9336 Ref https://github.com/neovim/neovim/pull/8247#issuecomment-380275696 Ref #8696