aboutsummaryrefslogtreecommitdiff
path: root/test/functional/ui/messages_spec.lua
Commit message (Collapse)AuthorAge
* 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.
* 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): 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)
* test(ui/messages_spec): unskip msg_puts_printf test on Unix CI (#27941)zeertzjq2024-03-20
| | | It no longer fails on Unix CI.
* fix(pager): handle consecutive newlines properly (#27913)zeertzjq2024-03-18
|
* fix(messages): allow more prompt in headless mode with UI (#27905)zeertzjq2024-03-18
| | | | | Problem: More prompt is not shown in headless mode even if there is a UI attached. Solution: Don't skip more prompt when there is a UI active.
* Merge pull request #27877 from bfredl/pseudorandombfredl2024-03-16
|\ | | | | fix(intro): redrawing intro exposing pseudo-randomness
| * fix(intro): redrawing intro exposing pseudo-randomnessbfredl2024-03-16
| | | | | | | | | | problem: redrawing intro exposes pseudo-randomness solution: remove pseudo-randomness
* | fix(l10n): update Japanese translations (#27856)ite-usagi2024-03-16
|/
* fix(ui): startup intro message should be visible with ext_multigridbfredl2024-03-15
| | | | | | | | As this message is literally drawn on top of the EOB area of the first window, the simple solution is to just draw the message on top of the grid of the first window. We still want #24764 (msg_intro event) but now only for ext_messages.
* fix(intro): make intro explicitly statefulbfredl2024-03-14
| | | | | | | | | | | Instead of randomly disappearing because some random event might have caused mid_start or bot_scroll_start to randomly take a low value, treat intro message as a _first class stateful_ thing. This means that intro message will kept being _redrawn_ as long as we are in the state it should be shown. This also includes screen resizes. you will not lose the intro message because there was a delay in detecting terminal features.
* feat(ui): allow non-zero 'cmdheight' with ext_messagesLuuk van Baal2024-03-11
| | | | | | | Problem: Arbitrary restriction on 'cmdheight' with ext_messages. The 'cmdheight'-area may be desirable for the replacing cmdline. Solution: Allow non-zero 'cmdheight' with ext_messages.
* fix(messages): clear new lines when increasing 'cmdheight' (#27421)zeertzjq2024-02-11
|
* test: refactor PathsLewis Russell2024-01-17
|
* test: big cleanup followupLewis Russell2024-01-17
| | | | Followup to 07a7c0ec
* test: rename (meths, funcs) -> (api, fn)Lewis Russell2024-01-12
|
* test: typing for helpers.methsLewis Russell2024-01-12
|
* refactor: format test/*Justin M. Keyes2024-01-03
|
* test: avoid repeated screen lines in expected stateszeertzjq2023-12-09
| | | | | | This is the command invoked repeatedly to make the changes: :%s/^\(.*\)|\%(\*\(\d\+\)\)\?$\n\1|\%(\*\(\d\+\)\)\?$/\=submatch(1)..'|*'..(max([str2nr(submatch(2)),1])+max([str2nr(submatch(3)),1]))/g
* fix(messages): validate msg_grid before using msg_grid_pos (#26189)zeertzjq2023-11-24
|
* fix(messages): :map output with ext_messages (#26126)Bara C. Tudor2023-11-22
|
* fix(f_wait): flush UI before blocking (#25962)zeertzjq2023-11-10
|
* fix(ui): empty line before the next message after :silent commandnwounkn2023-10-14
| | | | | | | | | | Problem: The next command after `silent !{cmd}` or `silent lua print('str')` prints an empty line before printing a message, because these commands set `msg_didout = true` despite not printing any messages. Solution: Set `msg_didout = true` only if `msg_silent == 0`
* fix: allow multiline message for echoerr (#25380)Jongwook Choi2023-10-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PROBLEM: Currently `:echoerr` prints multi-line strings in a single line as `:echom` does (Note: `:echon` can print multi-line strings well). This makes stacktrace printed via echoerr difficult to read. Example code: try lua error("lua stacktrace") catch echoerr v:exception endtry Output: Error detected while processing a.vim[5]..a.vim: line 4: Vim(lua):E5108: Error executing lua [string ":lua"]:1: lua stacktrace^@stack traceback:^@^I[C]: in function 'error'^@^I[string ":lua"]:1: in main chunk SOLUTION: Allow echoerr to print multiline messages (e.g., lua exceptions), because this command is usually used to print stacktraces. Output after the fix: Error detected while processing a.vim[5]..a.vim: line 4: Vim(lua):E5108: Error executing lua [string ":lua"]:1: lua stacktrace stack traceback: [C]: in function 'error' [string ":lua"]:1: in main chunk
* refactor(grid): get rid of unbatched grid_puts and grid_putcharbfredl2023-10-06
| | | | | | | | | | | | | | | This finalizes the long running refactor from the old TUI-focused grid implementation where text-drawing cursor was not separated from the visible cursor. Still, the pattern of setting cursor position together with updating a line was convenient. Introduce grid_line_cursor_goto() to still allow this but now being explicit about it. Only having batched drawing functions makes code involving drawing a bit longer. But it is better to be explicit, and this highlights cases where multiple small redraws can be grouped together. This was the case for most of the changed places (messages, lastline, and :intro)
* refactor(options): deprecate nvim[_buf|_win]_[gs]et_optionLewis Russell2023-05-21
| | | | | Co-authored-by: zeertzjq <zeertzjq@outlook.com> Co-authored-by: famiu <famiuhaque@protonmail.com>
* test: avoid name collisions with Xtest directory (#23019)kylo2522023-04-11
|
* test: use exec_capture() in more places (#22787)zeertzjq2023-03-26
| | | | | | | Problem: Using `meths.exec2("code", { output = true })` is too verbose. Solution: Use exec_capture() in more places.
* feat(api): nvim_exec2(), deprecate nvim_exec() #19032Evgeni Chasnovski2023-03-25
| | | | | | | Problem: The signature of nvim_exec() is not extensible per ":help api-contract". Solution: Introduce nvim_exec2() and deprecate nvim_exec().
* test: re-bundle cat on windows (#21255)dundargoc2023-03-14
| | | | | | | | | | The builtin cat was removed in 4bc9229ecbec514e9a87cfc4be88ea27a971e9a1 as it is not used during runtime but only for tests. However, it is a very small and useful utility program that we need for a lot of our tests, so there's no harm in bundling it, and it helps us avoid complicating our build system by having two versions of neovim (neovim for users and neovim for testing). Also skip tests if "grep" or "sleep" isn't available.
* refactor(redraw): make cursor position redraw use the "redraw later" patternbfredl2023-03-12
|
* test: make {MATCH:} behave less unexpectedly in screen:expect()zeertzjq2023-02-18
| | | | Include the rest of the line and allow multiple {MATCH:} patterns.
* test: avoid consecutive mouse input at different positions (#21781)zeertzjq2023-01-13
| | | | The seconds call's position may override the first call if the first call isn't processed yet, defeating the purpose of the first call.
* fix(ui): command line issues with external messages (#21709)luukvbaal2023-01-13
| | | | * fix: don't truncate external messages * fix: avoid resizing command line with external messages
* test: simplify platform detection (#21020)dundargoc2022-11-22
| | | | | Extend the capabilities of is_os to detect more platforms such as freebsd and openbsd. Also remove `iswin()` helper function as it can be replaced by `is_os("win")`.
* fix(messages): don't set cmdline_row when messages have scrolled (#21015)zeertzjq2022-11-11
| | | | | When 'cmdheight' is changed while messages have scrolled, the position of msg_grid is not moved up, so cmdline_row should not be set based on the position of msg_grid.
* fix(messages): reset msg_grid_scroll_discount when redrawing (#21000)zeertzjq2022-11-10
|
* fix(intro): omit patch version in ":help news" item #20713zeertzjq2022-10-18
| | | | Because maintenance releases share the same news.txt as the last non-maintenance release.
* feat: mention ":help news" in intro #20674Gregory Anders2022-10-16
|
* feat(messages)!: graduate the 'msgsep' featurebfredl2022-10-05
| | | | | | | The old behaviour (e.g. via `set display-=msgsep`) will not be available. Assuming that messages always are being drawn on msg_grid (or not drawn at all, and forwarded to `ext_messages` enabled UI) will allows some simplifcations and enhancements moving forward.
* fix(ui): msg_ext_set_kind for nvim_echo (#20476)Shougo2022-10-04
|
* fix(messages): do not crash on cmdheight=0 and g< redisplaybfredl2022-09-16
| | | | fixes #20153
* vim-patch:9.0.0206: redraw flags are not named specifically (#19913)zeertzjq2022-08-23
| | | | | Problem: Redraw flags are not named specifically. Solution: Prefix "UPD_" to the flags, for UPDate_screen(). https://github.com/vim/vim/commit/a4d158b3c839e96ed98ff87c7b7124ff4518c4ff
* fix(getchar): flush screen before doing a blocking waitzeertzjq2022-08-15
|
* vim-patch:9.0.0071: command overlaps with printed text in scrollback (#19505)zeertzjq2022-07-26
| | | | | | | | | | | | | | Problem: Command overlaps with printed text in scrollback. Solution: Clear until end-of-line and use correct message chunk. (closes vim/vim#10765, closes vim/vim#10764) https://github.com/vim/vim/commit/ecdc82e74e6a7e73d9067ece1d5eac33abfde5ed N/A patches for version.c: vim-patch:9.0.0070: using utfc_ptr2char_len() when length is negative Problem: Using utfc_ptr2char_len() when length is negative. Solution: Check value of length. (closes vim/vim#10760) https://github.com/vim/vim/commit/4dc513a22c017b3061287deac74fa55f70a3214c
* fix(exmode): flush messages before printing a line after pressing Enter (#19341)zeertzjq2022-07-13
|
* 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
* test: dismiss quit_more from Lua #11226Daniel Hahler2022-06-12
| | | Add a test for what #16537 fixed.
* fix(messages): add color when showing nvim_echo in :messages historybfredl2022-06-11
|