| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
| |
|
|
|
|
|
|
| |
- not necessary on master: got lost in the vim.lsp.diagnostic => vim.diagnostic migration
- fix tests which accidentally depended on previous session
- ref #15504
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
- Fix the cursor position after applying TextEdits
- Support reversed range of TextEdit
- Invoke nvim_buf_set_text one by one
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
| |
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)
|
|
|
| |
Follow up to https://github.com/neovim/neovim/pull/15504
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|\ |
|
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| |
| |
| |
| |
| | |
The test added in 274a3504a790a799b28ee89c75e29fb4dbdff41f
does not fail if the code changes are reverted.
|
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
Fix #15313
|
| |
| |
| |
| |
| |
| |
| | |
#15372
Logic got swapped in 7574918dc7b823c4a22eeb4949acfb9381446eab.
We didn't notice it since v:termresponse isn't really used yet. #6279
|
| | |
|
| |
| |
| |
| | |
minimal style
|
| |
| |
| |
| |
| |
| | |
clear_namespace
fixes #15212
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
`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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
|/
|
|
| |
edit line (#15023)
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|/
|
|
|
|
|
|
|
|
|
|
| |
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
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| | |
- ref #14083 #15251
- also: docs: naming conventions
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|/
|
|
| |
Fixes #15522
|
|\
| |
| | |
backport: PRs #14962, #14982, #14984, #14989, #15011, #15043
|
| |
| |
| |
| | |
Memory compression could complicate the measurements.
|
| |
| |
| |
| | |
fixes #14967
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|/
|
|
| |
Context: https://github.com/neovim/neovim/pull/14848#discussion_r663203173
|
|\
| |
| | |
backport: feat(job): add parameter to close stdin
|
| | |
|
| |
| |
| |
| | |
stdin is a macro in Windows builds.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|\
| |
| | |
fix: add 0.5.0 release to appdata
|