| Commit message (Collapse) | Author | Age |
|\
| |
| | |
messages: echo "line1\r\nline2" should not clear line1
|
|/ |
|
|\
| |
| | |
extmarks: mark sanity/madness
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| | |
This is inspired by Atom's "marker index" data structure to efficiently
adjust marks to text insertions deletions, but uses a wide B-tree
(derived from kbtree) to keep the nesting level down.
|
| | |
|
|/
|
|
|
|
| |
vim-patch:8.0.1789: BufWinEnter does not work well for a terminal window
vim-patch:8.2.0105: Vim license not easy to find on github
vim-patch:8.2.0106: printf formats are not exactly right
vim-patch:8.2.0107: hgignore is out of sync from gitignore
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
"│" U+2502 BOX DRAWINGS LIGHT VERTICAL
Fallback to old default | if 'ambiwidth' is set.
|
|
|
|
|
| |
Problem: :qall never exits with an active terminal window.
Solution: Add a way to kill a job in a terminal window.
https://github.com/vim/vim/commit/25cdd9c33b21ddbd31321c075873bb225450d2d2
|
|
|
|
|
| |
Problem: Repeated saving and restoring viewstate for 'incsearch'.
Solution: Use a structure.
https://github.com/vim/vim/commit/9b25af36204c0511eab08d621688f0f2008fc68e
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After cbc8d72fde4b19176028490934ff7a447afe523c when editing
the command in the command editing window (q:, q/, q?) it was possible
to switch to the previous tab. Doing so put Nvim in a bad state.
Moreover, switching tabs via the other available mechanisms (gt, gT,
<C-W>gt, <C-W>gT) is not possible when in the command editing window.
Here, the behavior is prevented. It is no longer possible to switch to
the previous tab when editing the command in the command editing window.
The solution is to share code between gt, gT, and g<Tab>. Specifically,
goto_tabpage_lastused now calls through goto_tabpage rather than
directly calling goto_tabpage_tp. Doing so works well because all the
validation enjoyed by gt and gT is present in goto_tabpage.
|
|\ |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
- Move plugin/lsp/* to plugin/*
- Merge lsp/util_spec.lua into lsp_spec.lua
|
| | |
|
|\ \
| |/
|/| |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Problem: Use of NULL pointer when out of memory.
Solution: Check for NULL pointer. (Dominique Pelle, closes vim/vim#5449)
https://github.com/vim/vim/commit/8b7aa2f9b238df916c161cdacda032c25d72a0ae
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: When Normal highlight group defines ctermfg/bg, but other
highlight group lacks ctermfg/bg, nvim_get_hl_by_id(hl_id,
v:false) returns -1 for the missing ctermfg/bg instead of just
omitting it.
Solution: checking for -1 in hlattrs2dict()
fix #11680
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
vim-patch:8.0.0902: cannot specify directory or environment for a job
vim-patch:8.0.1127: Test_peek_and_get_char fails on 32 bit system
vim-patch:8.1.0661: clipboard regexp might be used recursively
vim-patch:8.1.0834: GUI may wait too long before dealing with messages
vim-patch:8.2.0040: timers test is still flaky on Travis for Mac
vim-patch:8.2.0053: windowsversion() does not always return the right value
vim-patch:8.2.0055: cannot use ":gui" in vimrc with VIMDLL enabled
vim-patch:8.2.0057: cannot build with small features
vim-patch:8.2.0059: compiler warnings for unused variables in small build
vim-patch:8.2.0060: message test only runs with one encoding
vim-patch:8.2.0065: Amiga and alikes: autoopen only used on Amiga OS4
vim-patch:8.2.0080: globals using INIT4() are not in the tags file
vim-patch:8.2.0081: MS-Windows also need the change to support INIT4()
vim-patch:8.2.0086: build error for small version
vim-patch:8.2.0094: MS-Windows: cannot build with Strawberry Perl 5.30
vim-patch:8.2.0100: macros for Ruby are too complicated
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The old `:Man` implementation would take either the word under
the cursor, or the argument passed in, and load that as a man page.
Since we now use 'tagfunc' and look for all relevant man-pages, if
your system has several (i.e. same name, different sections), we return
several, giving the user an option.
This works for most tag commands except `:tjump`, which will
fail if there's multiple tags to choose from. This just happens to
be what the cscope code uses (it actually attempts to prompt the
user, but this fails).
|
|\ |
|
| |
| |
| |
| |
| |
| | |
Problem: Test for Normal highlight fails on MS-Windows GUI.
Solution: Skip the test for MS-Windows GUI.
https://github.com/vim/vim/commit/6b528fa062a5ac6bb5d8bd3abc26f32c65691d00
|
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Dict and list could be GC'ed while displaying error in a timer.
(Yasuhiro Matsumoto)
Solution: Block garbage collection when executing a timer. Add
test_garbagecollect_soon(). Add "no_wait_return" to
test_override(). (closes vim/vim#4571)
https://github.com/vim/vim/commit/adc6714aac20f5462a0ecec50ab4806b2f3ab0db
|
| |
| |
| |
| |
| |
| |
| | |
Problem: feedkeys() with "L" does not work properly.
Solution: Do not set typebuf_was_filled when using "L". (Ozaki Kiichi,
closes vim/vim#3885)
https://github.com/vim/vim/commit/8d4ce56a19ed14d13332f94ad592fff2d9a715d5
|
|/
|
|
|
|
|
| |
Problem: No test for 'termwinkey'.
Solution: Add a test. Make feedkeys() handle terminal_loop() returning
before characters are consumed.
https://github.com/vim/vim/commit/b2ac14c0b5e23f8ab97c5c784bcd83e13ba8ded3
|
|\
| |
| | |
vim-patch:8.0.1817,8.1.{840,842,844}
|
| |
| |
| |
| |
| |
| | |
Problem: When timer fails test will hang forever.
Solution: Use reltime() to limit waiting time. (Ozaki Kiichi, closes vim/vim#3878)
https://github.com/vim/vim/commit/50948e4ac24314d5a70404bbc592ffc28755ad9f
|
| |
| |
| |
| |
| |
| | |
Problem: getchar_zero test fails on MS-Windows.
Solution: Disable the test for now.
https://github.com/vim/vim/commit/cb908a813cebf7fb4608ff43fc3d258cf2768809
|
| |
| |
| |
| |
| |
| | |
Problem: getchar(0) never returns a character in the terminal.
Solution: Call wait_func() at least once.
https://github.com/vim/vim/commit/12dfc9eef14fe74c46145aa9e6cba9666f1bcd40
|
|/
|
|
|
|
|
| |
Problem: A timer may change v:count unexpectedly.
Solution: Save and restore v:count and similar variables when a timer
callback is invoked. (closes vim/vim#2897)
https://github.com/vim/vim/commit/b0f42ba60d9e6d101d103421ba0c351811615c15
|
|\ |
|
| |
| |
| |
| |
| |
| | |
Problem: Cannot switch from terminal window to previous tabpage.
Solution: Make CTRL-W gT move to previous tabpage.
https://github.com/vim/vim/commit/882d02eeb571a13a502fe82a04c9eaffa630c294
|
| |
| |
| |
| |
| |
| | |
Problem: Cannot switch from terminal window to next tabpage.
Solution: Make CTRL-W gt move to next tabpage.
https://github.com/vim/vim/commit/72e83c1ae535e2ebc35b114d34d0a811eb62b068
|
| |
| |
| |
| | |
Make the hover window position itself vertically wherever is the most
space available.
|
| |
| |
| |
| |
| | |
Problem: Python 3 unicode test still fails on MS-Windows.
Solution: Do not set 'encoding' to "euc-tw" on MS-Windows.
https://github.com/vim/vim/commit/7fc4785ea19306b7e94beb61f226cf40c32b1aba
|
|/
|
|
| |
'termencoding' option was removed in abaabd1d03fd723630f6addeadee9928faa4cdde
but some plugins check its value.
|
|\
| |
| | |
clipboard: do not close stderr together with stdout (fixup #11617)
|
|/
|
|
|
| |
stderr is needed to get error messages in case of failure, and
job handler expects it to be open.
|
|
|
|
|
|
|
|
|
| |
In a multi-window scenario, it is possible to return focus to the last
accessed window via n_CTRL-W_p. However, in the case of a multi-tab
scenario, there was previously no way to return focus to the last
accessed *tab*. Here, that ability is added via n_g<tab>.
Additionally, the index of the previous tab is exposed via
tabpagenr('#'), mirroring the existing functionality of winnr('#').
|
| |
|
|
|
| |
Closes #11646
|