| 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
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
`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)
|
|
|
|
|
| |
- 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
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
[skip ci]
|
|
|
|
|
|
|
|
|
|
|
| |
Ensure that
* Shell uses UTF8 input/output mode
* Stderr output is captured, in UTF8
* Program exit codes are correctly captured
Update functional test harness and add tests
for :make command.
Closes #13713
|
|
|
| |
Port vim syntax file only.
|
|
|
|
|
|
|
|
|
|
|
| |
Block copy and paste from system-clipboard currently breaks formatting.
This fixes it.
The bug occurs because system-clipboard doesn't contain information
about what mode the copy was made.
Simple solution to this is we keep a cache of copy we last made along
with mode information. If system-clipboard returns the cache we apply
the mode information that we know about that cache.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
This closes #14677, but I also am a little unsure if there are times
where this may not be correct. However, this just changes the behavior
that even if `was_set` was false, we still get for
`nvim_win_get_option`.
|
| |
|
|
|
| |
PR #13998 added support for floating window borders.
|
|
|
|
| |
too old now, can be confusing
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
| |
No point in adding and then subtracting I believe ;)
|
|
|
|
|
|
| |
Problem: Short file name extension for Scala not recognized.
Solution: Recognize *.sc. (closes vim/vim#8337)
https://github.com/vim/vim/commit/6db7b6375a3ea3afef5295b1366896902012e640
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
v8.2.0886 isn't ported yet.
Also remove mentions of Vim9 and legacy script for now.
[skip ci]
|
| |
|
|\
| |
| | |
style(lsp): make get_markdown_fences private
|
| | |
|
|/
|
| |
Closes #14386
|