| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
Problem: CTRL-W CR does not work properly in a quickfix window.
Solution: Split the window if needed. (Jason Franklin)
https://github.com/vim/vim/commit/0a08c63da17dfd93ac2885e3f3f8a083a9b3131c
|
|
|
|
|
|
| |
Problem: There is no good way to get the window layout.
Solution: Add the winlayout() function. (Yegappan Lakshmanan)
https://github.com/vim/vim/commit/0f6b4f06dece71487a6d8546c50de775d9c8c287
|
| |
|
|
|
|
|
|
|
|
| |
Problem: Clearing a pointer takes two lines.
Solution: Add VIM_CLEAR() and replace vim_clear(). (Hirohito Higashi,
closes #2629)
vim-patch:8.0.1481
|
|
|
|
|
|
| |
- redraw! in an invisible buffer rendered the screen unusable.
- storing the autocmd window handle and using it in API function could lead
to crashes. Unregister the handle when the window is not active.
|
|
|
|
|
|
|
| |
Problem: A BufReadPre autocommand may cause the cursor to move.
Solution: Restore the cursor position after executing the autocommand,
unless the autocommand moved it. (Christian Brabandt,
closes vim/vim#4302, closes vim/vim#4294)
https://github.com/vim/vim/commit/a68e59590905da9b4448ff1fcac929ad1a18da9e
|
|\ |
|
|/ |
|
|
|
|
|
|
|
| |
Problem: No cmdline redraw when tabpages have different 'cmdheight'.
Solution: redraw the command line when 'cmdheight' changes when switching
tabpages. (closes vim/vim#4321)
https://github.com/vim/vim/commit/0fef0aeb1ca6c85df0a656a70b6ca49c34563c89
|
|
|
|
|
|
|
| |
Problem: Some compilers give warning messages.
Solution: Initialize variables, change printf() argument. (Christian
Brabandt, closes vim/vim#4305)
https://github.com/vim/vim/commit/1f3601e92e7fd2813b9541580d6d9649c802eb58
|
|
|
|
|
|
|
|
|
|
| |
- Allow floating windows of width 1. #9846
- For a new floating window the size must be specified. Later on we
might try to calculate a reasonable size by buffer contents
- Remember the configured size of a window, just like its position.
- Make get_config and set_config more consistent. Handle relative='' properly in set_config.
get_config doesn't return keys that don't make sense for a non-floating window.
- Don't use width=0 for non-changed width, just omit the key.
|
|
|
|
|
|
|
|
| |
Using `:wincmd j` and friends doesn't make much sense to a floating window. For
convenience though, any direction will simply change to the previous window.
Make sure the previous window is valid, not the current window, and not another
floating window. Change to the first window (which is never a floating window)
otherwise.
|
|
|
|
|
|
| |
Problem: Not easy to find out what neighbors a window has.
Solution: Add more arguments to winnr(). (Yegappan Lakshmanan)
https://github.com/vim/vim/commit/46ad288b9b2a6eb0430cf802ff5ce68a58629897
|
|
|
|
| |
win_free_mem: set `dirp` to a dummy value.
|
|\ |
|
| | |
|
|/
|
|
|
|
|
|
|
|
| |
split (#9818)
Problem: Height of quickfix window not retained with vertical split.
Solution: Use frame_fixed_height() and frame_fixed_width(). (Hongbo Liu,
closes vim/vim#4013, closes vim/vim#2998)
https://github.com/vim/vim/commit/9e1e358d376284c3aaf3a9f1e568bca297405f62
closes #3608
|
| |
|
| |
|
|
|
|
|
| |
prevwin can be set to the current window. Then we can't jump to it
after closing a float.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Nvim doesn't expect a window-changing command on an created-window event.
autocmd WinNew * wincmd p
help help
- A snapshot for window 1000 is created.
- The window is split and the cursor changes to the new window 1001.
- The autocmd kicks in and switches back to 1000.
- The help buffer is opened.
- On closing the help window 1000, it tries to go back to the snapshotted window
which is... 1000.
- wp1000->w_buffer == NULL
- w_buffer is used by check_cursor()
- 🧨 -> 💥
Fixes https://github.com/neovim/neovim/issues/9773
|
|
|
|
|
| |
ONE_WINDOW considers all windows whereas one_window() ignores floating windows.
Fixes https://github.com/neovim/neovim/issues/9768
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Problem: "gf" does not always work when URL has a port number. (Jakob
Schöttl)
Solution: When a URL is recognized also accept ":". (closes vim/vim#4082)
https://github.com/vim/vim/commit/cbef8e1aa1f260ffde16491b1678eae53a36cf68
|
|
|
|
|
|
| |
Problem: Relative cursor position is not calculated correctly.
Solution: Always set topline, also when window is one line only.
(Robert Webb) Add more info to getwininfo() for testing.
https://github.com/vim/vim/commit/8fcb60f961bdd134599fb016c6537fd496e800f5
|
|
|
| |
fixes #9680
|
| |
|
|
|
|
| |
Co-Author: Dongdong Zhou <dzhou121@gmail.com>
|
|
|
|
|
| |
Problem: Farsi support is outdated and unused.
Solution: Delete the Farsi support.
https://github.com/vim/vim/commit/14184a3133b9a6ee5f711d493c04e41ba4fa7c2f
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
wp->w_height_inner now contains the "inner" size, regardless if the
window has been drawn yet or not. It should be used instead of
wp->w_grid.Rows, for stuff that is not directly related to accessing
the allocated grid memory, such like cursor movement and terminal size
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There is various places where 'conceallevel' and 'concealcursor'
necessitates additional redraws. This tries to separate the different
cases and handle each accordingly:
- Share code with 'cursorline' for the common case: vertical move of
cursor within the same window (concealcursor not active)
- Improve the logic for managing 'concealcursor' and switching modes:
test for the case where the new mode behaves differently from the
last one.
- Clarify the special case for horizontal movement within a line when
'concealcursor' is active, now there is an if-statement only for this
and not hidden in larger check mostly for the first point.
- Keep the special case for moving between windows as is.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
update_single_line() was only used for 'concealcursor'. But 'cursorline'
has very similiar characteristics (redraw both lines on move cursor
between lines) and works without its own special entry point to the
redraw subsystem.
Later on 'concealcursor' and 'cursorline' could share more logic, but for
now make the former use standard redrawWinline(). Make sure it is called
before update_screen(), so that it is immediately visible.
Get rid of update_prepare() and update_finish(), and all issues from
them and their callsites not being in sync with changes to
update_screen()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Using "gt" sometimes does not redraw a tab. (Jason Franklin)
Solution: Always set must_redraw in redraw_all_later().
https://github.com/vim/vim/commit/04b4e1a42409f81d65ae4801ac867dc0bba3d7b8
ref https://github.com/vim/vim/commit/bf3250a8ad39797e3ccdac82d20c6f19533419e4#r31852304
> I fixed it in a more general way, in that if we don't find a window
> that doesn't have the redraw type set it, then it will not set
> must_redraw, even though that's clearly intended.
ref #9152
ref #9155
NA patches:
vim-patch:8.1.0698
vim-patch:8.1.0699
|
| |
|
| |
|
|
|
|
| |
Handle the rare case of full highlight table properly
|
| |
|
| |
|
| |
|