| Commit message (Collapse) | Author | Age |
... | |
|
|
|
| |
Co-Author: Dongdong Zhou <dzhou121@gmail.com>
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
vim-patch:8.1.0726: redrawing specifically for conceal feature
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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: Custom operators can't act upon a forced motion. (Christian
Wellenbrock)
Solution: Add the forced motion to the mode() result. (Christian Brabandt,
closes vim/vim#3490)
https://github.com/vim/vim/commit/5976f8ff00efcb3e155a89346e44f2ad43d2405a
closes #8667
closes #9476
Christian Wellenbrock:
> For (most) built in text objects it's possible to force operation on
> them to be linewise, for example by using `dVab` (`:h o_V`,
> `motion_force`). When using custom text objects (defined as mappings
> by plugins for example), this doesn't currently work.
>
> Example:
>
> onoremap x viw
>
> Open a file with a few lines each containing some words. With the
> cursor on any word, try:
>
> 1. `dw` (builtin) deletes some characters
> 2. `dVw` (builtin) deletes linewise
> 3. `dx` (from mapping) deletes some characters
> 4. `dVx` (from mapping) deletes some characters, but should delete
> linewise
ref: https://github.com/wellle/targets.vim/issues/214
ref: https://gitter.im/neovim/neovim?at=5b379ff7f1664406610e7483
|
|
|
|
|
| |
> V1026 The 'curwin->w_curswant' variable is incremented in the loop.
> Undefined behavior will occur in case of signed integer overflow.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Decide whether to highlight the visual-selected character under the
cursor, depending on 'guicursor' style:
- Highlight if cursor is blinking or non-block (vertical, horiz).
- Do NOT highlight if cursor is non-blinking block.
Traditionally Vim's visual selection does "reverse mode", which perhaps
conflicts with the non-blinking block cursor. But 'guicursor' defaults
to a vertical bar for selection=exclusive, and this confuses users who
expect to see the text highlighted.
closes #8983
|
|
|
|
| |
This check is meaningless, we assume the terminal supports reverse-mode.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Problem: Diffs are not always updated correctly.
Solution: When using internal diff update for any changes properly.
https://github.com/vim/vim/commit/e3521d9cbb786806eaff106707851d37d2c0ecef
|
| |
|
|
|
|
| |
Follow-up of vim-patch:8.0.1215
|
|
|
|
|
|
| |
Problem: Newer gcc warns for implicit fallthrough.
Solution: Consistently use a FALLTHROUGH comment. (Christian Brabandt)
https://github.com/vim/vim/commit/2f40d129bf45cd35976e4120336ae6d504f5a5dd
|
|\ |
|
| | |
|
|/
|
|
|
| |
Problem: "yL" is affected by 'scrolloff'. (Eli the Bearded)
Solution: Don't use 'scrolloff' when an operator is pending.
https://github.com/vim/vim/commit/44cc4cf72fdd12cd9a779031d443aac4254d51ae
|
| |
|
|
|
|
|
|
| |
Problem: Various typos.
Solution: Correct the mistakes, change "cursur" to "cursor". (closes vim/vim#2887)
https://github.com/vim/vim/commit/b9464821901623f983528acaed9e4dc2cea7387b
|
|
|
|
|
|
|
| |
Problem: Strange error when using K while only spaces are selected.
(Christian J. Robinson)
Solution: Check for blank argument.
https://github.com/vim/vim/commit/a4f99f5a8b827162a26ca4e4d59f4f224503398a
|
|\ |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
has_mbyte is always true for nvim.
|
|/
|
|
|
|
| |
Problem: Test for <cexpr> fails without +balloon_eval feature.
Solution: Remove #ifdefs.
https://github.com/vim/vim/commit/95c83c64be8d4af74bfda1f283a5bcf3f110719e
|
| |
|
|
|
|
|
|
|
| |
Problem: Crash if timer closes window while dragging status line.
Solution: Check if the window still exists. (Yasuhiro Matsumoto, closes
vim/vim#1979)
https://github.com/vim/vim/commit/989a70c590c2bd109eb362d3a0e48cb1427ae13d
|
| |
|
|
|
| |
Ref #8474
|
|
|
|
|
|
| |
Problem: "1gd" may hang.
Solution: Don't get stuck in one position. (Christian Brabandt, closes vim/vim#1643)
https://github.com/vim/vim/commit/60402d68da09997cacdeec71fd22c9344f8f40d5
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Problem: When gF fails to edit the file the cursor still moves to the found
line number.
Solution: Check the return value of do_ecmd(). (Michael Hwang)
https://github.com/vim/vim/commit/2a79ed293c077ba791db962f0e121cf97ba4f7a7
|
|
|
|
|
| |
Problem: There are still a few macros that should be all-caps.
Solution: Make a few more macros all-caps.
https://github.com/vim/vim/commit/8820b48654b62472821d9b155fe03ab7ac13a05c
|
|
|
|
|
| |
Originally written by @phodge in
https://github.com/neovim/neovim/pull/5269.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: No autocmd triggered in Insert mode with visible popup menu.
Solution: Add TextChangedP. (Prabir Shrestha, Christian Brabandt,
closes vim/vim#2372, closes vim/vim#1691)
Fix that the TextChanged autocommands are not always triggered
when sourcing a script.
https://github.com/vim/vim/commit/5a093437199001a0d60d8e18e2b9539b99a7757c
|
|/ |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Problem: Can exit while a terminal is still running a job.
Solution: Consider a buffer with a running job like a changed file.
https://github.com/vim/vim/commit/eb44a68b42eda207a5bc4def9ea8fc4d38acb650
|
| |
|
|
|
|
|
|
|
|
| |
Problem: Invalid memory access in read_redo(). (gy741)
Solution: Convert the replacement character back from a negative number to
CR or NL. (hint by Dominique Pelle, closes vim/vim#2616)
https://github.com/vim/vim/commit/f12519dec88251305793f1651f558d16506b4be2
|
| |
|