| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
| |
LSP servers should be daemonized (detached) so that they run in a
separate process group from Neovim's. Among other things, this ensures
the process does not inherit Neovim's TTY (#18475).
Make this configurable so that clients can explicitly opt-out of
detaching from Nvim.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update runtime files
https://github.com/vim/vim/commit/d899e51120798d3fb5420abb1f19dddf3f014d05
- Skip vimhelp.vim stuff (syntax/help.vim, syntax.txt; v8.2.4891).
- Skip :let heredoc eval stuff (eval.txt; v8.2.4770).
- Skip uk.cp1251.po.
- Skip `*hl-CurSearch*` change (syntax.txt):
- Vim's CurSearch works differently (Nvim's uses current cursor pos).
Dunno know how applicable the redrawing comment is to Nvim...
- Might be preferred to move it under `*hl-Search*` like Vim?
|
|
|
|
|
|
|
|
| |
(#18463)
Problem: Some users do not want a line comment always inserted.
Solution: Add the '/' flag to 'formatoptions' to not repeat the comment
leader after a statement when using "o".
https://github.com/vim/vim/commit/2bf875f881f7c6f6900bc0eb2a93a552db894109
|
| |
|
|
|
|
|
|
|
|
| |
It seems range and count can be used together in commands. This PR fixes
the behavior of `nvim_parse_cmd` for those cases by removing the mutual
exclusivity of "range" and "count". It also removes range line number
validation for `nvim_parse_cmd` as it's not its job to validate the
command.
|
|
|
|
|
| |
Follow up to https://github.com/neovim/neovim/pull/18441
This way rename should "just work" in most cases without having to
manually filter the client
|
|
|
|
|
|
| |
Problem: "P" in Visual mode still changes some registers.
Solution: Make "P" in Visual mode not change any register. (Shougo
Matsushita, closes vim/vim#10349)
https://github.com/vim/vim/commit/509142ab7a9db32114b6d0949722b9133c9c22f2
|
|
|
|
|
|
|
|
| |
Adds filter and id options to filter the client to use for rename.
Similar to the recently added `format` function.
rename will use all matching clients one after another and can handle a
mix of prepareRename/rename support. Also ensures the right
`offset_encoding` is used for the `make_position_params` calls
|
|\
| |
| | |
feat(api): add `group_name` to `nvim_get_autocmds`
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes issues where subsequent calls to vim.lsp.codelens.refresh()
would have no effect due to the buffer not getting cleared from the
active_refresh table.
Examples of how such scenarios would occur are:
- A textDocument/codeLens result yielded an error.
- The 'textDocument/codeLens' handler was overriden in such a way that
it no longer called vim.lsp.codelens.on_codelens().
|
|/
|
|
|
|
|
|
| |
Changes the `range` value in `nvim_parse_cmd` into an array to describe
range information more concisely. Also makes `range` and `count` be
mutually exclusive by making count `-1` when command takes a range
instead of a count. Additionally corrects the behavior of `count` for
built-in commands by making the default count `0`.
|
|
|
|
| |
Work on https://github.com/neovim/neovim/issues/459
|
|
|
|
|
| |
Adds range, count and reg to the return values of nvim_parse_cmd. Also makes
line1 and line2 be -1 if the command does not take a range. Also moves
nvim_parse_cmd to vimscript.c because it fits better there.
|
| |
|
| |
|
|
|
| |
Co-authored-by: Christian Clason <christian.clason@uni-due.de>
|
|\
| |
| | |
API/UI: ui_event_extmark
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
This is primarily intended to act as documentation for the developer so
they know exactly when and what to remove. This will help prevent the
situation of deprecated code lingering for far too long as developers
don't have to worry if a function is safe to remove.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
PROBLEM
------------------------------------------------------------------------
$NVIM_LISTEN_ADDRESS has conflicting purposes as both a parameter ("the
current process should listen on this address") and a descriptor ("the
current process is a child of this address").
This contradiction means the presence of NVIM_LISTEN_ADDRESS is
ambiguous, so child Nvim always tries to listen on its _parent's_
socket. This is the cause of lots of "Failed to start server" spam in
our test/CI logs:
WARN 2022-04-30… server_start:154: Failed to start server: address already in use: \\.\pipe\nvim-4480-0
WARN 2022-04-30… server_start:154: Failed to start server: address already in use: \\.\pipe\nvim-2168-0
SOLUTION
------------------------------------------------------------------------
1. Set $NVIM to the parent v:servername, *only* in child processes.
- Now the correct way to detect a "parent" Nvim is to check for $NVIM.
2. Do NOT set $NVIM_LISTEN_ADDRESS in child processes.
3. On startup if $NVIM_LISTEN_ADDRESS exists, unset it immediately after
server init.
4. Open a channel to parent automatically, expose it as v:parent.
Fixes #3118
Fixes #6764
Fixes #9336
Ref https://github.com/neovim/neovim/pull/8247#issuecomment-380275696
Ref #8696
|
|/ |
|
|
|
|
|
| |
Problem: wget2 files are not recognized.
Solution: Add patterns to recognize wget2. (Doug Kearns)
https://github.com/vim/vim/commit/3a974a89331182139e12386275f052a50c247ecb
|
|\
| |
| | |
feat(ui): allow embedder to emulate "cat data | nvim -" behaviour
|
| | |
|
|\ \
| |/
|/| |
|
| | |
|
| |
| |
| |
| |
| | |
Problem: Yaml indent for multiline is wrong.
Solution: Adjust patterns. (closes vim/vim#10328, closes vim/vim#8740)
https://github.com/vim/vim/commit/f4f579b46b27f5e1689912a3e84c6a2a96efd143
|
|/
|
|
|
| |
Problem: Robot files are not recognized.
Solution: Add patterns for robot files. (Zoe Roux, closes vim/vim#10339)
https://github.com/vim/vim/commit/2096a5f128029b1156a035a27c988995db240cea
|
| |
|
|
|
| |
`:syntax enable` is no longer necessary (and may even be harmful). Do not recommend it in `usr_05.txt` and `usr_06.txt`, and mention the new default in `syntax.txt`.
|
| |
|
| |
|
|
|
|
|
| |
(#18333)
Co-authored-by: ii14 <ii14@users.noreply.github.com>
|
|
|
| |
Follow up to https://github.com/neovim/neovim/pull/17814
|
|\
| |
| | |
feat(api): `nvim_parse_cmd`
|
| |
| |
| |
| | |
Adds an API function to parse a command line string and get command information from it.
|
| |
| |
| |
| |
| |
| | |
Problem: Gleam filetype not detected.
Solution: Add a pattern for Gleam files. (Mathias Jean Johansen,
closes vim/vim#10326)
https://github.com/vim/vim/commit/917c32c4f75351061a773cd5bc5b6f42c7d10e62
|
|/
|
|
|
|
|
|
| |
Deprecates the existing `vim.lsp.buf.formatting` function.
With this, `vim.lsp.buf.format` will replace all three:
- vim.lsp.buf.formatting
- vim.lsp.buf.formatting_sync
- vim.lsp.buf.formatting_seq_sync
|
| |
|
|
|
|
| |
Specify which message, or request, was last received in case of an error
instead of the same generic message
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* feat(lsp)!: remove capabilities sanitization
Users must now access client.server_capabilities which matches the same
structure as the protocol.
https://microsoft.github.io/language-server-protocol/specification
client.resolved_capabilities is no longer used to gate capabilities, and
will be removed in a future release.
BREAKING CHANGE
Co-authored-by: Mathias Fussenegger <f.mathias@zignar.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement two new options to vim.lsp.buf.code_action():
- filter (function): predicate taking an Action as input, and returning
a boolean.
- apply (boolean): when set to true, and there is just one remaining
action (after filtering), the action is applied without user query.
These options can, for example, be used to filter out, and automatically
apply, the action indicated by the server to be preferred:
vim.lsp.buf.code_action({
filter = function(action)
return action.isPreferred
end,
apply = true,
})
Fix #17514.
|
|
|
|
| |
Without any feedback it gives the impression that the language server is
not working properly, which isn't the case.
|
| |
|
| |
|
|
|
|
| |
Multi-char 'pastetoggle' now works without breaking character-find.
|
|
|
|
|
|
|
|
|
| |
Problem: Using \{xxx} for encoding a modifier is not nice.
Solution: Use \<*xxx> instead, since it's the same as \<xxx> but producing a
different code.
https://github.com/vim/vim/commit/fccd93f0917234b962ce07d1df3adf9d7105936f
Use this notation in langmap_spec.
|
|
|
|
|
|
|
|
| |
Problem: GUI tests fail because the test doesn't use a modifier.
Solution: Add "\{xxx}" to be able to encode a modifier.
https://github.com/vim/vim/commit/ebe9d34aa07037cff2188a8dd424ee1f59cbb0bf
Change macros to enums to use them in unit tests.
|