aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* | | fix(doc): remove reference to vim.lsp.callbacks (#14576)Matthieu Coudron2021-06-28
| | | | | | | | | | | | too old now, can be confusing
* | | Merge pull request #14920 from otherJL0/masterBjörn Linse2021-06-28
|\ \ \ | | | | | | | | Adding clangd language server config file
| * | | Adding clangd language serever config file to point to build/ directory for ↵otherJL02021-06-28
|/ / / | | | | | | | | | compile_commands.json
* | | Merge pull request #14915 from clason/ts-match-limitBjörn Linse2021-06-28
|\ \ \ | | | | | | | | fix(treesitter): set match limit for query cursors
| * | | fix(treesitter): set match limit for query cursorsChristian Clason2021-06-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upstream tree-sitter raised the number of pending matches for a query cursor from 32 to 64k in <https://github.com/tree-sitter/tree-sitter/commit/ 78010722a49ed6224c773c22b0d25a8c9fbde584>, which severely impacted performance for some highlighting queries. This uses the `ts_query_cursor_set_match_limit` function introduced in <https://github.com/tree-sitter/tree-sitter/commit/ cd96552448a6e0d4eb27fc54b27cb5130c4b6f76> to manually set this back to the old default of 32. Fixes #14897
* | | | [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.
* | | | Fixed +1 -1 in util.lua (#14913)jimman20032021-06-26
| | | | | | | | | | | | No point in adding and then subtracting I believe ;)
* | | | Merge pull request #14914 from janlazo/vim-8.2.3050Jan Edmund Lazo2021-06-26
|\ \ \ \ | | | | | | | | | | vim-patch:8.2.{2954,3049,3050}
| * | | | vim-patch:8.2.2954: short file name extension for Scala not recognizedJan Edmund Lazo2021-06-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Short file name extension for Scala not recognized. Solution: Recognize *.sc. (closes vim/vim#8337) https://github.com/vim/vim/commit/6db7b6375a3ea3afef5295b1366896902012e640
| * | | | vim-patch:8.2.3049: JSON patch file not recognizedJan Edmund Lazo2021-06-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: JSON patch file not recognized. Solution: Recognize json-patch as json. (Kevin Locke, closes vim/vim#8450) https://github.com/vim/vim/commit/6582e230a0f6592287b1123c5fc3807d6fed997e
| * | | | vim-patch:8.2.3050: cannot recognize elixir filesJan Edmund Lazo2021-06-26
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | Problem: Cannot recognize elixir files. Solution: Recognize Elixir-specific files. Check if an .ex file is Euphoria or Elixir. (Austin Gatlin, closes vim/vim#8401, closes vim/vim#8446) https://github.com/vim/vim/commit/f3caeb63d62c08b579e9b5f40b35e8bf64dde87a
* | | | vim-patch:8.2.3018: 'quickfixtextfunc' formatting is lost when switching ↵Yorick Peterse2021-06-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | buffers (#14865) Problem: Formatting using quickfixtextfunc is lost when updating location lists for different buffers. (Yorick Peterse) Solution: Use the right window for the locaiton list. (Yegappan Lakshmanan, closes vim/vim#8400, closes vim/vim#8403) https://github.com/vim/vim/commit/ad52f96a2d3169cb1b915c1d4a6ba26ba6e5bd0a
* | | | 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(doc/usr_41): don't mention 0o prefix for octs (#14906)Sean Dewar2021-06-25
| | | | | | | | | | | | | | | | | | v8.2.0886 isn't ported yet. Also remove mentions of Vim9 and legacy script for now. [skip ci]
* | | fix(lsp): render the last line in stylize_markdownFolke Lemaitre2021-06-25
| | |
* | | Merge pull request #14910 from folke/lsp_fences_docsMichael Lingelbach2021-06-25
|\ \ \ | | | | | | | | style(lsp): make get_markdown_fences private
| * | | style(lsp): make get_markdown_fences privateFolke Lemaitre2021-06-25
| | | |
* | | | Update busy_start/busy_stop ui events documentation (#14415)Ghjuvan Lacambre2021-06-25
|/ / / | | | | | | Closes #14386
* | | Merge pull request #14904 from mfussenegger/nil-message-callbacksMichael Lingelbach2021-06-25
|\ \ \ | | | | | | | | fix(lsp): Handle nil message_callbacks
| * | | fix(lsp): Handle nil message_callbacksMathias Fussenegger2021-06-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `onexit` handler could set `message_callbacks` to `nil` within the luv event loop while the mainloop runs a function that tries to access `message_callbacks`. This adds some checks to prevent errors in that case. Fixes https://github.com/neovim/neovim/issues/14863
* | | | Merge pull request #14617 from folke/fancy_markdown_fences_supportMichael Lingelbach2021-06-25
|\ \ \ \ | | | | | | | | | | feat(lsp): use `g:markdown_fenced_languages` in `vim.lsp.util.stylized_markdown`
| * | | | feat(lsp): use markdown_fenced_languages in stylized_markdownFolke Lemaitre2021-06-25
| |/ / /
* | | | Merge pull request #14903 from mfussenegger/add-workspace-folderMichael Lingelbach2021-06-25
|\ \ \ \ | | | | | | | | | | fix(lsp): Set `dir` completion option for add_workspace_folder
| * | | | fix(lsp): Set `dir` completion option for add_workspace_folderMathias Fussenegger2021-06-25
| |/ / / | | | | | | | | | | | | | | | | Given that the input is pre-filled with a path, it should be possible to use dir completion.
* | | | Merge pull request #14907 from folke/lsp_markdownMichael Lingelbach2021-06-25
|\ \ \ \ | |/ / / |/| | | fix(lsp): syntax improvements for lsp_markdown
| * | | fix(lsp): syntax improvements for lsp_markdownFolke Lemaitre2021-06-25
|/ / /
* | | Merge pull request #14886 from janlazo/vim-8.1.1437Jan Edmund Lazo2021-06-24
|\ \ \ | | | | | | | | vim-patch:8.1.{1437,2391},8.2.{1255,2185,2294,3033,3034,3037,3038,3043}
| * | | vim-patch:8.2.3033: no error when using alpha delimiter with :globalJan Edmund Lazo2021-06-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: No error when using alpha delimiter with :global. Solution: Check the delimiter like with :substitute. (closes vim/vim#8415) https://github.com/vim/vim/commit/419a40ac9657e39646b2e0f3f71d7736b0c459d1 N/A patches for version.c: vim-patch:8.1.2391: cannot build when __QNXNTO__ is defined Problem: Cannot build when __QNXNTO__ is defined. (Ian Wayne Larson) Solution: Move the check for "qansi". (Ken Takata, closes vim/vim#5317) https://github.com/vim/vim/commit/c95e8d649045add4e77b423bc159dc0d845af559 vim-patch:8.2.2294: VMS: a few remaining problems Problem: VMS: a few remaining problems. Solution: Add VMS specific changes. Add Lua support. (Zoltan Arpadffy) https://github.com/vim/vim/commit/82c38fe508155c11a904e6111b5bfb6adde3fb9a vim-patch:8.2.3034: installing packages on github CI sometimes fails Problem: Installing packages on github CI sometimes fails. Solution: Update package information first. (Christian Brabandt, closes vim/vim#8432) https://github.com/vim/vim/commit/ef7be8348fd830e409504a442f3f3ad0931cfbc3 vim-patch:8.2.3037: configure reports libcanberra when checking for libsodium Problem: Configure reports libcanberra when checking for libsodium. Solution: Adjust the message. (Ozaki Kiichi, closes vim/vim#8435) https://github.com/vim/vim/commit/8ce3ca8961c5968a02de0a0b98f906695331f254 vim-patch:8.2.3038: Amiga built-in version string doesn't include build date Problem: Amiga built-in version string doesn't include build date. Solution: Add the build date if available. (Ola Söder, closes vim/vim#8437) https://github.com/vim/vim/commit/cc6504098605f894b557109b618e88913a89914b vim-patch:8.2.3043: Amiga: cannot get the shell size on MorphOS and AROS Problem: Amiga: cannot get the shell size on MorphOS and AROS. Solution: Use control sequences. (Ola Söder, closes vim/vim#8438) https://github.com/vim/vim/commit/d415d269130b233c0f198c75cc159bee721aa55c
| * | | vim-patch:8.2.2185: BufUnload is not triggered for the quickfix dummy bufferJan Edmund Lazo2021-06-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: BufUnload is not triggered for the quickfix dummy buffer. Solution: Do trigger BufUnload. (Pontus Leitzler,closes vim/vim#7518, closes vim/vim#7517) Fix white space around "=". https://github.com/vim/vim/commit/1cfb9bb5c06c07f14475f39c4eb57fea1f0dfb69
| * | | vim-patch:8.2.1255: cannot use a lambda with quickfix functionsJan Edmund Lazo2021-06-23
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Cannot use a lambda with quickfix functions. Solution: Add support for lambda. (Yegappan Lakshmanan, closes vim/vim#6499) https://github.com/vim/vim/commit/d43906d2e5969288f239df851f5ad7b1dc2c7251
| * | | vim-patch:8.1.1437: code to handle callbacks is duplicatedJan Edmund Lazo2021-06-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Code to handle callbacks is duplicated. Solution: Add callback_T and functions to deal with it. https://github.com/vim/vim/commit/3a97bb3f0f8bd118ae23f1c97e55d84ff42eef20 Port Vim's put_callback() as callback_put() because Neovim's naming convention is {type}_{action}, not {action}_{type}. Renaming put_callback type as PutCallback. https://neovim.io/develop/style-guide.xml#Type_Names
* | | | 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
|\ \ \