aboutsummaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAge
...
* | vim-patch:8.1.1143: may pass weird strings to file name expansionJan Edmund Lazo2020-01-26
| | | | | | | | | | | | Problem: May pass weird strings to file name expansion. Solution: Check for matching characters. Disallow control characters. https://github.com/vim/vim/commit/8f130eda4747e4a4d68353cdb650f359fd01469b
* | Merge pull request #11755 from bfredl/qf_msgBjörn Linse2020-01-26
|\ \ | | | | | | screen: add missing redraws after a message
| * | screen: add missing redraws after a messageBjörn Linse2020-01-26
| | |
* | | terminal: absolute CWD in term:// URI #11289Chris LaRose2020-01-26
|/ / | | | | | | | | | | | | | | | | This makes it possible to restore the working directory of :terminal buffers when reading those buffers from a session file. Fixes #11288 Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
* | Merge pull request #11740 from Billy4195/fix_jobstopBjörn Linse2020-01-22
|\ \ | | | | | | make jobstop() return 0 instead of throw error for already stopped job
| * | Fix f_jobstop() failed loudlyBilly Su2020-01-22
| |/ | | | | | | | | | | The return value of jobstop() @return 1 for valid job id 0 for invalid id, including jobs have exited or stopped
* | wildmode: fix wildmode=longest,full with pum #11690akovaski2020-01-21
| | | | | | | | | | | | With "wildmode=longest,full" + wildoptions=pum, wildmode should show popupmenu after Tab-Tab, not the horizontal wildmenu. Fixes #11622
* | provider/perl: test older versionsJan Edmund Lazo2020-01-20
| |
* | provider/perl: skip tests on WindowsJan Edmund Lazo2020-01-20
| | | | | | | | | | | | It worked for MINGW builds at one point but it keeps failing now because of perl dependencies or nvim session issues for tests (named pipes as sockets on Windows?).
* | provider/perl: add basic testsJan Edmund Lazo2020-01-20
| |
* | tabpage: "tabnext #" switches to previous tab #11734butwerenotthereyet2020-01-20
| |
* | shed biking: it's always extmarks, never marks extendedBjörn Linse2020-01-20
|/
* Merge #11735 ':tabs : show # for previous tabpage'Justin M. Keyes2020-01-19
|\
| * tabpage: :tabs indicates previous tabpage's curwinWe're Yet2020-01-19
| |
* | WinClosed: sort auevents.lua; improve testsJustin M. Keyes2020-01-18
| | | | | | | | | | - test: reduce verbosity, condense redundancy, improve readability - auevents.lua: keep events sorted by name. ref afd1d412fa91
* | autocmd: WinClosed exposes window id as <afile>notomo2020-01-18
| |
* | autocmd: add WinClosed eventMarcos ALMEIDA2020-01-18
|/ | | | | | - only fire once, just before freeing mem - trigger when on a different buffer - avoid recursive calls in another tab
* messages: echo "line1\r\nline2" should not clear line1Björn Linse2020-01-16
|
* 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: include invalid buffer/window/tabpage in error message (#11712)Daniel Hahler2020-01-14
|
* 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.
* 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.
* 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
* 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
* 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.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
* 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('#').
* lua: metatable for empty dict valueBjörn Linse2020-01-01
|
* Merge #11642 'CI: test powershell core'Justin M. Keyes2020-01-01
|\
| * ci: test powershell core on LinuxJan Edmund Lazo2019-12-31
| |
* | LSP: eliminate lsp.stop_all_clients()Justin M. Keyes2019-12-31
| | | | | | | | | | | | Reduce API surface. We don't need so many variations of functions. Too many functions means verbose, largely redundant documentation, tests, and cognitive burden.
* | doc [ci skip]Justin M. Keyes2019-12-31
|/
* ui: add basic tests for pumheight,pumwidthJan Edmund Lazo2019-12-29
|
* vim-patch:8.1.0554: popup menu overlaps with preview windowJan Edmund Lazo2019-12-29
| | | | | | | | Problem: Popup menu overlaps with preview window. Solution: Adjust the height computation. (Hirohito Higashi, closes vim/vim#3414) https://github.com/vim/vim/commit/614ab8aa00346724bfc27980d25985d482269b75 Cherry-picked "row -> pum_win_row" rename changes from patch 8.1.0062.
* vim-patch:8.0.1538: popupmenu is too far left when completion is longJan Edmund Lazo2019-12-29
| | | | | | Problem: Popupmenu is too far left when completion is long. (Linwei) Solution: Adjust column computations. (Hirohito Higashi, closes vim/vim#2661) https://github.com/vim/vim/commit/bb008dd3239c5fe3ac04501e38e4c950fa9426c8
* vim-patch:8.0.1491: the minimum width of the popup menu is hard codedJan Edmund Lazo2019-12-29
| | | | | | | Problem: The minimum width of the popup menu is hard coded. Solution: Add the 'pumwidth' option. (Christian Brabandt, James McCoy, closes vim/vim#2314) https://github.com/vim/vim/commit/a8f04aa275984183bab5bb583b128f38c64abb69
* Revert "runtime: Add vim.lsp.get_client_by_name" #11623Ashkan Kiani2019-12-29
| | | reverts 680693e263576e34d5947c43ab0ae3ff0ebfeab5 #11603
* runtime: Add vim.lsp.get_client_by_name (#11603)Hirokazu Hata2019-12-28
| | | | Since the client name is more obvious than the client id for the user, add an API to get the lsp client by the client name.
* LSP: Fix flaky test #11618Ashkan Kiani2019-12-27
|
* Merge #11568 'fillchars: foldopen, foldsep, foldclose'Justin M. Keyes2019-12-26
|\
| * fillchars: adding foldopen, foldsep, foldcloseMatthieu Coudron2019-12-25
| | | | | | | | | | You can try it with set fillchars+=foldopen:▾,foldsep:│,foldclose:▸
* | system(), jobstart(): raise error on non-executable #11234Daniel Hahler2019-12-24
|/ | | | | | | | | | * tv_to_argv: error when cmd is not executable Callers always assume that emsg was emitted: - https://github.com/neovim/neovim/blob/57fbf288/src/nvim/eval.c#L12509 - https://github.com/neovim/neovim/blob/57fbf288/src/nvim/eval.c#L17923 - https://github.com/neovim/neovim/blob/57fbf288/src/nvim/eval.c#L18202 * test/functional/provider: display reason from missing_provider * provider#node#Detect: skip / handle non-existing node executable
* Merge pull request #11113 from bfredl/tree-sitter-queryBjörn Linse2019-12-22
|\ | | | | tree-sitter step 2: query API and highlighting prototype
| * tree-sitter: implement query functionality and highlighting prototype ↵Björn Linse2019-12-22
| | | | | | | | [skip.lint]
* | tests: ex_terminal_spec: retry ":terminal (with fake shell)" (#11588)Daniel Hahler2019-12-22
|/ | | | | | | | | | | | | | | | | | | | | | | Flaky failure (Travis CI, macOS): [ RUN ] :terminal (with fake shell) works with gf: 10518.41 ms FAIL test/functional/terminal/ex_terminal_spec.lua:248: Row 1 did not match. Expected: |*^ready $ echo "scripts/shadacat.py" | |* | |*[Process exited 0] | |:terminal echo "scripts/shadacat.py" | Actual: |*^ | |*[Process exited 0] | |* | |:terminal echo "scripts/shadacat.py" | To print the expect() call that would assert the current screen state, use screen:snapshot_util(). In case of non-deterministic failures, use screen:redraw_debug() to show all intermediate screen states. stack traceback: test/functional/ui/screen.lua:579: in function '_wait' test/functional/ui/screen.lua:361: in function 'expect' test/functional/terminal/ex_terminal_spec.lua:248: in function <test/functional/terminal/ex_terminal_spec.lua:245>