aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* NVIM v0.5.1v0.5.1stableJustin M. Keyes2021-09-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BREAKING CHANGES: d83df7f7b5c1 feat(lua)!: register_keystroke_callback => on_key cd8f6c5fb785 feat(lsp)!: change handler signature #15504 FEATURES: 915dda3f96b3 feat(jobstart): add parameter to close stdin FIXES: f8e0011534a3 #15732 fix(inccommand): ignore trailing commands only for *previewed* command 2132c063af3a backport: fix(windowing): positioning of relative floats 51d6b26729f4 #15495 backport: tests(lua/on_yank): assert conditions that fail correctly f7002337c02a #15482 backport: fix(lua): verify buffer in highlight.on_yank 6bda2f56eb01 #15454 backport: fix(window.c): win_close from other tabpage be58ba250ee2 #15372 backport: fix(autocmd.c): fix conditions in block_autocmds, unblock_autocmds d0e9a11e395a backport: refactor(sign): include longer sign column option 5c42376c15e2 backport: fix(sign): reset auto sign column with minimum in float win minimal style 41f761130e4f backport: fix(decorations): crash when :bdelete (extmark_free_all) after clear_namespace cf62554e5aea #15111 backport: fix(:source): copy curbuf lines to memory before sourcing 6436100b6e4b #14809 backport: fix(:source, nvim_exec): handle Vimscript line continuations 917f30666657 #15043 backport: test/memory_usage_spec: skip on MacOS a9cca1b050f4 #14984 backport: fixup(clipboard): Fix error not properly handled ae89330ec047 #14982 backport: fix(vim.opt): vimL map string values not trimmed 2229e99ef918 #14962 backport: fixup(clipboard): Use case matching b6b12ea7c3f2 #15489 fix(man.vim): filetype=man is too eager 6f965f41dfd6 build: use RelWithDebInfo build for nightlies, Release for releases f027c5e1e463 build: update appdata.xml version in release commit 8336488ce1cd test(treesitter): skip all parsers tests if parsers aren't installed 008b83f5a28e Rename stdin to stdin_mode (fixes Windows build) FIXES (LSP): 132053c1d2bd #15523 backport: fix(lsp): resolve bufnr in buf_is_attached a265201307f6 backport: fix(lsp): Ensure human readable errors are printed 33000bd9cff3 backport: fix(lsp): Ensure users get feedback on references/symbols errors or empty results 9f73b7c214c6 #14954 backport: fix(lsp): correctly check for windows in lsp logger eaa1c4737792 #15023 backport: fix(lsp): restore diagnostics extmarks that were moved to the last edit line 989ccb822203 #15011 backport: fix(lsp): restore diagnostics extmarks on buffer changes 2ae4c96d9176 backport: fix(lsp): prevent double <text> for cached plaintext markup 7b0ae589f0a7 feat(lsp): allow root_dir to be nil (#15430) (Mathias Fußenegger) 8ec5bc91262a lsp(start_client): Allow passing custom workspaceFolders to the LSP (#15132) (sim) 959cf5e53c79 fix(lsp): check if buffer is valid in changetracking (#15505) (Jose Alvarez) dc15b3a92c9b fix(lsp): avoid ipairs on non-sequential tables (#15059) (Michael Lingelbach) 18375c6df609 feat(lsp): improve vim.lsp.util.apply_text_edits (#15561) (hrsh7th) 7b1315fe6113 feat(lsp): improve logging (#15636) (Michael Lingelbach)
* fix(release.sh): ignore failed "rm"Justin M. Keyes2021-09-26
|
* fix(lsp): fix handler signature, testsJustin M. Keyes2021-09-26
| | | | | | - not necessary on master: got lost in the vim.lsp.diagnostic => vim.diagnostic migration - fix tests which accidentally depended on previous session - ref #15504
* feat(lsp): allow root_dir to be nil (#15430)Mathias Fußenegger2021-09-26
| | | | | | | | According to the protocol definition `rootPath`, `rootUri` and `workspaceFolders` are allowed to be null. Some language servers utilize this to provide "single file" support. If all three are null, they don't attempt to index a directory but instead only provide capabilities for a single file.
* lsp(start_client): Allow passing custom workspaceFolders to the LSP (#15132)sim2021-09-26
| | | | | | | | | | | | | | Some language servers *cough*rust-analyzer*cough* need an empty/custom workspaceFolders for certain usecases. For example, rust-analyzer needs an empty workspaceFolders table for standalone file support (See https://github.com/rust-analyzer/rust-analyzer/pull/8955). This can also be useful for other languages that need to commonly open a certain directory (like flutter or lua), which would help prevent spinning up a new language server altogether. In case no workspaceFolders are passed, we fallback to what we had before.
* fix(lsp): check if buffer is valid in changetracking (#15505)Jose Alvarez2021-09-26
|
* fix(lsp): avoid ipairs on non-sequential tables (#15059)Michael Lingelbach2021-09-26
| | | | | | | | | | | | | | | | | | | | ipairs terminates on the first nil index when iterating over table keys: for i,k in ipairs( {[1] = 'test', [3] = 'test'} ) do print(i, k) end prints: 1 test Instead, use pairs which continues iterating over the entire table: for i,k in pairs( {[1] = 'test', [3] = 'test'} ) do print(i, k) end prints: 1 test 3 test
* feat(lsp): improve vim.lsp.util.apply_text_edits (#15561)hrsh7th2021-09-26
| | | | | | - Fix the cursor position after applying TextEdits - Support reversed range of TextEdit - Invoke nvim_buf_set_text one by one
* feat(lsp): improve logging (#15636)Michael Lingelbach2021-09-26
| | | | | | | | * Simplify rpc encode/decode messages to rpc.send/rcp.receive * Make missing handlers message throw a warning * Clean up formatting style in log * Move all non-RPC loop messages to trace instead of debug * Add format func option to log to allow newlines in per log entry
* fix(lsp): update lsp-handler signature in call_hierarchy (#15738)Mathias Fußenegger2021-09-26
| | | | | | | | This fixes the handler signature and also prevents n+1 requests firing if there are multiple clients. (The first `prepareCallHierarchy` handler is called once per client, each invocation used `buf_request` to make more requests using *all* clients)
* fix(lsp): adapt codelens resolve to handler signature change (#15578)Mathias Fußenegger2021-09-26
| | | Follow up to https://github.com/neovim/neovim/pull/15504
* fix(lsp): update workspace/applyEdit handler signature (#15573)Jose Alvarez2021-09-26
|
* feat(lsp)!: change handler signature #15504Michael Lingelbach2021-09-26
|
* fix(inccommand): ignore trailing commands only for *previewed* command #15732Justin M. Keyes2021-09-20
| | | | | | | | | | Since the `State` is global, other scripts are unexpectedly affected during the 'inccommand' preview. This commit introduces a new flag for `do_cmdline`, in order to ignore trailing '|'-separated commands only for the command invoking the preview. fix #8796, update #7494 Co-authored-by: itchyny <itchyny@hatena.ne.jp>
* Merge #15677 release-0.5: backportsJustin M. Keyes2021-09-16
|\
| * backport: fix(windowing): positioning of relative floatsandrew-pa2021-09-16
| | | | | | | | | | | | Fix relative floating windows so that they open in the correct position relative to each other. Also make sure that their positions are correct immediately after creation without a redraw.
| * backport: fix(lsp): resolve bufnr in buf_is_attached (#15523)Jose Alvarez2021-09-16
| |
| * backport: tests(lua/on_yank): assert conditions that fail correctly #15495notomo2021-09-16
| | | | | | | | | | The test added in 274a3504a790a799b28ee89c75e29fb4dbdff41f does not fail if the code changes are reverted.
| * backport: fix(lua): verify buffer in highlight.on_yank (#15482)notomo2021-09-16
| | | | | | | | | | | | Resolve an issue with deferred clearing of highlight failing if the buffer is deleted before the timeout by checking whether the buffer is valid first.
| * backport: fix(window.c): win_close from other tabpage #15454notomo2021-09-16
| | | | | | | | Fix #15313
| * backport: fix(autocmd.c): fix conditions in block_autocmds, unblock_autocmds ↵gmntroll2021-09-16
| | | | | | | | | | | | | | #15372 Logic got swapped in 7574918dc7b823c4a22eeb4949acfb9381446eab. We didn't notice it since v:termresponse isn't really used yet. #6279
| * backport: refactor(sign): include longer sign column optionSirisak Lueangsaksri2021-09-16
| |
| * backport: fix(sign): reset auto sign column with minimum in float win ↵Sirisak Lueangsaksri2021-09-16
| | | | | | | | minimal style
| * backport: fix(decorations): crash when :bdelete (extmark_free_all) after ↵Björn Linse2021-09-16
| | | | | | | | | | | | clear_namespace fixes #15212
| * backport: fix(lsp): Ensure human readable errors are printedMathias Fussenegger2021-09-16
| | | | | | | | | | | | | | | | | | | | `return err_message(tostring(err))` caused errors to be printed as `table: 0x123456789` instead of showing the error code and error message. This also removes some `if err` blocks that never got called because at the end of `handlers.lua` all the handlers are wrapped with logic that adds generic error handling.
| * backport: fix(lsp): Ensure users get feedback on references/symbols errors ↵Mathias Fussenegger2021-09-16
| | | | | | | | | | | | | | | | | | or empty results Relates to https://github.com/neovim/neovim/issues/15050 Users should get some indication if there was an error or an empty result.
| * backport: fix(lsp): correctly check for windows in lsp logger (#14954)Oliver Marriott2021-09-16
| |
| * backport: fix(lsp): restore diagnostics extmarks that were moved to the last ↵Folke Lemaitre2021-09-16
|/ | | | edit line (#15023)
* Merge #15671 backport: :source and nvim_exec fixesJustin M. Keyes2021-09-15
|\
| * backport: fix(:source): copy curbuf lines to memory before sourcing #15111Sean Dewar2021-09-15
| | | | | | | | | | | | | | | | | | | | It's possible for weirdness to happen if curbuf is modified while sourcing from it via :source (with no arguments). For example: - Deleting lines from or wiping curbuf can cause internal error E315 to be thrown from ml_get. - Changing the curbuf to another buffer while sourcing can cause lines from the new curbuf to then be sourced instead.
| * backport: fix(:source, nvim_exec): handle Vimscript line continuations #14809Sean Dewar2021-09-15
|/ | | | | | | | | | | | Problem: Anonymous :source (no args) and nvim_exec() don't support Vimscript line continuations. Solution: Factor out the concat logic into concat_continued_line() and a CONCAT_CONTINUED_LINES macro for simple concatenations where lines are fetched individually. Closes #14807
* Merge #15667 release-0.5: backportsJustin M. Keyes2021-09-14
|\
| * test: use $TEST_TIMEOUT to specify timeoutJames McCoy2021-09-14
| |
| * test: timeout at 20 minutes #15597Justin M. Keyes2021-09-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Set a maximum test run-time of 20 minutes to: - fail faster - avoid wasting CI resources - set a bound on the test time (if tests take longer than 20 minutes we need to invest in parallelizing them...) Timeout looks like: -- Tests exited non-zero: Process terminated due to timeout -- No output to stderr. CMake Error at /…/neovim/cmake/RunTests.cmake:86 (message): functional tests failed with error: Process terminated due to timeout
| * ci: skip "cancels stale events on channel close" #15278Justin M. Keyes2021-09-14
| | | | | | | | | | - ref #14083 #15251 - also: docs: naming conventions
| * feat(lua)!: register_keystroke_callback => on_keyJustin M. Keyes2021-09-14
| | | | | | | | | | | | | | | | | | Analogous to nodejs's `on('data', …)` interface, here on_key is the "add listener" interface. ref 3ccdbc570d85 #12536 BREAKING_CHANGE: vim.register_keystroke_callback() is now an error.
| * fix(lsp): correctly parse LSP snippets #15579hrsh7th2021-09-14
|/ | | | Fixes #15522
* Merge #15664 backport PRsJustin M. Keyes2021-09-14
|\ | | | | backport: PRs #14962, #14982, #14984, #14989, #15011, #15043
| * backport: test/memory_usage_spec: skip on MacOS #15043Daniel Steinberg2021-09-14
| | | | | | | | Memory compression could complicate the measurements.
| * backport: fixup(clipboard): Fix error not properly handled #14984Shadman2021-09-14
| | | | | | | | fixes #14967
| * backport: fix(lsp): restore diagnostics extmarks on buffer changes (#15011)Folke Lemaitre2021-09-14
| |
| * backport: fix(lsp): prevent double <text> for cached plaintext markupFolke Lemaitre2021-09-14
| |
| * backport: fix(vim.opt): vimL map string values not trimmed (#14982)jadedpasta2021-09-14
| | | | | | | | | | | | | | | | | | | | Options formatted as a list of comma-separated key-value pairs may have values that contain leading and trailing whitespace characters. For example, the `listchars` option has a default value of `"tab:> ,trail:-,nbsp:+"`. When converting this value to a lua table, leading and trailing whitespace should not be trimmed. Co-authored-by: Robert Hrusecky <robert.hrusecky@utexas.edu>
| * backport: fixup(clipboard): Use case matching #14962Shadman2021-09-14
|/ | | | Context: https://github.com/neovim/neovim/pull/14848#discussion_r663203173
* Merge pull request #15496 from jamessan/stdin_closed_backportJames McCoy2021-08-27
|\ | | | | backport: feat(job): add parameter to close stdin
| * Add test case for 'null' stdin modeGregory Anders2021-08-26
| |
| * Rename stdin to stdin_modeGregory Anders2021-08-26
| | | | | | | | stdin is a macro in Windows builds.
| * feat(job): add parameter to close stdinGregory Anders2021-08-26
|/ | | | | | | | | | | | | | | | Some programs behave differently when they detect that stdin is being piped. This can be problematic when these programs are used with the job control API where stdin is attached, but not typically used. It is possible to run the job using a PTY which circumvents this problem, but that includes a lot of overhead when simply closing the stdin pipe would suffice. To enable this behavior, add a new parameter to the jobstart options dict called "stdin" with two valid values: "pipe" (the default) implements the existing behavior of opening a channel for stdin and "null" which disconnects stdin (or, if you prefer, connects it to /dev/null). This is extensible so that other modes can be added in the future.
* fix(man.vim): filetype=man is too eager #15489Justin M. Keyes2021-08-26
| | | | | | | | | | | | | | | Problem: "set filetype=man" assumes the user wants :Man features, this does extra stuff like renaming the buffer as "man://". Solution: - old entrypoint was ":set filetype=man", but this is too presumptuous #15487 - make the entrypoints more explicit: 1. when the ":Man" command is run 2. when a "man://" buffer is opened - remove the tricky b:man_sect checks in ftplugin/man.vim and syntax/man.vim - MANPAGER is supported via ":Man!", as documented. fixes #15487
* Merge pull request #15445 from jamessan/appdata-versionJames McCoy2021-08-21
|\ | | | | fix: add 0.5.0 release to appdata