aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Merge pull request #22666 from bfredl/unscreenbfredl2023-03-14
|\ | | | | refactor(screen): screen.c delenda est
| * refactor(screen): screen.c delenda estbfredl2023-03-14
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | fix(lsp): kill buffers after renaming a directory #22618Ivan2023-03-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | fix(lsp): vim.lsp.util.apply_text_edits cursor validation #22636hrsh7th2023-03-14
| | | | | | | | | | | | | | | | 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.
* | docs(lsp): opt-out of default LSP "gq" #22615Zoltán Reegn2023-03-14
| | | | | | close #22611
* | Merge pull request #22658 from clason/help-marksChristian Clason2023-03-14
|\ \ | |/ |/| | | fix(help): force tree reparse after local addition insertion docs(help): consistent headers for local additions
| * docs(help): consistent headers for local additionsChristian Clason2023-03-13
| |
| * fix(help): force tree reparse after local addition insertionChristian Clason2023-03-13
| | | | | | | | | | | | | | | | | | 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.
* | Merge pull request #22659 from bfredl/floatrulerbfredl2023-03-14
|\ \ | | | | | | fix(screen): redraw the ruler for a current floating window
| * | fix(screen): redraw the ruler for a current floating windowbfredl2023-03-14
| |/ | | | | | | | | | | | | 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.
* | build(deps): bump tree-sitter to v0.20.8 (#22663)Christian Clason2023-03-14
| |
* | test: re-bundle cat on windows (#21255)dundargoc2023-03-14
|/ | | | | | | | | | 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.
* fix(lsp): remove_workspace_folders fails if client has no workspace_folders ↵Dan Strokirk2023-03-13
| | | | | | #22633 When a client has no workspace_folders, (e.g., copilot), `pairs` code would crash.
* Merge pull request #22627 from nullchilly/highlight-cleanupChristian Clason2023-03-13
|\ | | | | refactor!: remove deprecated functions
| * docs: add removed features in news.txtnullchilly2023-03-12
| |
| * refactor(health)!: remove deprecated health.luanullchilly2023-03-11
| |
| * refactor(treesitter)!: remove deprecated show_tree funcnullchilly2023-03-11
| |
| * refactor(highlight)!: remove deprecated functionsnullchilly2023-03-11
| | | | | | | | vim.highlight.create/link
* | fix(treesitter): foldexpr (#22652)Lewis Russell2023-03-13
| | | | | | The ranges passed to foldinfo.remove_range were in the wrong order.
* | test(old): unskip working tests on Windows (#22650)zeertzjq2023-03-13
| |
* | test: unskip working Windows tests (#22537)dundargoc2023-03-13
| | | | | | | | Some tests that were previously not working have started to work again for unspecified reasons, so let's enable them.
* | feat(options)!: deprecate paste, remove pastetoggle (#22647)ii142023-03-13
| | | | | | | | | | 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.
* | refactor!: rename vim.pretty_print => vim.printJustin M. Keyes2023-03-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | test(float_spec): add missing sum_scroll_delta #22648zeertzjq2023-03-12
| |
* | feat(ui): add scroll_delta to win_viewport event #19270Matthias Deiml2023-03-12
| | | | | | | | | | | | | | | | | | | | 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
* | Merge pull request #22590 from bfredl/status2bfredl2023-03-12
|\ \ | | | | | | refactor(redraw): make cursor position use the "redraw later" pattern
| * | refactor(redraw): make cursor position redraw use the "redraw later" patternbfredl2023-03-12
|/ /
* | fix(lsp): use line start/end for visual line selection (#22632)Mathias Fußenegger2023-03-12
| | | | | | Fixes https://github.com/neovim/neovim/issues/22629
* | test: use a wider screen in the rightleft winhl test (#22641)zeertzjq2023-03-12
| | | | | | With a wide screen this actually previously caused an overflow.
* | fix(screen): correctly draw background and eob with 'rightleft' (#22640)zeertzjq2023-03-12
| |
* | fix(sleep): correct cursor placement (#22639)zeertzjq2023-03-12
| | | | | | Just setcursor_mayforce(true) is enough as Nvim uses msg_grid.
* | vim-patch:9.0.1401: condition is always true (#22638)zeertzjq2023-03-12
| | | | | | | | | | | | Problem: Condition is always true. Solution: Remove the condition. (closes vim/vim#12139) https://github.com/vim/vim/commit/c481ad38f05c9f759ca7fd01a54c78acad794e85
* | ci: bump to windows 2022dundargoc2023-03-11
| | | | | | | | Skip failing funcitonaltests. Use jobstart() instead termopen() for oldtests to prevent CI freezing.
* | revert: "build: enable cmake workflow presets (#21860)"dundargoc2023-03-11
| | | | | | | | | | | | | | | | 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.
* | Merge pull request #22613 from lewis6991/feat/tsqueryutilLewis Russell2023-03-11
|\ \
| * | refactor(treesitter): add Range type aliase for Range4|Range6Lewis Russell2023-03-11
| | |
| * | feat(treesitter)!: consolidate query util functionsLewis Russell2023-03-10
| | | | | | | | | | | | | | | | | | - And address more type errors. - Removed the `concat` option from `get_node_text` since it was applied inconsistently and made typing awkward.
* | | docs(lsp): more precise type annotations (#22621)Jaehwang Jung2023-03-11
| | |
* | | fix(lsp): send didClose on buffer rename (#22623)Mathias Fußenegger2023-03-11
| | | | | | | | | | | | | | | | | | | | | 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.
* | | refactor(lsp): remove _resolve_capabilities_compat (#22628)Raphael2023-03-11
| | |
* | | vim-patch:8.2.1398: autoload script sourced twice if sourced directly (#22622)zeertzjq2023-03-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | fix(api): set script context when setting usercmd or option (#22624)zeertzjq2023-03-11
| | |
* | | fix(edit): don't subtract msg_scrolled when removing double quote (#22630)zeertzjq2023-03-11
| | | | | | | | | With msg_grid there is no need to subtract msg_scrolled.
* | | Merge pull request #22625 from tomtomjhj/diff-on_bytes-oncebfredl2023-03-11
|\ \ \ | |_|/ |/| | fix(diff): trigger on_bytes only once after diffget/diffput
| * | fix(diff): trigger on_bytes only once after diffget/diffputJaehwang Jung2023-03-11
| | | | | | | | | | | | | | | | | | | | | Problem: The fix from b50ee4a8dc4306e4be78ac33fb74b21dc6be5538 may adjust extmark twice, triggering on_bytes callback twice. Solution: Don't let mark_adjust adjust extmark.
* | | refactor: move ga_loaded to runtime.c (#22626)zeertzjq2023-03-11
| | |
* | | ci: skip ruby provider tests on Windowsdundargoc2023-03-11
| | | | | | | | | | | | | | | 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.
* | | Merge pull request #22577 from dundargoc/ci/external-depsdundargoc2023-03-11
|\ \ \ | |/ / |/| | ci: test build with external dependencies on every pull request
| * | ci: don't install unused packagesdundargoc2023-03-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | ci: test build with external dependencies on every pull requestdundargoc2023-03-11
| | | | | | | | | | | | | | | | | | Only testing the build with external dependencies on build system changes is too naive, as demonstrated by b9f19d3e286d95d9209afbc479fa2eb908067fb1.