aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* | | | Merge pull request #14584 from akinsho/bugfix/vim-nil-conversion-logicMichael Lingelbach2021-06-24
|\ \ \ \ | |/ / / |/| | | [RDY] fix(lsp): do not convert vim.NIL to nil in lists
| * | | 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.
| * | | BugFix: Fix inconsistent verbose messageshadmansaleh2021-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)smolck2021-06-23
| | | |
* | | | Merge pull request #14878 from mjlbach/fix/lsp-quickfix-focusMichael Lingelbach2021-06-22
|\ \ \ \
| * | | | fix(lsp): handlers should focus quickfix listMichael Lingelbach2021-06-21
| | | | |
* | | | | 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
|/ / / /
* / / / vim-patch:8.2.3020: unreachable code (#14866)jimman20032021-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-curwinJan Edmund Lazo2021-06-19
|\ \ \ | | | | | | | | fix(doc): various fixes
| * | | fix(doc/index.txt): various ex command fixesSean Dewar2021-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 cursorSean Dewar2021-06-19
| | | | | | | | | | | | | | | | :sleep is the same as :sleep! in the port of v8.2.2366
| * | | fix(doc): remove :promptfind and :promptreplSean Dewar2021-06-19
| | | | | | | | | | | | | | | | :promptfind and :promptrepl are N/A for Nvim.
| * | | fix(doc): don't use method call syntax in examplesSean Dewar2021-06-19
| | |/ | |/| | | | | | | The method call syntax patches aren't ported yet.
* | | Merge pull request #14851 from ckipp01/hlCodeLensMichael Lingelbach2021-06-19
|\ \ \
| * | | Add hl group docs for codelensesckipp012021-06-20
| | | |
* | | | Merge pull request #14861 from stevearc/diagnostic-loclistMichael Lingelbach2021-06-19
|\ \ \ \ | |_|/ / |/| | | fix(lsp): fix severity_limit logic in set_loclist
| * | | fix(lsp): fix severity_limit logic in set_loclistSteven Arcangeli2021-06-19
|/ / /
* | | Merge pull request #14833 from vigoux/tree-sitter-docs-tidyThomas Vigouroux2021-06-19
|\ \ \ | |/ / |/| | docs(treesitter): tidy docs and remove legacy information
| * | docs(treesitter): mention query help pageThomas Vigouroux2021-06-16
| | |
| * | docs(treesitter): tidy docs and remove legacy informationThomas Vigouroux2021-06-16
| | |
* | | Merge pull request #14824 from vigoux/extmarks-ts-perfBjörn Linse2021-06-18
|\ \ \ | | | | | | | | perf(extmarks): allow ephemeral extmarks past EOF to remove O(strlen^2) cost of tree-sitter
| * | | perf(extmarks): allow ephemeral extmarks past EOFThomas Vigouroux2021-06-16
| | | |
* | | | vim-patch:8.2.3012: when 'rightleft' is set the line number is drawn ↵Jan Edmund Lazo2021-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_cleanupMichael Lingelbach2021-06-16
|\ \ \ \ | | | | | | | | | | chore(lsp): removed deprecated floating preview methods
| * | | | chore(lsp): removed deprecated floating preview methodsFolke Lemaitre2021-06-17
|/ / / /
* | / / release.sh: use stdin for release commit message (#14832)Jan Edmund Lazo2021-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_gcc11James McCoy2021-06-16
|\ \ \ | | | | | | | | [RDY] ci: upgrade to gcc-11 on ubuntu-18.04
| * | | ci: upgrade to gcc-11 on ubuntu-18.04glacambre2021-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 requestsLukas Reineke2021-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()Shadman2021-06-15
|/ /
* | Merge pull request #14454 from eltociear/patch-1Thomas Vigouroux2021-06-15
|\ \ | | | | | | screen: fix typo in screen.c
| * | screen: fix typo in screen.cIkko Ashimine2021-04-29
| | | | | | | | | accomodate -> accommodate
* | | Merge pull request #14822 from eltociear/patch-2Thomas Vigouroux2021-06-15
|\ \ \ | | | | | | | | option: fix typo in option.c
| * | | option: fix typo in option.cIkko Ashimine2021-06-16
|/ / / | | | | | | seperated -> separated
* | | Merge pull request #14817 from neovim/marvim/api-doc-update/masterMichael Lingelbach2021-06-15
|\ \ \
| * | | docs: regeneratemarvim2021-06-15
|/ / /
* | | docs(lsp): annotate call_hierarchy function as privatecbarrete2021-06-14
| | |
* | | fix(lsp): fix on_detach in lsp.diagnostic Jaehwang Jerry Jung2021-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_triplesMichael Lingelbach2021-06-14
|\ \ \ | | | | | | | | fix(lsp): replace --- by a line in stylize_markdown
| * | | fix(lsp): replace --- by a line in stylize_markdownFolke Lemaitre2021-06-15
|/ / /
* | | Merge pull request #14482 from elianiva/lsp/remove_hover_lineMichael Lingelbach2021-06-14
|\ \ \ | | | | | | | | feat(lsp): hide triple - in hover window
| * | | feat(lsp): hide triple - in hover window.elianiva2021-06-15
| | | |
* | | | Merge pull request #14737 from rktjmp/lsp-guard-against-negative-linesMichael Lingelbach2021-06-14
|\ \ \ \ | | | | | | | | | | [RDY] fix(lsp): guard against negative diagnostic line numbers
| * | | | fix(lsp): guard against negative diagnostic line numbersOliver Marriott2021-06-13
| | | | |
* | | | | Merge pull request #14814 from nanotee/fix_lsp_floats_presetsMichael Lingelbach2021-06-14
|\ \ \ \ \ | |_|/ / / |/| | | | fix(lsp): allow 'rounded' and 'solid' in floats
| * | | | fix(lsp): allow 'rounded' and 'solid' in floatsTimothée Sterle2021-06-14
|/ / / /