| Commit message (Collapse) | Author | Age |
... | |
| | | | |
|
| |/ / |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
fs_init() must be called before early_init() in init/helpers.lua
If I run 'make unittest' on my Mac (macOS 10.14/Mojave or 12/Big Sur, intel
CPU), every test produce a core dump.
Call sequence in the core is:
early_init() main.c:197
set_init_1() option.c:508
runtimepath_default() runtime.c:1205
get_lib_dir() runtime.c:1175
os_isdir() fs.c:137
os_getperm() fs.c:777
os_stat() fs.c:761
fs_loop_lock() fs.c:72
uv_mutex_lock(&fs_loop_mutex) thread.c:352
abort()
.deps/build/src/libuv/src/unix/thread.c:
void uv_mutex_lock(uv_mutex_t* mutex) {
if (pthread_mutex_lock(mutex))
abort(); // line 352
}
So pthread_mutex_lock(&fs_loop_mutex) failed. The reason seems to be simple.
fs_init() was not called and fs_loop_mutex has not been initialized. fs_init()
was moved out from early_init() in main.c by
b87867e69e94d9784468a126f21c721446f080de, but unit/helpers.lua was not updated
accordingly.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Also add tests for reverse_text.
Co-authored-by: Kalle Ranki <kalle.ranki@gmail.com>
|
| |\ \
| | | |
| | | | |
fix: make `nvim_cmd` not suppress errors inside key mapping
|
| | | |
| | | |
| | | |
| | | | |
Closes #18632
|
| |\ \ \
| | | | |
| | | | | |
fix(ui): make `winbar` properly equalize window heights for local value
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Fixes `'winbar'` not properly equalizing window heights for splits when
the global value is empty and a window-local value is set instead.
|
| | | | | |
|
| | |/ /
| |/| | |
|
| | | | |
|
| | | | |
|
| |\ \ \
| | | | |
| | | | | |
fix(ui): make winbar work with floats and multigrid
|
| | | | | |
|
| |\ \ \ \ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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).
|
| |\ \ \ \ \
| | |/ / / /
| |/| | / /
| | | |/ /
| | |/| | |
fix(ui): set correct position on mouse click when 'winbar' is enabled
|
| | |/ / |
|
| |/ /
| | |
| | |
| | | |
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>
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Remove the command('qall!') from mksession_spec.lua because it prevents
helpers.rmdir() from retrying.
Allow extra trailing spaces when matching terminal lines.
|
| | | |
|
| |/ |
|
| |
| |
| |
| |
| | |
Fix #18112
Make an exception for strings starting with "%!".
|
| |
| |
| |
| |
| | |
Avoids using `gui=reverse` on `VertSplit` and makes window separators
look much nicer by default.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| | |
Problem: Search highlight disappears in the Visual area.
Solution: Combine the search attributes. (closes vim/vim#8134)
https://github.com/vim/vim/commit/2d5f385cee3668c44089edcb9d60b0b5d751ee5d
|
| |
| |
| |
| | |
This reverts commit 7ac5359143ef25c4c8c0c427d5533f8d5824ed17.
This fix can cause more problems than it solves.
|
| | |
|
| |
| |
| | |
This was missed in https://github.com/neovim/neovim/pull/15583
|
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
`:tabmove` takes either an argument (`:tabmove -`) or an address (`:-tabmove`).
The code assumed that `:tabmove` is the first command on the cmdline, but that
is not the case when using additional modifiers like `:silent`.
Make the addr parsing more robust by searching the command first, then going
back to check for a potential address `-`.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| | |
Most code in keymap.h is for keycode definitions, while most code in
keymap.c is for the parsing and conversion of keycodes.
The name "keymap" may also make people think these two files are for
mappings, while in fact keycodes are used even when no mappings are
involved, so "keycodes" should be a better file name than "keymap".
|
| |
| |
| | |
Closes #18526.
|
| |\
| | |
| | | |
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.
|
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |\
| | |
| | | |
fix(api): make `nvim_parse_cmd` propagate errors
|
| | |
| | |
| | |
| | |
| | | |
Makes `nvim_parse_cmd` propagate any errors that occur while parsing to
give the user a better idea of what's wrong with the command.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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().
|
| |\ \ \
| | |_|/
| |/| | |
fix: display global statusline correctly with ext_messages
|
| | |/ |
|