| Commit message (Collapse) | Author | Age |
|\
| |
| | |
refactor(screen): screen.c delenda est
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
drawscreen.c vs screen.c makes absolutely no sense.
The screen exists only to draw upon it, therefore helper functions
are distributed randomly between screen.c and the file that
does the redrawing. In addition screen.c does a lot of drawing on the
screen.
It made more sense for vim/vim as our grid.c is their screen.c
Not sure if we want to dump all the code for option chars into
optionstr.c, so keep these in a optionchar.c for now.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem:
When LSP client renames a directory, opened buffers in the edfitor are not
renamed or closed. Then `:wall` shows errors.
https://github.com/neovim/neovim/blob/master/runtime/lua/vim/lsp/util.lua#L776
works correctly if you try to rename a single file, but doesn't delete old
buffers with `old_fname` is a dir.
Solution:
Update the logic in runtime/lua/vim/lsp/util.lua:rename()
Fixes #22617
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem
Using wrong variable when checking the cursor position is valid or not in
vim.lsp.util.apply_text_edits.
Solution
Use the correct variable.
|
| |
| |
| | |
close #22611
|
|\ \
| |/
|/|
| | |
fix(help): force tree reparse after local addition insertion
docs(help): consistent headers for local additions
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: *local-additions* in `help.txt` are inserted via `ml_append`,
which messes up treesitter highlighting of this file as the buffer
becomes desynced from the tree.
Solution: Add hack on top of hack by explicitly calling `mark_adjust`
and `changed_lines_buf` after each insertion.
|
|\ \
| | |
| | | |
fix(screen): redraw the ruler for a current floating window
|
| |/
| |
| |
| |
| |
| |
| | |
Semi-regression. The "ruler" behavior for a floating window
was never really specified but in practice followed the users
cursor movements in normal mode in a focused float, which seems
like a reasonable behavior to now specify.
|
| | |
|
|/
|
|
|
|
|
|
|
|
| |
The builtin cat was removed in 4bc9229ecbec514e9a87cfc4be88ea27a971e9a1
as it is not used during runtime but only for tests. However, it is a
very small and useful utility program that we need for a lot of our
tests, so there's no harm in bundling it, and it helps us avoid
complicating our build system by having two versions of neovim (neovim
for users and neovim for testing).
Also skip tests if "grep" or "sleep" isn't available.
|
|
|
|
|
|
| |
#22633
When a client has no workspace_folders, (e.g., copilot), `pairs`
code would crash.
|
|\
| |
| | |
refactor!: remove deprecated functions
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
vim.highlight.create/link
|
| |
| |
| | |
The ranges passed to foldinfo.remove_range were in the wrong order.
|
| | |
|
| |
| |
| |
| | |
Some tests that were previously not working have started to work again
for unspecified reasons, so let's enable them.
|
| |
| |
| |
| |
| | |
we cannot remove 'paste'. It is very common in plugins and configs.
'pastetoggle' can and should be removed though, it's a total waste of everyone's time because it generates bug reports and doesn't work well, and is useless because bracketed-paste works better.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem:
The function name `vim.pretty_print`:
1. is verbose, which partially defeats its purpose as sugar
2. does not draw from existing precedent or any sort of convention
(except external projects like penlight or python?), which reduces
discoverability, and degrades signaling about best practices.
Solution:
- Rename to `vim.print`.
- Change the behavior so that
1. strings are printed without quotes
2. each arg is printed on its own line
3. tables are indented with 2 instead of 4 spaces
- Example:
:lua ='a', 'b', 42, {a=3}
a
b
42
{
a = 3
}
Comparison of alternatives:
- `vim.print`:
- pro: consistent with Lua's `print()`
- pro: aligns with potential `nvim_print` API function which will
replace nvim_echo, nvim_notify, etc.
- con: behaves differently than Lua's `print()`, slightly misleading?
- `vim.echo`:
- pro: `:echo` has similar "pretty print" behavior.
- con: inconsistent with Lua idioms.
- `vim.p`:
- pro: very short, fits with `vim.o`, etc.
- con: not as discoverable as "echo"
- con: less opportunity for `local p = vim.p` because of potential shadowing.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
scroll_delta contains how much the top line of a window moved since the
last time win_viewport was emitted. It is expected to be used to
implement smooth scrolling. For this purpose it only counts "virtual" or
"displayed" so folds should count as one line. Because of this it
adds extra information that cannot be computed from the topline
parameter.
Fixes #19227
|
|\ \
| | |
| | | |
refactor(redraw): make cursor position use the "redraw later" pattern
|
|/ / |
|
| |
| |
| | |
Fixes https://github.com/neovim/neovim/issues/22629
|
| |
| |
| | |
With a wide screen this actually previously caused an overflow.
|
| | |
|
| |
| |
| | |
Just setcursor_mayforce(true) is enough as Nvim uses msg_grid.
|
| |
| |
| |
| |
| |
| | |
Problem: Condition is always true.
Solution: Remove the condition. (closes vim/vim#12139)
https://github.com/vim/vim/commit/c481ad38f05c9f759ca7fd01a54c78acad794e85
|
| |
| |
| |
| | |
Skip failing funcitonaltests. Use jobstart() instead termopen() for
oldtests to prevent CI freezing.
|
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 00a976129b603b60f1e309ee7484cb0f4b5a9792.
Visual Studio fails the build if the CMakePresets.json version is too
high and the CMakePresets.json integration is enabled.
Closes https://github.com/neovim/neovim/issues/22608.
|
|\ \ |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
- And address more type errors.
- Removed the `concat` option from `get_node_text` since it was applied
inconsistently and made typing awkward.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Subset of https://github.com/neovim/neovim/pull/22407 that was reverted
in https://github.com/neovim/neovim/pull/22604
If a buffer is renamed sending `didClose` for the old buffer helps
ensure the language server doesn't keep a stale document in memory.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Autoload script sourced twice if sourced directly.
Solution: Do not source an autoload script again. (issue vim/vim#6644)
https://github.com/vim/vim/commit/daa2f36573db3e1df7eb1fdbc3a09a2815644048
Cherry-pick ret_sid changes from patch 8.2.0149.
Use do_in_runtimepath() as that's what source_runtime() calls in Nvim.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
| | | |
|
| | |
| | |
| | | |
With msg_grid there is no need to subtract msg_scrolled.
|
|\ \ \
| |_|/
|/| | |
fix(diff): trigger on_bytes only once after diffget/diffput
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: The fix from b50ee4a8dc4306e4be78ac33fb74b21dc6be5538 may
adjust extmark twice, triggering on_bytes callback twice.
Solution: Don't let mark_adjust adjust extmark.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Installing the ruby provider takes anything between 1 and 1.5 minutes on
Windows, which is a big drain on our CI. Remove it until we find a more
sustainable solution.
|
|\ \ \
| |/ /
|/| | |
ci: test build with external dependencies on every pull request
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The lua client is no longer needed after
d6279f9392073cb1422d76c57baf3fd283ed954e. One of its dependencies,
mpack, is still needed however. Remove lua-nvim and replace it with
lua-mpack.
The other packages are most likely not needed as we no longer run tests
for external dependencies.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Only testing the build with external dependencies on build system
changes is too naive, as demonstrated by
b9f19d3e286d95d9209afbc479fa2eb908067fb1.
|