| Commit message (Collapse) | Author | Age |
... | |
| | |
|
| | |
|
| | |
|
|/
|
|
|
| |
The async nature of feed_command caused a race condition on the calls
to delete, leaving the files on the root of the repo. Just use os.remove
and no need to wipeout.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Previously, there was a bug where setting the local value of 'winbar' to
itself would cause winbar to appear on a floating window, which is
undesirable. This fix makes it so that it's explicitly required for the
window-local value of 'winbar' for a floating window to be set in order
for winbar to be shown on that window.
|
|\
| |
| | |
feat(lua): allow some viml functions to run in fast
|
| |
| |
| | |
Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
|
| |
| |
| |
| |
| | |
This change adds the necessary plumbing to annotate functions in funcs.c
as being allowed in run in luv fast events.
|
|\ \
| | |
| | | |
feat(api): add `win` and `buf` to `nvim_set_option_value`
|
| |/
| |
| |
| | |
Co-authored-by: Gregory Anders <8965202+gpanders@users.noreply.github.com>
|
| |
| |
| |
| | |
The mouseclick item "%@" is now supported by 'statusline' and 'winbar'.
Previously it was only supported by 'tabline'.
|
| |
| |
| |
| |
| |
| |
| | |
Neovim already removed `evim` (or any similar flags). The 'insertmode'
option is a weird remnant, so get rid of it.
The 'insertmode' option is replaced with a script that closely emulates
the option. This script is documented at :help 'insertmode'
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem:
If there are floating windows when `:mksession` runs, the session cannot
be properly restored.
Solution:
Change `:mksession` to skip floating windows. This matches Vim's
treatment of popup windows.
An alternative approach could have `:mksession` save floating windows
that can be _properly_ restored (rather than skip them entirely, which
is what this PR does). While that would seemingly be a more complete
fix, that could present additional issues since floating windows are
ordinarily created by plugins, and they may no longer be properly under
a plugin's control when restored.
closes #18432
|
|\ \
| | |
| | | |
fix(tests): fix some issues with ui/inccommand_spec.lua causing slowness
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
from ~30 to ~20 secs with ASAN build
- feedkeys test: the same substitute was repeated, and not even correctly spelled
- don't clear() in a tight loop. "bwipe!" is enough to erase undo history
- error in cnoremap mapping causes a check_for_delay(). <c-c> it away.
|
|\ \ \
| |/ /
|/| | |
fix(ci): remove 2000ms blocking wait in many plugin/lsp_spec.lua tests
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Cuts down typical run time for `plugin/lsp_spec.lua`
from 70 secs to 12 secs in ASAN CI build.
This happens in ASAN/EXIT_FREE builds where nvim waits 2000ms due to
unclosed handled. I wasn't able to pin-point the exact cause.
But these tests ran in nested context where two server/client pairs
were setup for no good reason. Moving these tests out so only one client
is being setup fixed the exit hang.
|
| | | |
|
|\ \ \
| |/ /
|/| | |
fix(tests): fix some screen.lua warnings
|
| | | |
|
|/ / |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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 "%!".
|