aboutsummaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAge
...
| * | | Refactor(tests): mkdir_p in startup/init.lua testshadmansaleh2021-07-01
| | | |
| * | | Refactor(tests): Use os commands in mkdir_p helpershadmansaleh2021-06-30
| | | |
* | | | Tests(clipboard): Add test for block pasteshadmansaleh2021-07-01
| | | |
* | | | vim-patch:8.2.1905: the wininfo list may contain stale entries (#14884)Daniel Steinberg2021-06-30
|/ / / | | | | | | | | | | | | | | | Problem: The wininfo list may contain stale entries. Solution: When closing a window remove any other entry where the window pointer is NULL. https://github.com/vim/vim/commit/4882d983397057ea91c584c5a54aaccf15016d18
* | | Merge pull request #14779 from tjdevries/tjdevries/vim_opt_fixesTJ DeVries2021-06-29
|\ \ \ | | | | | | | | An assortment of various vim.opt fixups.
| * | | fix(vim.opt): Fix #14828 with empty values being incorrectly insertedTJ DeVries2021-06-29
| | | |
| * | | fix(vim.opt): Fix #14668 Now correctly handles unescaped commas in isfname styleTJ DeVries2021-06-29
| | | |
| * | | fix(vim.opt): Fix #14669 whichwrap now acts as expectedTJ DeVries2021-06-29
| | | |
| * | | fix(vim.opt): Add basic error handlingDavid Zhang2021-06-29
| | | |
| * | | fix(vim.opt): Get window options before setting.ckipp012021-06-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This closes #14677, but I also am a little unsure if there are times where this may not be correct. However, this just changes the behavior that even if `was_set` was false, we still get for `nvim_win_get_option`.
| * | | fix(vim.opt): #14708 Now lets you put duplicate values in wildmodeTJ DeVries2021-06-29
| | | |
* | | | Merge pull request #14335 from chentau/extmark_delbytesBjörn Linse2021-06-29
|\ \ \ \ | |/ / / |/| | | Extmarks: manually zero out `curbuf->deleted_bytes2` on substitute and join
| * | | Manually zero out deleted_bytes2 when substituting and joining lineschentau2021-06-29
| | |/ | |/|
* | | fix(doc): remove reference to vim.lsp.callbacks (#14576)Matthieu Coudron2021-06-28
| | | | | | | | | | | | too old now, can be confusing
* | | [RDY] Add buffer information to tabline_update (#12481)John Gehrig2021-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add buffer information to tabline_update Most terminal implementations of the tabline display buffer and tab information. Many neovim-qt users disable GuiTabline because it lacks functionality provided in the terminal implementation. The tabline_update event should include buffer information too, so client GUIs can display rich useful tabs.
* | | vim-patch:8.1.0897: can modify a:000 when using a reference (#14902)Jan Edmund Lazo2021-06-26
| | | | | | | | | | | | | | | | | | Problem: Can modify a:000 when using a reference. Solution: Make check for locked variable stricter. (Ozaki Kiichi, closes vim/vim#3930) https://github.com/vim/vim/commit/05c00c038bc16e862e17f9e5c8d5a72af6cf7788
* | | Fix `<afile>` getting prepended with a slash on WinClosed (#14515)Ghjuvan Lacambre2021-06-26
| | | | | | | | | | | | | | | | | | It is wrong to assume that you can't shorten a path if it's in `/`: you can always shorten it by removing the forward slash. Closes #14512
* | | fix(lsp): do not convert vim.NIL to nil in listsAkin Sowemimo2021-06-24
| | |
* | | Merge pull request #14868 from shadmansaleh/patch_verbose_for_luaBjörn Linse2021-06-23
|\ \ \ | | | | | | | | fix(runtime): Fix bugs regarding lua runtime files
| * | | fix(source): Source giving E484 & parsing error at line 1 for lua filesshadmansaleh2021-06-21
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | It's happening because do_source is only expected to return FAIL when it was unable to open file . But `nlua_exec_file` returns fail for parsing and execution error too . Those errors are emitted through `nlua_error`. So now return value of nlua_exec_file is ignored like do_cmdline. It now only returns fail when it was unable to open file that check is done before calling nlua_exec_file or do_cmdline. Errors in nlua_exec_file are still directly emitted through nlua_error like before.
* | | Merge pull request #14719 from snezhniylis/marktree_delete_node_iter_fixBjörn Linse2021-06-22
|\ \ \ | | | | | | | | Fix deletable nodes in MarkTree sometimes getting skipped
| * | | extmark: fix deletable nodes in MarkTree sometimes getting skippedsnezhniylis2021-06-22
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As per #14236, performing extmark cleanup in a certain namespace does not guarantee removing all the extmarks inside given namespace. The issue resides within the tree node removal method and results in a couple of rare edge cases. To demonstrate what causes this bug, I'll give an example covering one of the edge cases. === AN EXAMPLE === (A) (B) (C) (D) (E) --------- --------- --------- --------- --------- <0, 1> <0, 1> <0, 1> <0, 1> <0, 1> <0, 2> <0, 2> <0, 2> <0, 2> <0, 2> <0, 3> <0, 3> <0, 3> <0, 3> <0, 3> <0, 4> <0, 4> <0, 4> <0, 4> <0, 4> <0, 5> <0, 5> <0, 5> <0, 5> <0, 5> <0, 6> <0, 6> <0, 6> <0, 6> <0, 6> <0, 7> <0, 7> <0, 7> <0, 7> <0, 7> <0, 8> <0, 8> <0, 8> <0, 8> <0, 8> <0, 9> <0, 9> * * <0, 9> * <0, 9> [0, 10] * [0, 10] <0, 9> [0, 11] [0, 11] [0, 11] [0, 11] [0, 11] [0, 12] [0, 12] * [0, 12] [0, 12] [0, 12] [0, 13] [0, 13] [0, 13] [0, 13] [0, 13] [0, 14] [0, 14] [0, 14] [0, 14] [0, 14] [0, 15] [0, 15] [0, 15] [0, 15] [0, 15] [0, 16] [0, 16] [0, 16] [0, 16] [0, 16] [0, 17] [0, 17] [0, 17] [0, 17] [0, 17] [0, 18] [0, 18] [0, 18] [0, 18] [0, 18] [0, 19] [0, 19] [0, 19] [0, 19] [0, 19] [0, 20] [0, 20] [0, 20] [0, 20] [0, 20] DIAGRAM EXPLANATION * Every column is a state of the marktree at a certain stage. * To make it simple, I don't draw the whole tree. What you see are 2 leftmost parent nodes ([0, 10], [0, 20]) and their children placed in order `MarkTreeIter` would iterate through. From top to bottom. * Numbers on this diagram represent extmark coordinates. Relative positioning and actual mark IDs used by the marktree are avoided for simplicity. * 2 types of brackets around coordinates represent 2 different extmark namespaces (`ns_id`s). * '*' shows iterator position. ACTUAL EXPLANATION Let's assume, we have two sets of extmarks from 2 different plugins: * Plugin1: <0, 1-9> * Plugin2: [0, 10-20] 1. Plugin2 calls `vim.api.nvim_buf_clear_namespace(buf_handle, ns_id, 0, -1)` to clear all its extmarks which results in `extmark_clear` call. 2. The iteration process goes on ignoring extmarks with irrelevant `ns_id` from Plugin1, until it reaches [0, 10], entering state (A). 3. At the end of cleaning up process, `marktree_del_itr` gets called. This function is supposed to remove given node and, if necessary, restructure the tree. Also, move the iterator to the next node. The bug occurs in this function. 4. The iterator goes backwards to the node's last child, to put it in the place of its deleted parent later. (B) 5. The parent node is deleted and replaced with its child node. (C) 6. Since now this node has 8 children, which is less than `MT_BRANCH_FACTOR - 1`, it get's merged with the next node. (D) 7. Finally, since at (B) the iterator went backward, it goes forward twice, skipping [0, 11] node, causing this extmark to persist, causing the bug. (E) ANALYSIS AND SOLUTION The algorithm works perfectly when the parent node gets replaced by its child, but no merging occurs. I.e. the exact same diagram, but without the (D) stage. If not for (D), it would iterate to <0, 9> and then to [0, 11]. So, iterating twice makes sense. The actual problem is in (C) stage, because the iterator index isn't adjusted and still pointing to no longer existent node. So my solution is to adjust iterator index after removing the child node. More info: https://github.com/neovim/neovim/pull/14719
* / / fixup! vim-patch:8.2.3020: unreachable code (#14866)Matthieu Coudron2021-06-22
|/ /
* | Merge pull request #13165 from mfussenegger/codelensMichael Lingelbach2021-06-14
|\ \ | | | | | | feat(lsp): Add codelens support
| * | feat(lsp): Add codelens supportMathias Fussenegger2021-06-14
| | |
* | | feat(float): add rounded borders presetChristian Clason2021-06-14
|/ / | | | | | | | | | | | | | | Add `borders = "rounded"` preset for `nvim_open_win`, equivalent to border = {"╭", "─", "╮", "│", "╯", "─", "╰", "│"} Also add undocumented "solid" preset to docs.
* | Merge pull request #14788 from shadmansaleh/fix/lua_runtime1Björn Linse2021-06-13
|\ \ | | | | | | fixup(runtime): Fix lua runtime files not listed in :scriptnames
| * | fixup(runtime): Fix lua runtime files not listedshadmansaleh2021-06-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | lua runtime files weren't listed in :scriptname & profiler. This fixes that. * Add tests * Small doc tweeks
* | | vim-patch:8.2.0038: spell suggestions insufficiently testedJan Edmund Lazo2021-06-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Spell suggestions insufficiently tested. Solution: Add spell suggestion tests. (Dominique Pelle, closes vim/vim#5398) https://github.com/vim/vim/commit/e9a8d1f9adaf4599b5a7923f8db8e207ed6e7eca Requires latest en.utf-8.spl from https://ftp.nluug.nl/pub/vim/runtime/spell/. Include the following patch because patch v8.2.0946 was merged: vim-patch:8.2.0948: spell test fails Problem: Spell test fails. Solution: Adjust expected text of the prompt. https://github.com/vim/vim/commit/d281b7c227bc4c78813fdc297ccee4b2cad7e605
* | | vim-patch:8.1.1838: there is :spellwrong and :spellgood but not :spellrareJan Edmund Lazo2021-06-12
|/ / | | | | | | | | | | Problem: There is :spellwrong and :spellgood but not :spellrare. Solution: Add :spellrare. (Martin Tournoij, closes vim/vim#4291) https://github.com/vim/vim/commit/08cc374dabd2a02785129fa1c0100f7745c244ad
* | test: clear $GZIP, use nvim's system() (#14791)Jan Edmund Lazo2021-06-12
| |
* | fix(ui): Fix pum incorrect position in multigrid modeSerg Tereshchenko2021-06-12
| | | | | | | | Refs #12985
* | refactor(source): Move lua file detection to do_sourceshadmansaleh2021-06-11
| | | | | | | | | | | | So now :source can run lua files too :) * feat: Add support for :[ranged]source for lua files
* | refactor(tests): Simplify tests at functional/lua/runtime_specshadmansaleh2021-06-11
| |
* | feat(runtime): Allow lua to be used in syntaxshadmansaleh2021-06-11
| |
* | feat(runtime): Allow lua to be used in ftdetectshadmansaleh2021-06-11
| |
* | feat(runtime): Allow lua to be used in indentshadmansaleh2021-06-11
| |
* | feat(runtime): Allow lua to be used in ftpluginshadmansaleh2021-06-11
| |
* | feat(runtime): Allow lua to be used in compilershadmansaleh2021-06-11
| |
* | feat(runtime): Allow lua to be used in colorschemesshadmansaleh2021-06-11
| | | | | | | | * tests(runtime): move runtime/plugin tests to functional/lua/runtime_spec
* | feat(startup): Source runtime/plugin/**/*.lua at startupshadmansaleh2021-06-11
|/ | | | | | For opt plugins these files are sourced on `:packadd` * `:runtime` Now can exexute lua files
* api: include border in nvim_win_get_configCorey Williamson2021-06-10
|
* api: add nvim_win_callnotomo2021-06-10
|
* add tests in buffer_updatesjbyuki2021-06-09
|
* feat(lsp): Split out a `diagnostics_to_items` function from set_loclistMathias Fussenegger2021-06-07
| | | | | Makes it easier to re-use the logic to populate the quickfix list instead of the location list.
* fixup! tests: fix system_spec when run with clipboard manager (#10956)Jan Edmund Lazo2021-06-05
| | | | | | uv_process_options_t "args" member was set to a local array from stack. when uv_process_options_t variable is outside the function. https://pvs-studio.com/en/docs/warnings/v507/
* clang/API: reject null string in timer_start()Jan Edmund Lazo2021-06-02
|
* api(nvim_open_win): add "noautocmd" optionSean Dewar2021-06-01
| | | | | | This option, when set, stops nvim_open_win() from potentially firing buffer-related autocmd events (BufEnter, BufLeave and BufWinEnter in the case of nvim_open_win()).
* lua: Add vim.opt and fix scopes of vim.o (#13479)TJ DeVries2021-05-28
| | | | | | | | | | | | | * lua: Add vim.opt * fixup: cleaning * fixup: comments * ty clason * fixup: comments * this is the last commit. period.
* Merge pull request #14607 from glacambre/fix_get_all_options_info_crashJames McCoy2021-05-26
|\ | | | | [RDY] Generate PARAM_COUNT macro