| Commit message (Collapse) | Author | Age |
... | |
| |
|
|
|
|
|
|
| |
Problem: complete_info() does not work when CompleteDone is triggered.
Solution: Trigger CompleteDone before clearing the info.
https://github.com/vim/vim/commit/17e04781f26c24769e202351c194ee252927eee1
|
|
|
|
|
|
|
| |
Problem: Get warning message when 'completefunc' returns nothing.
Solution: Allow for returning v:none to suppress the warning message.
(Yasuhiro Matsumoto, closes vim/vim#3789)
https://github.com/vim/vim/commit/cee9bc2e3dc5c16a9d2a8d0e23aa0d5fdefa3a4a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add new "splice" interface for tracking buffer changes at the byte
level. This will later be reused for byte-resolution buffer updates.
(Implementation has been started, but using undocumented "_on_bytes"
option now as interface hasn't been finalized).
Use this interface to improve many edge cases of extmark adjustment.
Changed tests indicate previously incorrect behavior. Adding tests for
more edge cases will be follow-up work (overlaps on_bytes tests)
Don't consider creation/deletion of marks an undoable event by itself.
This behavior was never documented, and imposes complexity for little gain.
Add nvim__buf_add_decoration temporary API for direct access to the new
implementation. This should be refactored into a proper API for
decorations, probably involving a huge dict.
fixes #11598
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After PR #8226 an unmapped META key in insert mode behaves like
ESC-<key> (:help i_META).
The behaviour does not fully match, since if <Esc>-<key> is pressed
manually then since it were pressed manually `gotchars` would be called
on the second <key> after insert-mode had already been left.
This would mean that `may_sync_undo` (called from `gotchars`) would
call `u_sync(FALSE)` on the second key (since we would be in normal
mode).
This overall means that <Meta-[something]> behaves differently with
respect to undo than <Esc>[something] when the [something] makes a
change.
As an example, under `nvim -u NONE`:
ihello<M-.>u
leaves the buffer empty, while
ihello<Esc>.u
leaves the buffer with one instance of `hello`.
- Fix by calling u_sync() manually in the new clause under
`normalchar:` in `insert_handle_key`.
- Update test in tui_spec.lua that accidentally relied on the old behaviour.
|
|
|
|
|
|
|
| |
Problem: Using simalt in a GUIEnter autocommand inserts strange characters.
(Chih-Long Chang)
Solution: Ignore K_NOP in Insert mode. (closes vim/vim#2379)
https://github.com/vim/vim/commit/c5aa55db7e5bc791f99fb15b0f4be0d5dd166f62
|
|
|
|
|
|
|
| |
This covers all "small" inserts and deletes in insert mode, as well
as a few more cases like small normal mode deletes
vim-patch:8.1.0678: text properties as not adjusted for inserted text
|
|
|
|
|
|
|
|
| |
NB: this is not the final implementation. Bufhl should be made a
part of the extmark tree, so that "start" adjustment just works
automatically. But "stop" will still need some ad-hoc trickery,
until extended marks natively support ranges (hopefully sooner than
forever).
|
|
|
|
|
|
|
| |
Problem: Slow redrawing with DirectX.
Solution: Avoid calling gui_mch_flush() unnecessarily, especially when
updating the cursor. (Ken Takata, closes vim/vim#2560)
https://github.com/vim/vim/commit/a338adcf222b6a24e26ea5ae6a2ad27f914acb38
|
| |
|
|
|
|
|
|
| |
Problem: Searchit() has too many arguments.
Solution: Move optional arguments to a struct. Add the "wrapped" argument.
https://github.com/vim/vim/commit/92ea26b925a0835badb0af2d5887238a4198cabb
|
|\
| |
| | |
vim-patch:8.1.{1099,1228,1962} add 'tagfunc'
|
| |
| |
| |
| |
| |
| | |
Problem: Not possible to process tags with a function.
Solution: Add tagfunc() (Christian Brabandt, Andy Massimino, closes vim/vim#4010)
https://github.com/vim/vim/commit/45e18cbdc40afd8144d20dcc07ad2d981636f4c9
|
|/
|
|
|
|
|
| |
Problem: Too many #ifdefs.
Solution: Graduate FEAT_COMMENTS.
https://github.com/vim/vim/commit/8c96af9c05bfcac2d5ae081e098d4863db561511
Fixes https://github.com/vim/vim/issues/4972.
|
|
|
|
|
|
|
| |
Problem: InsertCharPre causes problems for autocomplete. (Lifepillar)
Solution: Check for InsertCharPre before calling vpeekc(). (Christian
Brabandt, closes vim/vim#2876)
https://github.com/vim/vim/commit/39de95257714b76ccd845d081cff57830a79b488
|
|
|
|
|
|
| |
Problem: "safe" argument of call_vim_function() is always FALSE.
Solution: Remove the argument.
https://github.com/vim/vim/commit/ded27a1febda3db7447958b60a7d791af514d124
|
| |
|
|
|
| |
In edit.c insert_execute calls ins_compl_addfrommatch
|
|\ |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Problem: Insert completion flags are mixed up.
Solution: Clean up flags use of ins_compl_add() and cp_flags.
https://github.com/vim/vim/commit/d9eefe3155277cec71105f52d34a76f7a3237e7f
|
|/
|
|
|
|
| |
Problem: The a: dict is not immutable as documented.
Solution: Make the a:dict immutable, add a test. (Ozaki Kiichi, Yasuhiro
Matsumoto, closes vim/vim#3929)
https://github.com/vim/vim/commit/31b816042fca879b11965ddd75287732563ba698
|
|
|
| |
assert(curbuf) in ins_compl_get_exp
|
| |
|
| |
|
|\
| |
| | |
fix #10604
|
| |
| |
| |
| |
| |
| | |
Problem: unreliable types for complete function arguments
Solution: fix argument type for functions w/ unreliable type conversion(Ozaki Kiichi)
vim/vim#2993
|
| |
| |
| |
| |
| |
| | |
Problem: unreliable types for complete function arguments
Solution: fix argument type for functions w/ unreliable type conversion(Ozaki Kiichi)
vim/vim#2993
|
| |
| |
| |
| |
| |
| | |
(This was originally a Neovim patch, but this commit merges some changes
from the Vim patch.)
https://github.com/vim/vim/commit/d7f246c68cfb97406bcd4b098a2df2d870b3ef92
|
|/
|
|
| |
Also revert possibly-wrong change in f_sign_getplaced() from
652be3cb0040.
|
| |
|
|
|
| |
Fixes https://github.com/neovim/neovim/issues/3757.
|
|
|
|
|
|
|
|
| |
Problem: Using feedkeys() does not work to test Insert mode completion.
(Lifepillar)
Solution: Do not check for typed keys when executing :normal or feedkeys().
Fix thesaurus completion not working when 'complete' is empty.
https://github.com/vim/vim/commit/02ae9b4a93deea4993d7abe20485f91f1cce5e36
|
|
|
|
|
|
| |
Problem: Insert mode completion state is confusing.
Solution: Move ctrl_x_mode into edit.c. Add CTRL_X_NORMAL for zero.
https://github.com/vim/vim/commit/bc0e9adae9c253f36803665180e4b576d1e725ab
|
|
|
|
|
|
|
|
| |
Problem: CTRL-G U in Insert mode doesn't work to avoid splitting the undo
sequence for shift-left and shift-right.
Solution: Also check dont_sync_undo for shifted cursor keys. (Christian
Brabandt)
https://github.com/vim/vim/commit/75bf3d22f42684beecd977f3185e98045b5c33d9
|
|
|
|
|
|
| |
Problem: Insert mode completion may use an invalid buffer pointer.
Solution: Check for ins_buf to be valid. (closes vim/vim#3290)
https://github.com/vim/vim/commit/02ab97709d5c56fb7fe42e134bb9fc54f76a1f9f
|
|
|
|
|
|
| |
Problem: "gn" selects the wrong text with a multi-line match.
Solution: Get the end position from searchit() directly. (closes vim/vim#3695)
https://github.com/vim/vim/commit/5d24a2257e597fd752e33b2c1e9c19cf9114a517
|
|
|
|
|
|
|
|
|
| |
Problem: Cannot tell whether a register is being used for executing or
recording.
Solution: Add reg_executing() and reg_recording(). (Hirohito Higashi,
closes vim/vim#2745) Rename the global variables for consistency. Store
the register name in reg_executing.
https://github.com/vim/vim/commit/0b6d911e5de1a1c10a23d4c2ee1b0275c474a2dd
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Problem: Clearing a pointer takes two lines.
Solution: Add VIM_CLEAR() and replace vim_clear(). (Hirohito Higashi,
closes #2629)
vim-patch:8.0.1481
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Author: roxma <roxma@qq.com>
Problem: No way to avoid filtering for autocomplete function, causing
flickering of the popup menu.
Solution: Add the "equal" field to complete items. (closes vim/vim#3887)
https://github.com/vim/vim/commit/73655cf0ca37a9aa8f56fc51bb853a8b1f7b43d4
closes #9566
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| | |
Fixes https://github.com/neovim/neovim/issues/9755
|
| | |
|
| | |
|