| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
| |
We want a single function to clear all namespaced buffer objects. This
will later include extmarks.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- develop.txt is for design/guidelines; architecture/concepts should
live elsewhere (currently src/nvim/README.md)
- move dev-jargon to intro.txt
- replace https://neovim.io/community (deprecated) with
https://neovim.io/#chat
- <Cmd> avoids CmdlineEnter/Leave
https://github.com/vim/vim/issues/2889
|
|/
|
|
| |
ref #9028
ref 0653ed63a508
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
By historical accident, Nvim defaults to background=light. So on a dark
background, `:colorscheme default` looks completely wrong.
The "smart" logic that Vim uses is confusing for anyone who uses Vim on
multiple platforms, so rather than mimic that, pick the (hopefully) most
common default.
- Since Neovim is dark-powered, we assume most users have dark backgrounds.
- Most of the GUIs tend to have a dark background by default.
ref #6289
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- window_split_tab_spec.lua: Put cursor at bottom of :terminal buffer so
that it follows output.
- inccommand_spec.lua: Increase timeout to allow 2nd retry.
- Timer tests are less reliable on Travis CI macOS 10.12/10.13.
ref #6829
ref e39dade80b02
ref de13113dc16e
ref https://github.com/neovim/neovim/pull/9095#issuecomment-429603452
> We don't guarantee that a X ms timer is triggered during Y ms sleep
> for any X<Y, though I would expect the load to be really bad for this
> to happen with X=10ms, Y=40ms.
|
|
|
|
| |
needed after #9024 to receive options from init.vim
|
|\
| |
| | |
screen: show virt_text when 'cursorline' is set
|
| |
| |
| |
| |
| | |
- virtual text disappeared when 'cursorline' was set
- virtual text was shifted when emtpy line was visually selected.
|
|/
|
|
|
|
|
| |
redraw_all_later() isn't guaranteed to update must_redraw after
switching tab, we must do it ourselves.
fixes #9152
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Avoid clearing the screen in most situations. NOT_VALID should be
equivalent to CLEAR unless some external force messed up the terminal,
for these situations <c-l> and :mode will still clear the screen.
Also eliminate some obsolete code in screen.c, that dealt with that in
vim drawing window 1 can mess up window 2, but this never happens in
nvim.
But what about slow terminals? There is two common meanings in which
a terminal is said to be "slow":
Most commonly (and in the sense of vim:s nottyfast) it means low
bandwidth for sending bytes from nvim to the terminal. If the screen is
very similar before and after the update_screen(CLEAR) this change
should reduce bandwidth. If the screen is quite different, but there is
no new regions of contiguous whitespace, clearing doesn't reduce
bandwidth significantly. If the new screen contains a lot of whitespace,
it will depend of if vsplits are used or not: as long as there is no
vsplits, ce is used to cheaply clear the rest of the line, so
full-screen clear is not needed to reduce bandwith. However a left
vsplit currently needs to be padded with whitespace all the way to the
separator. It is possible ec (clear N chars) can be used to reduce
bandwidth here if this is a problem. (All of this assumes that one
doesn't set Normal guibg=... on a non-BCE terminal, if you do you are
doomed regardless of this change).
Slow can also mean that drawing pixels on the screen is slow. E-ink
screens is a recent example. Avoiding clearing and redrawing the
unchanged part of the screen will always improve performance in these
cases.
|
|\ |
|
| |
| |
| |
| |
| |
| | |
Problem: Cursorline not removed when using 'cursorbind'. (Justin Keyes)
Solution: Store the last cursor line per window. (closes vim/vim#3488)
https://github.com/vim/vim/commit/4a5abbd6138240d109278fe1f0b45489d22f712d
|
|\ \ |
|
| |/ |
|
|/ |
|
|\
| |
| | |
API: make nvim_buf_set_virtual_text handle invalid chars
|
| |
| |
| |
| |
| | |
Clients are supposed to supply only valid text, but if it is
invalid, translate it rather than messing up the screen
|
|/
|
|
|
| |
close #9113
ref #9040
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
ref https://github.com/neovim/neovim/issues/9001#issuecomment-421843790
Steps to reproduce:
:set verbose=9
:call system(['echo'])
E730: using List as a String
|
|
|
|
|
|
|
|
|
| |
NB: existing `color default` test was actually enough to trigger the bug,
when ext_newgrid=false is used. I created the `:hi Normal` test as
I thought the builtin colors wouldn't set Normal (unless 'bg' is changed)
But as the root cause actually comes from `:hi Normal`, it makes sense
to still add the separate test (if `color default` here gets optimized to
become a no-op, or something).
|
|
|
|
|
|
| |
Give embeders a chance to set up nvim, by processing a request before
startup. This allows an external UI to show messages and prompts from
--cmd and buffer loading (e.g. swap files)
|
| |
|
|
|
|
|
| |
Problem: Incorrect adjusting the popup menu for the preview window.
Solution: Compute position and height properl. (Ronan Pigott) Also show at
least ten items. (closes vim/vim#3414)
|
| |
|
|\ |
|
| | |
|
|/
|
|
|
| |
Simplify handling of attributes: collect new attributes in the same pass
as screen lines are rendered, instead of using two passes.
|
| |
|
|
|
|
|
| |
As attribute ids is the convention in the UI protocol
Also remove non-threadsafe calls in tui.c to syntax module.
|
|
|
|
|
|
|
|
|
|
|
| |
The following (run as a script) used to cause a crash due to :sign using a
special redraw (not updating nvim's specific highlight data structures)
without proper redraw first, as split just flags for redraw later.
set cursorline
sign define piet text=>> texthl=Search
split
sign place 3 line=2 name=piet buffer=1
|
| |
|
|
|
|
| |
some clients assume this, so tests should check it
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This allows us to keep track of the source higlight groups,
and not only the final combined highlights.
|
|\
| |
| | |
Fix redrawing issues with narrow screen and remove extra wait in resize tests
|
| |
| |
| |
| |
| | |
Before this, bottom of screen got messed up when modemsg (+ one extra
space to not force terminal scroll) didn't fit on one line.
|
| |
| |
| |
| | |
Saves ~10 seconds in UI tests
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
closes #8466
closes #8664
Regression by 0d7daaad98d5.
- Fix length comparison.
- Fix loop(s) which iterated over all fields of array `pcc` even if it
was not filled up (try unicode 0x9f as statusline character).
Note about the tests:
- To input unicode with more than two hex digits you can use <C-v>U...:
a + U+fe20: a︠
a + U+fe20 + U+fe21: a︠︡
|
|
|
|
|
|
|
|
|
|
|
|
| |
closes #7383
closes #7715
This implements the compromise described in #7383:
* low-priority CursorLine if foreground is not set
* high-priority ("same as Vim" priority) CursorLine if foreground is set
ref d1874ab2821d076397290cc154d87ec2dc352c79
ref 56eda2aa17c80ba380b606f9466f288fb8162dd3
|
|
|
|
|
|
| |
Because we default to laststatus=2 (statusline is always visible), the
:edit message is not useful.
ref #6289
|
|
|
|
|
|
|
|
| |
Problem: For some people the hint about quitting is not sufficient.
Solution: Put <Enter> separately. Also use ":qa!" to get out even when
there are changes.
https://github.com/vim/vim/commit/28a8193e3113f676f89fb6312b099d849df881d3
|
|
|
|
|
|
|
|
| |
According to POSIX[0], only octal escapes are supported by the printf
command. GNU coreutils' printf and some shells' builtin printf versions
which support hex escapes, but dash and non-GNU printf do not.
[0]: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/printf.html
|