aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Merge pull request #11723 from bfredl/nocleareolBjörn Linse2020-01-16
|\ | | | | messages: echo "line1\r\nline2" should not clear line1
| * messages: echo "line1\r\nline2" should not clear line1Björn Linse2020-01-16
|/
* Merge pull request #11563 from bfredl/mark_madnessBjörn Linse2020-01-16
|\ | | | | extmarks: mark sanity/madness
| * extmarks/bufhl: reimplement using new marktree data structureBjörn Linse2020-01-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Add new marktree data structure for storing marksBjörn Linse2020-01-14
| | | | | | | | | | | | 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.
* | api_set_error: include expression with "Failed to evaluate expression" (#11713)Daniel Hahler2020-01-15
| |
* | version.c: update [ci skip] #11689Marvim the Paranoid Android2020-01-14
|/ | | | | | 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
* API: include invalid buffer/window/tabpage in error message (#11712)Daniel Hahler2020-01-14
|
* doc [ci skip] #11656Justin M. Keyes2020-01-12
|
* edit.c: Ensure undo sync when emulating <Esc>x #11706Matthew Malcomson2020-01-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* defaults: set fillchars "foldsep" to box line #11702Matthieu Coudron2020-01-11
| | | | | "│" U+2502 BOX DRAWINGS LIGHT VERTICAL Fallback to old default | if 'ambiwidth' is set.
* vim-patch:8.0.1593: :qall never exits active :terminal #11704Jan Edmund Lazo2020-01-11
| | | | | 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
* vim-patch:8.0.1769: refactor save/restore of viewstate #11701Jan Edmund Lazo2020-01-11
| | | | | Problem: Repeated saving and restoring viewstate for 'incsearch'. Solution: Use a structure. https://github.com/vim/vim/commit/9b25af36204c0511eab08d621688f0f2008fc68e
* vim-patch.sh: fix for bash 4.3 or older #11700Jan Edmund Lazo2020-01-11
|
* tabpage: disallow go-to-previous in cmdline-win #11692butwerenotthereyet2020-01-09
| | | | | | | | | | | | | | 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.
* Merge #11669 'LSP: differentiate diagnostic underline by severity'Justin M. Keyes2020-01-08
|\
| * LSP: highlight groups test, docJustin M. Keyes2020-01-08
| |
| * test: hoist buf_lines()Justin M. Keyes2020-01-08
| |
| * test: just say no to hyper-granularityJustin M. Keyes2020-01-08
| | | | | | | | | | - Move plugin/lsp/* to plugin/* - Merge lsp/util_spec.lua into lsp_spec.lua
| * LSP: differentiate diagnostic underline by severityAlvaro Muñoz2020-01-08
| |
* | Merge #11691 from janlazo/vim-8.2.0099Justin M. Keyes2020-01-08
|\ \ | |/ |/|
| * Remove (void) hacks, Mark unused attrsJan Edmund Lazo2020-01-08
| |
| * vim-patch:8.2.0099: use of NULL pointer when out of memoryJan Edmund Lazo2020-01-07
| | | | | | | | | | | | 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
* | API: nvim_get_hl_by_id: omit hl instead of returning -1 #11685kevinhwang912020-01-08
| | | | | | | | | | | | | | | | | | 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
* | version.c: update [ci skip] #11636Marvim the Paranoid Android2020-01-07
|/ | | | | | | | | | | | | | | | | | 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
* third-party: upgrade libvterm to v0.1.3 (#11678)Daniel Hahler2020-01-07
|
* ui_grid_resize: fix resize logic for floating window #11655Ville Hakulinen2020-01-06
|
* man.vim: workaround for 'cscopetag' #11679Rob Pilling2020-01-06
| | | | | | | | | | | | | 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).
* Merge #11674 'vim-patch:8.0.1786,8.1.{851,1308,1309,1579}'Justin M. Keyes2020-01-06
|\
| * vim-patch:8.1.1309: test for Normal highlight fails on MS-Windows GUIJan Edmund Lazo2020-01-06
| | | | | | | | | | | | 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
| * vim-patch:8.1.1308: the Normal highlight is not defined when compiled with GUIJan Edmund Lazo2020-01-06
| | | | | | | | | | | | 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
| * vim-patch:8.1.1579: dict and list could be GC'ed while displaying errorJan Edmund Lazo2020-01-05
| | | | | | | | | | | | | | | | | | 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
| * vim-patch:8.1.0851: feedkeys() with "L" does not work properlyJan Edmund Lazo2020-01-05
| | | | | | | | | | | | | | 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
| * vim-patch:8.0.1786: no test for 'termwinkey'Jan Edmund Lazo2020-01-05
|/ | | | | | | 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
* Merge #11670 from janlazo/vim-8.0.1817Justin M. Keyes2020-01-04
|\ | | | | vim-patch:8.0.1817,8.1.{840,842,844}
| * vim-patch:8.1.0844: when timer fails test will hang foreverJan Edmund Lazo2020-01-03
| | | | | | | | | | | | 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
| * vim-patch:8.1.0842: getchar_zero test fails on MS-WindowsJan Edmund Lazo2020-01-03
| | | | | | | | | | | | Problem: getchar_zero test fails on MS-Windows. Solution: Disable the test for now. https://github.com/vim/vim/commit/cb908a813cebf7fb4608ff43fc3d258cf2768809
| * vim-patch:8.1.0840: getchar(0) never returns a character in the terminalJan Edmund Lazo2020-01-03
| | | | | | | | | | | | Problem: getchar(0) never returns a character in the terminal. Solution: Call wait_func() at least once. https://github.com/vim/vim/commit/12dfc9eef14fe74c46145aa9e6cba9666f1bcd40
| * vim-patch:8.0.1817: a timer may change v:count unexpectedlyJan Edmund Lazo2020-01-03
|/ | | | | | | 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
* Merge #11648 from butwerenotthereyet/vim-8.1.0972Justin M. Keyes2020-01-03
|\
| * vim-patch:8.1.0974: cannot switch from terminal window to previous tabpageWe're Yet2020-01-03
| | | | | | | | | | | | 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
| * vim-patch:8.1.0972: cannot switch from terminal window to next tabpageWe're Yet2020-01-03
| | | | | | | | | | | | 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
* | LSP: place hover window by vertical space #11657Ville Hakulinen2020-01-03
| | | | | | | | Make the hover window position itself vertically wherever is the most space available.
* | vim-patch:8.2.0079: test still fails on MS-Windows #11663Jan Edmund Lazo2020-01-03
| | | | | | | | | | 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
* | option: restore termencoding (readonly) #11662Jan Edmund Lazo2020-01-02
|/ | | | 'termencoding' option was removed in abaabd1d03fd723630f6addeadee9928faa4cdde but some plugins check its value.
* Merge pull request #11658 from bfredl/clipstderrBjörn Linse2020-01-02
|\ | | | | clipboard: do not close stderr together with stdout (fixup #11617)
| * clipboard: do not close stderr together with stdout (fixup #11617)Björn Linse2020-01-02
|/ | | | | stderr is needed to get error messages in case of failure, and job handler expects it to be open.
* tabpage: track last-used tabpage #11626butwerenotthereyet2020-01-02
| | | | | | | | | 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('#').
* build.ps1: add "-NoTests" param #11654KillTheMule2020-01-02
|
* API: fix crash on copy_object(kObjectTypeWindow) #11651Ghjuvan Lacambre2020-01-02
| | | Closes #11646