| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
| |
msg_puts_display was more complex than necessary in nvim, as in
nvim, it no longer talks directly with a terminal.
In particular we don't need to scroll the grid before emiting the last
char. The TUI already takes care of things like that, for terminals
where it matters.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Co-authored-by: famiu <famiuhaque@protonmail.com>
|
|
|
| |
This avoids running title tests twice unnecessarily.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
When not inside an Ex command, screen_resize() calls update_screen(),
which calls screenclear() and set the screen as valid. However, when
inside an Ex command, redrawing is postponed so update_screen() screen
doesn't do anything, and the screen is still invalid after the resize,
causing ui_comp_raw_line() to be no-op until update_screen() is called
on the main loop.
Solution:
Restore the call to screenclear() inside screen_resize() so that the
screen is invalid after screen_resize(). Since screenclear() changes
redraw type from UPD_CLEAR to UPD_NOT_VALID, it is called at most once
for each resize, so this shouldn't change how much code is run in the
common (not inside an Ex command) case.
|
|
|
|
|
| |
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")`.
|
| |
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Avoids using `gui=reverse` on `VertSplit` and makes window separators
look much nicer by default.
|
| |
|
| |
|
|
|
|
|
|
| |
Problem: The Normal highlight is not defined when compiled with GUI.
Solution: Always define Normal. (Christian Brabandt, closes vim/vim#4072)
https://github.com/vim/vim/commit/f90b6e03a983b62b66564fc449e32724d6456769
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* mode_spec: retry with increasing matchtime
`matchtime=2` might still be too low (with luacov on AppVeyor).
[ ERROR ] test/functional\ui\mode_spec.lua @ 47: ui mode_change event works in insert mode
test\functional\ui\screen.lua:587: mode
Expected objects to be the same.
Passed in:
(string) 'insert'
Expected:
(string) 'showmatch'
Hint: full state of "mode":
"insert"
Followup to fe60013fb.
ref #10941
Initially regressed in 7ed212262242
``
* ui/screen_basic_spec: set timeoutlen=10000
This fixes the test on slow CI.
Ref: https://ci.appveyor.com/project/neovim/neovim/builds/27600387/job/t468h2b3w9lwtlm5#L10930
|
|
|
|
|
| |
But add an escape hatch needed for external TUI, so it still can use
terminal emulator defaults.
|
| |
|
|
|
|
|
|
|
| |
redraw_all_later() isn't guaranteed to update must_redraw after
switching tab, we must do it ourselves.
fixes #9152
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add ext_newgrid and ext_hlstate extensions. These use predefined
highlights and line-segment based updates, for efficiency and
simplicity.. The ext_hlstate extension in addition allows semantic
identification of builtin and syntax highlights.
Reimplement the old char-based updates in the remote UI layer, for
compatibility. For the moment, this is still the default. The bulitin
TUI uses the new line-based protocol.
cmdline uses curwin cursor position when ext_cmdline is active.
|
|
|
|
|
| |
Before this, bottom of screen got messed up when modemsg (+ one extra
space to not force terminal scroll) didn't fit on one line.
|
|\
| |
| | |
[RFC] screen: avoid artifacts
|
| | |
|
|/
|
|
|
|
|
| |
fixes #8354
Regression from #8088, where we try to avoid clearing the screen
if not absolutely necessary
|
|
|
|
|
| |
closes #3648
ref #5959
|
| |
|
| |
|
|
|
|
| |
Update tests.
|
|
|
|
| |
also: various other cleanup
|
|
|
|
|
|
|
|
|
| |
- Replace obvious cases of '/' literal with PATHSEP. (There are still
some remaining cases that need closer inspection.)
- Fixup tests: ui/screen_basic
closes #7117
ref https://github.com/neovim/neovim/issues/2471#issuecomment-271193714
|
| |
|
| |
|
|
|
|
|
|
| |
- Work with a bool[] array parallel to the UIWidget enum.
- Rename some functions.
- Documentation.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Hope this will make people using feed_command less likely: this hides bugs.
Already found at least two:
1. msgpackparse() will show internal error: hash_add() in case of duplicate
keys, though it will still work correctly. Currently silenced.
2. ttimeoutlen was spelled incorrectly, resulting in option not being set when
expected. Test was still functioning somehow though. Currently fixed.
|
|
|
|
|
|
| |
- Use this to properly test cursor shape events.
- tests: update screen_basic_spec to use `screen:expect` short form.
Clearer than using `screen:wait` directy.
|
|
|
|
|
|
|
|
|
|
|
| |
- Vim "unix default" of 'noshowcmd' is serving few users. And it's
inconsistent.
- 'ruler' and 'belloff=all' improve the out-of-the-box experience.
- Continue to use 'noshowcmd' and 'noruler' by default in the functional
tests to keep them fast.
TODO: Add a "disable slow stuff" command or mapping to address the
use-case of a very slow terminal connection.
|
|\
| |
| | |
test: screen: Assert expected row count matches configured screen height
|
| | |
|
|/
|
|
|
|
|
| |
Also:
- Attempt to constrain wall-of-text in screen.lua.
- Windows: Enable screen_basic_spec.lua
Closes #2180
|
|
|
|
|
|
|
|
| |
use set_cursor_shape_bar for cmdline mode
fix test of screen_basic_spec.lua & screen.lua
comment fix
|
|
|
|
|
| |
Also fix snapshot_util() to work even if default_attr_ids is not a
proper lua array.
|
| |
|
| |
|