Commit message (Collapse) | Author | Age | ||
---|---|---|---|---|
... | ||||
* | | | | Merge pull request #14584 from akinsho/bugfix/vim-nil-conversion-logic | Michael Lingelbach | 2021-06-24 | |
|\ \ \ \ | |/ / / |/| | | | [RDY] fix(lsp): do not convert vim.NIL to nil in lists | |||
| * | | | fix(lsp): do not convert vim.NIL to nil in lists | Akin Sowemimo | 2021-06-24 | |
|/ / / | ||||
* | | | Merge pull request #14868 from shadmansaleh/patch_verbose_for_lua | Björn Linse | 2021-06-23 | |
|\ \ \ | | | | | | | | | fix(runtime): Fix bugs regarding lua runtime files | |||
| * | | | fix(source): Source giving E484 & parsing error at line 1 for lua files | shadmansaleh | 2021-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. | |||
| * | | | BugFix: Fix inconsistent verbose message | shadmansaleh | 2021-06-21 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a keymap is set from lua currently verbose message says it's set from line 1. That's incorrect because we don't really know when it was set. So until proper :verbose support isn't added for sourceing lua it shouldn't say where it was set at. | |||
* | | | | docs(starting): mention init.lua in paths and remove repetition (#14883) | smolck | 2021-06-23 | |
| | | | | ||||
* | | | | Merge pull request #14878 from mjlbach/fix/lsp-quickfix-focus | Michael Lingelbach | 2021-06-22 | |
|\ \ \ \ | ||||
| * | | | | fix(lsp): handlers should focus quickfix list | Michael Lingelbach | 2021-06-21 | |
| | | | | | ||||
* | | | | | Merge pull request #14719 from snezhniylis/marktree_delete_node_iter_fix | Björn Linse | 2021-06-22 | |
|\ \ \ \ \ | | | | | | | | | | | | | Fix deletable nodes in MarkTree sometimes getting skipped | |||
| * | | | | | extmark: fix deletable nodes in MarkTree sometimes getting skipped | snezhniylis | 2021-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 Coudron | 2021-06-22 | |
|/ / / / | ||||
* / / / | vim-patch:8.2.3020: unreachable code (#14866) | jimman2003 | 2021-06-20 | |
|/ / / | | | | | | | | | | | | | Problem: Unreachable code. Solution: Remove the code. (closes vim/vim#8406) https://github.com/vim/vim/commit/2fb749568662c86992aea3b596458b9e470f223d | |||
* | | | Merge pull request #14849 from seandewar/demethod-curwin | Jan Edmund Lazo | 2021-06-19 | |
|\ \ \ | | | | | | | | | fix(doc): various fixes | |||
| * | | | fix(doc/index.txt): various ex command fixes | Sean Dewar | 2021-06-19 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add :eval and :checkhealth (:eval was also missing upstream). Fix :perlfile typo, add abbreviations for :perl, :perlfile and :perldo. Remove :scriptversion; it hasn't been ported yet (#14611). [skip ci] | |||
| * | | | fix(doc): :sleep! does not hide cursor | Sean Dewar | 2021-06-19 | |
| | | | | | | | | | | | | | | | | :sleep is the same as :sleep! in the port of v8.2.2366 | |||
| * | | | fix(doc): remove :promptfind and :promptrepl | Sean Dewar | 2021-06-19 | |
| | | | | | | | | | | | | | | | | :promptfind and :promptrepl are N/A for Nvim. | |||
| * | | | fix(doc): don't use method call syntax in examples | Sean Dewar | 2021-06-19 | |
| | |/ | |/| | | | | | | | The method call syntax patches aren't ported yet. | |||
* | | | Merge pull request #14851 from ckipp01/hlCodeLens | Michael Lingelbach | 2021-06-19 | |
|\ \ \ | ||||
| * | | | Add hl group docs for codelenses | ckipp01 | 2021-06-20 | |
| | | | | ||||
* | | | | Merge pull request #14861 from stevearc/diagnostic-loclist | Michael Lingelbach | 2021-06-19 | |
|\ \ \ \ | |_|/ / |/| | | | fix(lsp): fix severity_limit logic in set_loclist | |||
| * | | | fix(lsp): fix severity_limit logic in set_loclist | Steven Arcangeli | 2021-06-19 | |
|/ / / | ||||
* | | | Merge pull request #14833 from vigoux/tree-sitter-docs-tidy | Thomas Vigouroux | 2021-06-19 | |
|\ \ \ | |/ / |/| | | docs(treesitter): tidy docs and remove legacy information | |||
| * | | docs(treesitter): mention query help page | Thomas Vigouroux | 2021-06-16 | |
| | | | ||||
| * | | docs(treesitter): tidy docs and remove legacy information | Thomas Vigouroux | 2021-06-16 | |
| | | | ||||
* | | | Merge pull request #14824 from vigoux/extmarks-ts-perf | Björn Linse | 2021-06-18 | |
|\ \ \ | | | | | | | | | perf(extmarks): allow ephemeral extmarks past EOF to remove O(strlen^2) cost of tree-sitter | |||
| * | | | perf(extmarks): allow ephemeral extmarks past EOF | Thomas Vigouroux | 2021-06-16 | |
| | | | | ||||
* | | | | vim-patch:8.2.3012: when 'rightleft' is set the line number is drawn ↵ | Jan Edmund Lazo | 2021-06-17 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | reversed (#14839) Problem: When 'rightleft' is set the line number is sometimes drawn reversed. Solution: Adjust how space is handled. (Christian Brabandt, closes vim/vim#8389, closes vim/vim#8391) https://github.com/vim/vim/commit/29f0dc3689eafcf7888e06d57d1cf79e62c5c148 | |||
* | | | | Merge pull request #14840 from folke/lsp_float_cleanup | Michael Lingelbach | 2021-06-16 | |
|\ \ \ \ | | | | | | | | | | | chore(lsp): removed deprecated floating preview methods | |||
| * | | | | chore(lsp): removed deprecated floating preview methods | Folke Lemaitre | 2021-06-17 | |
|/ / / / | ||||
* | / / | release.sh: use stdin for release commit message (#14832) | Jan Edmund Lazo | 2021-06-16 | |
| |/ / |/| | | | | | | | | v0.5.0 has too many commits since v0.4.0. "git commit -m" triggers "Argument list too long" error. | |||
* | | | Merge pull request #14796 from glacambre/upgrade_to_gcc11 | James McCoy | 2021-06-16 | |
|\ \ \ | | | | | | | | | [RDY] ci: upgrade to gcc-11 on ubuntu-18.04 | |||
| * | | | ci: upgrade to gcc-11 on ubuntu-18.04 | glacambre | 2021-06-16 | |
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | In https://github.com/neovim/neovim/issues/14150 , investigations showed that using an older gcc to build the appimage could result in severe perf issues. This is because older gcc versions happily replace calls to libc functions with their own, which happen to be less optimized than their libc counterparts. We fix this problem by upgrading to gcc-11 on ubuntu-18.04. | |||
* | | | fix(lsp): add bufnr to formatting requests | Lukas Reineke | 2021-06-15 | |
| | | | | | | | | | | | | | | | | | | Add the buffer number to the `textDocument/formatting` request, so that it is passed to the handler. The built-in formatting handlers do not use the buffer number, but user overrides should have access to it. | |||
* | | | docs(lsp): Clarify opts for show_line_diagnostics() | Shadman | 2021-06-15 | |
|/ / | ||||
* | | Merge pull request #14454 from eltociear/patch-1 | Thomas Vigouroux | 2021-06-15 | |
|\ \ | | | | | | | screen: fix typo in screen.c | |||
| * | | screen: fix typo in screen.c | Ikko Ashimine | 2021-04-29 | |
| | | | | | | | | | accomodate -> accommodate | |||
* | | | Merge pull request #14822 from eltociear/patch-2 | Thomas Vigouroux | 2021-06-15 | |
|\ \ \ | | | | | | | | | option: fix typo in option.c | |||
| * | | | option: fix typo in option.c | Ikko Ashimine | 2021-06-16 | |
|/ / / | | | | | | | seperated -> separated | |||
* | | | Merge pull request #14817 from neovim/marvim/api-doc-update/master | Michael Lingelbach | 2021-06-15 | |
|\ \ \ | ||||
| * | | | docs: regenerate | marvim | 2021-06-15 | |
|/ / / | ||||
* | | | docs(lsp): annotate call_hierarchy function as private | cbarrete | 2021-06-14 | |
| | | | ||||
* | | | fix(lsp): fix on_detach in lsp.diagnostic | Jaehwang Jerry Jung | 2021-06-14 | |
| | | | | | | | | | | | | | | | `lsp.diagnostic.get_all()` was returning diagnotics for `:bwipeout`-ed buffers because the diagnostic cache is not cleared. The first argument of on_detach callback is the string "detach", not the bufnr. | |||
* | | | Merge pull request #14815 from folke/lsp_triples | Michael Lingelbach | 2021-06-14 | |
|\ \ \ | | | | | | | | | fix(lsp): replace --- by a line in stylize_markdown | |||
| * | | | fix(lsp): replace --- by a line in stylize_markdown | Folke Lemaitre | 2021-06-15 | |
|/ / / | ||||
* | | | Merge pull request #14482 from elianiva/lsp/remove_hover_line | Michael Lingelbach | 2021-06-14 | |
|\ \ \ | | | | | | | | | feat(lsp): hide triple - in hover window | |||
| * | | | feat(lsp): hide triple - in hover window. | elianiva | 2021-06-15 | |
| | | | | ||||
* | | | | Merge pull request #14737 from rktjmp/lsp-guard-against-negative-lines | Michael Lingelbach | 2021-06-14 | |
|\ \ \ \ | | | | | | | | | | | [RDY] fix(lsp): guard against negative diagnostic line numbers | |||
| * | | | | fix(lsp): guard against negative diagnostic line numbers | Oliver Marriott | 2021-06-13 | |
| | | | | | ||||
* | | | | | Merge pull request #14814 from nanotee/fix_lsp_floats_presets | Michael Lingelbach | 2021-06-14 | |
|\ \ \ \ \ | |_|/ / / |/| | | | | fix(lsp): allow 'rounded' and 'solid' in floats | |||
| * | | | | fix(lsp): allow 'rounded' and 'solid' in floats | Timothée Sterle | 2021-06-14 | |
|/ / / / |