| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
| |
Allow get_active_clients() to filter on client name, id, or buffer. This
(soft) deprecates lsp.buf_get_clients().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current approach of using `on_attach` callbacks for configuring
buffers for LSP is suboptimal:
1. It does not use the standard Nvim interface for driving and hooking
into events (i.e. autocommands)
2. There is no way for "third parties" (e.g. plugins) to hook into the
event. This means that *all* buffer configuration must go into the
user-supplied on_attach callback. This also makes it impossible for
these configurations to be modular, since it all must happen in the
same place.
3. There is currently no way to do something when a client detaches from
a buffer (there is no `on_detach` callback).
The solution is to use the traditional method of event handling in Nvim:
autocommands. When a LSP client is attached to a buffer, fire a
`LspAttach`. Likewise, when a client detaches from a buffer fire a
`LspDetach` event.
This enables plugins to easily add LSP-specific configuration to buffers
as well as enabling users to make their own configurations more modular
(e.g. by creating multiple LspAttach autocommands that each do
something unique).
|
|
|
|
| |
Add a "data" key to nvim_exec_autocmds that passes arbitrary data (API
objects) to autocommand callbacks.
|
|\
| |
| | |
feat(ui): add `'winbar'`
|
| |
| |
| |
| |
| |
| |
| | |
Adds support for a bar at the top of each window, enabled through the
`'winbar'` option.
Co-authored-by: Björn Linse <bjorn.linse@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem:
vim.lsp: require("vim.lsp.health").check()
========================================================================
- ERROR: Failed to run healthcheck for "vim.lsp" plugin. Exception:
function health#check, line 20
Vim(eval):E5108: Error executing lua ...m/HEAD-6613f58/share/nvim/runtime/lua/vim/lsp/health.lua:20: attempt to index a nil value
stack traceback:
...m/HEAD-6613f58/share/nvim/runtime/lua/vim/lsp/health.lua:20: in function 'check'
[string "luaeval()"]:1: in main chunk
Solution:
Check for nil.
fix #18602
|
| | |
|
|\ \
| | |
| | | |
perf(_editor): no need to stop inside vim.defer_fn
|
| | |
| | |
| | |
| | |
| | |
| | | |
uv_run:
1. remove timer handle from heap
2. will start again if repeat is not 0
|
| | | |
|
| | | |
|
| |/
|/| |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
uncrustify is the source of truth where possible.
Remove any redundant checks from clint.py.
See also https://github.com/neovim/neovim/pull/18563
|
| |
| |
| |
| |
| | |
(#18177)
Closes: https://github.com/neovim/neovim/issues/16919
|
| |
| |
| |
| |
| |
| | |
Update runtime files, new color schemes
https://github.com/vim/vim/commit/30ab04e16e1e9e6133590181197b3f8e70cb495e
Skip: doc/* (in-progress rewrite of the user manual on creating vim(9)script plugins)
|
| |
| |
| |
| |
| |
| | |
Uncrustify and clang-format are already both excellent at ordering
includes; this isn't something we need to check for ourselves. Also
remove the section on include order in the dev-style documentation.
|
| |
| |
| | |
Co-authored-by: Sarchia <74000088+Sarchia@users.noreply.github.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem:
q in "$MANPAGER mode" does not quit Nvim. This is because
ftplugin/man.vim creates its own mapping:
nnoremap <silent> <buffer> <nowait> q :lclose<CR><C-W>c
which overrides the one set by the autoload file when using :Man!
("$MANPAGER mode")
Solution:
Set b:pager during "$MANPAGER mode" so that ftplugin/man.vim can set the
mapping correctly.
Fixes #18281
Ref #17791
Helped-by: Gregory Anders <8965202+gpanders@users.noreply.github.com>
|
|/
|
|
|
|
| |
Update runtime files and translations
https://github.com/vim/vim/commit/3f32a5f1601ab2b0eba0caad00d4c26fb86a02a2
skip eval.txt (requires 8.2.4883)
|
|
|
|
| |
This reverts commit 7ac5359143ef25c4c8c0c427d5533f8d5824ed17.
This fix can cause more problems than it solves.
|
| |
|
|
|
|
|
|
|
|
| |
Implement filtering of actions based on the kind when passing the 'only'
parameter to code_action(). Action kinds are hierachical with a '.' as
the separator, and the filter thus allows, for example, both 'quickfix'
and 'quickfix.foo' when requestiong only 'quickfix'.
Fix https://github.com/neovim/neovim/pull/18221#issuecomment-1110179121
|
|
|
|
|
|
|
|
|
|
|
|
| |
See: https://gitlab.freedesktop.org/xdg/xdg-specs/-/commit/4f2884e16db35f2962d9b64312917c81be5cb54b
- Move session persistent data to $XDG_STATE_HOME Change 'directory',
'backupdir', 'undodir', 'viewdir' and 'shadafile' default location to
$XDG_STATE_HOME/nvim.
- Move logs to $XDG_STATE_HOME, too.
- Add stdpath('log') support.
Fixes: #14805
|
|
|
|
|
|
|
|
|
|
| |
This will check if the string after the variable in a @param is either
"number", "string", "table", "boolean" and "function" and if so add a
parenthesis around it. This will help separate the variable type with
the following text. Had all our functions been annotated with emmylua
then a more robust solution might have been preferable (such as always
assuming the third string is parameter type without making any checks).
I believe however this is a clear improvement over the current situation
and will suffice for now.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's special cased by the vimSubst syntax group, and isn't present in Vim's
vimCommand group.
For example, this fixes `call s:Foo()` highlighting `:` as Error in Nvim, as the
`s` is parsed as vimCommand rather than as vimUserFunc since
`contains=vimCommand` was added to vimUserFunc (and vimFunc) in a rt update.
Interestingly, `g:`, `l:`, etc. have the same issues due to :global, :list, etc.
Vim also has that problem, so it should ideally be fixed upstream.
We could also omit g[lobal] from vimCommand and rely on vimGlobal instead, but
it doesn't work in some cases, like when there's a `:` before the command. Also,
Vim matches only `g` in vimCommand for some reason, which doesn't produce any
highlight for `:global/foo/bar` (with Nvim you at least get some highlights on
the `global` bit despite the leading `:`).
Also, remove special handling of :py3 in syntax/vim.vim, as the generator seems
to have no problems finding it.
|
|
|
|
| |
- Use consistent formatting for args docs.
- Clarify inclusivity/exclusivity in `nvim_buf_[get|set]_text`.
|
| |
|
| |
|
|
|
|
|
|
|
| |
positions (#18525)
Problem: matchfuzzypos() with "matchseq" does not have all positions.
Solution: Also add a position for white space. (closes vim/vim#10404)
https://github.com/vim/vim/commit/9af2bc075169e14fd06ed967d28eac7206d21f36
|
|\
| |
| | |
feat(api): add `nvim_cmd`
|
| |
| |
| |
| | |
Adds the API function `nvim_cmd` which allows executing an Ex-command through a Dictionary which can have the same values as the return value of `nvim_parse_cmd()`. This makes it much easier to do things like passing arguments with a space to commands that otherwise may not allow it, or to make commands interpret certain characters literally when they otherwise would not.
|
|\ \
| | |
| | | |
CI: format and lint runtime with Stylua
|
| |/ |
|
| |
| |
| |
| |
| |
| |
| | |
Update runtime files, translations
https://github.com/vim/vim/commit/921bde88804663a7cb825d7f7e8a5d8ae6b58650
skip: translations
skip: builtin.txt (requires 8.2.4861)
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
vim-patch:8.2.4903: cannot get the current cmdline completion type and position
Problem: Cannot get the current cmdline completion type and position.
Solution: Add getcmdcompltype() and getcmdscreenpos(). (Shougo Matsushita,
closes vim/vim#10344)
https://github.com/vim/vim/commit/79d599b8772022af1d657f368c2fc97aa342c0da
vim-patch:8.2.4910: imperfect coding
Problem: Imperfect coding.
Solution: Make code nicer.
https://github.com/vim/vim/commit/9ff7d717aa3176de5c61de340deb93f41c7780fc
|
|
|
|
|
|
|
|
| |
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`
|