Commit graph

1460 commits

Author SHA1 Message Date
Frestein ☁️
55b5c1fecb
fix(lang.clojure): correct cmp-conjure source name (#6208)
## Description


8c9a88efed/README.md (L10)

## Related Issue(s)

<!--
  If this PR fixes any issues, please link to the issue here.
  - Fixes #<issue_number>
-->

## Screenshots

<!-- Add screenshots of the changes if applicable. -->

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-09-20 14:08:56 +02:00
Folke Lemaitre
5ce7cd650a
fix(treesitter): check if queries for indent/fold exists before enabling it. Fixes #6474 2025-09-19 19:58:28 +02:00
gbprod
55e762a888
feat(yanky): use snacks picker for improved yank history navigation (#5802)
## Description

I've introduce snacks picker support for [Yanky history
ring](https://github.com/gbprod/yanky.nvim/pull/215), I propose to use
it in LazyVim.

## Screenshots


![image](https://github.com/user-attachments/assets/0e11bab4-3060-418b-8fa1-33df6a4ee8c5)

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-09-19 11:29:07 +02:00
Wendel Macedo
26590285ea
feat(clojure): use 'nvim-paredit' instead 'nvim-treesitter-sexp' as clojure S-exp Plugin (#5876)
## Description

On [this bug](https://github.com/LazyVim/LazyVim/issues/5866) I told
about a plugin that was falty on clojure lang extra, with the goal to
have him removed but @mitchelkuijpers suggested a new one that I
implemented on this PR.

[The plugin](https://github.com/julienvincent/nvim-paredit) is 1:1 with
the keymaps of the older one.

## Related Issue(s)

https://github.com/LazyVim/LazyVim/issues/5866

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-09-19 08:38:33 +02:00
Folke Lemaitre
3ca7b47365
feat(core): relax hard requirement for vim.lsp.is_enabled. Show warning instead 2025-09-19 08:11:38 +02:00
Folke Lemaitre
ccbaf55c2f
feat(options): don't overwrite indentexpr/foldexpr/foldmethod when set by plugins. Fixes #6464 2025-09-18 22:19:03 +02:00
Folke Lemaitre
cfac3c9a85
fix(core): check for outdated nightly. See #6458 2025-09-18 14:08:08 +02:00
Folke Lemaitre
75a3809e15
fix(lsp): schedule_wrap setting up LSPs to work around root cause of #6456. Fixes #6456 2025-09-18 13:52:07 +02:00
Folke Lemaitre
36b41911ab
fix(lspconfig): remove all usage of lspconfig 2025-09-18 13:06:48 +02:00
Folke Lemaitre
725d048e00
feat(treesitter): automatically install and use mason's tree-sitter-cli if not installed on system 2025-09-18 09:49:54 +02:00
Folke Lemaitre
b93303d233
feat(treesitter): refactored setting up treesitter indent/highlight/folds 2025-09-18 09:49:54 +02:00
Folke Lemaitre
c28f599d4f
fix(treesitter): properly update installedd languages after setup 2025-09-17 23:39:19 +02:00
Folke Lemaitre
a6b38de763
fix(treesitter): indentexpr/foldexpr now work as intended and override ftplugin settings. Fixes #6447 2025-09-17 22:46:14 +02:00
Zhizhen He
ed3aa74c10
fix(python): remove the wrapping settings key from setup() options (#6069)
## Description

Remove the wrapping `settings` key from `setup()` options.

<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

## Related Issue(s)

<!--
  If this PR fixes any issues, please link to the issue here.
  - Fixes #<issue_number>
-->

## Screenshots

<img width="601" alt="image"
src="https://github.com/user-attachments/assets/92f3fc5a-9497-40c2-bc83-2a216cccb2f2"
/>

<!-- Add screenshots of the changes if applicable. -->

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-09-17 17:16:31 +02:00
Folke Lemaitre
2d56d3b37c
fix(treesitter): TS update during inital build 2025-09-17 16:54:36 +02:00
Folke Lemaitre
72e1ee5b0d
refactor(treesitter): cleanup 2025-09-17 15:33:37 +02:00
Amaan Qureshi
aab503fda6
fix(clangd): file detection improvements (#6436)
## Description

As discussed in
23b9cdeb34 (r165937336),
it'd be better to remove clang configuration files from influencing root
dir detection. I've also added meson and ninja files to the extra's
recommendation detection

## Related Issue(s)

## Screenshots

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-09-17 11:19:29 +02:00
Tom MacWright
ab657e9589
docs: improved plugin doc strings (#5657)
## Description

This improves the comment strings that produce documentation for
different plugins. I often look at the docs to learn what stuff is
already installed, and this would help people like me to quickly
understand what some of the plugins do.

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-09-17 11:17:32 +02:00
Alexey Svirshchevskiy
014b5bf6ac
docs(treesitter): fix checkhealth command (#6433) 2025-09-17 10:40:37 +02:00
Jorge Villalobos
112b8848b5
chore(which-key): remove unnecessary icons (#5461)
## Description

These are already handled by which-key exactly the same way, no need to
re-declare them here. Removing them from here has no effect.

## Related Issue(s)

N/A

## Screenshots

![Screenshot 2025-01-23 at 21 21
14](https://github.com/user-attachments/assets/d9f777e8-d514-4836-9314-03a66cc5a34b)

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-09-17 10:15:21 +02:00
Nick Janetakis
fd1b02ae57
fix(grug-far): add support for GrugFarWithin so it gets loaded by default (#5772)
## Description

https://github.com/MagicDuck/grug-far.nvim is the default find and
replace plugin for LazyVim.

It recently added support for being able to do a find / replace within a
visual selection to limit the scope of a search.

It did that by introducing a new command called `:GrugFarWithin`. This
PR adds that as a `cmd` so it gets loaded by default. Without this PR,
you cannot call this command unless you first call `:GrugFar`. This was
identified by the author of Grug Far.

## Related Issue(s)

There is no issue in this repo, but this feature is related to:
https://github.com/MagicDuck/grug-far.nvim/issues/357

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.

I also want to give a shout-out to @MagicDuck who is the author of the
plugin. He implemented this feature so fast and has been super helpful
in his repo's issue tracker.
2025-09-17 10:14:48 +02:00
EasonMo
6eed1781c1
fix(gitsigns): use silent for gitsigns keymaps (#5841)
## Description

When executing `<leader>ghs`, the command line window will flicker.
Therefore, it should be run silently.

## Related Issue(s)
None

## Screenshots

<!-- Add screenshots of the changes if applicable. -->

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-09-17 10:13:36 +02:00
Folke Lemaitre
e9344e5319
docs: better error and ref to checkhealth for nvim-treesitter main 2025-09-17 10:10:34 +02:00
Folke Lemaitre
5eac460c09
feat(treesitter)!: migrate to nvim-treesitter **main** branch 2025-09-17 09:52:44 +02:00
Folke Lemaitre
5e2c4e62f2
feat(lsp): enable LSP folds when available 2025-09-17 08:11:33 +02:00
Folke Lemaitre
4a3b4a80a8
fix(vue): volar -> vua_ls. Fixes #6236. Closes #6238. Closes #6174 2025-09-17 07:30:27 +02:00
Folke Lemaitre
64ee23f38f
style: remove references to Neovim 0.10 2025-09-17 07:14:37 +02:00
Folke Lemaitre
919c9e5d09
fix(eslint): remove old 0.10 code 2025-09-17 07:14:22 +02:00
Folke Lemaitre
cccfe70ea4
feat!: bump Neovim requirement to 0.11.2 2025-09-17 07:01:08 +02:00
Folke Lemaitre
f54fd7f751
fix(blink): make blink completions in cmdline behave more like regular cmdline 2025-09-16 17:43:35 +02:00
Folke Lemaitre
f4e64eea45
refactor(lsp): remove LazyVim.lsp.get_clients 2025-09-16 17:34:17 +02:00
Folke Lemaitre
9fa832dc95
fix(lsp): properly register capabilities with new vim.lsp.config. Not needed for blink 2025-09-16 15:41:21 +02:00
EJ
6e1de74597
fix(refactoring): update funcs to return, add expr=true, operator mode (#5882)
## Description

This fixes the keymaps for `refactoring.nvim` to work with the latest
version (see issue linked below)

## Related Issue(s)

- #5881 

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-09-16 12:47:51 +02:00
qw457812
b926e7db41
fix(treesitter-main): set vim.bo.indentexpr in FileType autocmd (#6430)
## Description

Ref:
7aa24acae3/scripts/minimal_init.lua (L19-L24)

## Related Issue(s)

<!--
  If this PR fixes any issues, please link to the issue here.
  - Fixes #<issue_number>
-->

## Screenshots

<!-- Add screenshots of the changes if applicable. -->

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-09-16 11:58:24 +02:00
Christoph Schmidpeter
cc4a3e5564
fix(lang.haskell): prevent Haskell extras from installing telescope.nvim (#6419)
## Description
Installing the Haskell extras currently installs telescope.nvim as well,
since the dependency is not marked optional. This marks it optional so
telescope.nvim is no longer pulled in automatically.

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.

Co-authored-by: Christoph Schmidpeter <christoph.schmidpeter@gmail.com>
2025-09-16 11:47:05 +02:00
qw457812
c05392186e
fix(jdtls): root_dir (#6429)
Fix:

```
Failed to run `config` for nvim-jdtls

...im/lazy/LazyVim/lua/lazyvim/plugins/extras/lang/java.lua:113: attempt to call field 'root_dir' (a nil value)

  - /LazyVim/lua/lazyvim/plugins/extras/lang/java.lua:113 _in_ **full_cmd**
  - /LazyVim/lua/lazyvim/plugins/extras/lang/java.lua:169 _in_ **attach_jdtls**
  - /LazyVim/lua/lazyvim/plugins/extras/lang/java.lua:286 _in_ **config**
  - ~/.local/share/bob/nightly/share/nvim/runtime/filetype.lua:36
  - vim/shared.lua:0
  - ~/.local/share/bob/nightly/share/nvim/runtime/filetype.lua:35
  - vim/_editor.lua:0 _in_ **cmd**
  - /persistence.nvim/lua/persistence/init.lua:88 _in_ **load**
  - lua:1
  - vim/_editor.lua:0 _in_ **action**
  - /snacks.nvim/lua/snacks/dashboard.lua:693
```

## Description

<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

## Related Issue(s)

<!--
  If this PR fixes any issues, please link to the issue here.
  - Fixes #<issue_number>
-->

## Screenshots

<!-- Add screenshots of the changes if applicable. -->

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-09-16 11:46:26 +02:00
Iordanis Petkakis
44cc0635bc
fix(ocaml): use root_dir instead of root_markers for globs support (#6428)
## Description
As per
[comment](23b9cdeb34 (r165830889)),
use `root_dir` with `util.root_pattern` instead of `root_markers` for
globs support.

I don't actually do Ocaml to thoroughly test it, but it should work in
theory 😛
<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

## Related Issue(s)
None
<!--
  If this PR fixes any issues, please link to the issue here.
  - Fixes #<issue_number>
-->

## Screenshots

<!-- Add screenshots of the changes if applicable. -->

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-09-16 11:45:46 +02:00
Folke Lemaitre
ff7c12c48e
feat(blink): enable cmdline completions 2025-09-16 08:34:57 +02:00
Folke Lemaitre
4961b3d4d4
perf(blink): only enable lazydev in lua files 2025-09-16 08:34:22 +02:00
Folke Lemaitre
011a35ccb8
feat(blink): enable blink cmdline completions 2025-09-16 08:34:21 +02:00
Md. Iftakhar Awal Chowdhury
14d2a9baa1
fix(schemastore): use before_init instead of on_new_config to load schema store (#6427)
## Description

`vim.lsp.config` doesn't provide `on_new_config`, which is causing
`b0o/SchemaStore.nvim` fail to load.
This PR replaces `on_new_config` with `before_init` fixing the issue.

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-09-15 21:17:45 +02:00
Folke Lemaitre
2f309fc8b5
perf(treesitter-main): only enable highlighting for installed treesitter langs 2025-09-15 21:14:42 +02:00
Folke Lemaitre
2f75d9a90f
fix(lsp): properly ambiguate denols vs vtsls 2025-09-15 21:00:19 +02:00
Folke Lemaitre
271fecb067
fix(jdtls): root_dir 2025-09-15 20:44:14 +02:00
Folke Lemaitre
23b9cdeb34
fix(lspconfig): remove all references to lspconfig. Closes #6426 2025-09-15 20:42:10 +02:00
Jinfeng Guo
167d39b2be
fix(clangd): rewrite the root_dir function (#6060)
## Description

<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

Nvim 0.11 had some breaking changes in lsp related parts. And one of
them is that if the root_dir field of lsp config is a function, the
bufnr and a function would be passed instead of the file name in nvim
0.10. As a result, the configurations of extra.lang.clangd broke.

However, before the breaking changes of mason and mason-lspconfig, the
configurations of clangd still worked. So maybe what really broke the
configurations is mason-lspconfig, which uses a new way to enable lsp in
v2.

I rewrite the root_dir function and make it work both on 0.11 and 0.10.

It would check whether the first argument is a string to decide whether
to adapt the new interface.

To test whether it works, you can just add a plugin/clangd.lua to you
personal config with the content below:

```lua
return {
  "neovim/nvim-lspconfig",
  opts = {
    servers = {
      clangd = {
        root_dir = function(bufnr, ondir)
          local root_directory = function(fname)
            return require("lspconfig.util").root_pattern(
              "Makefile",
              "configure.ac",
              "configure.in",
              "config.h.in",
              "meson.build",
              "meson_options.txt",
              "build.ninja"
            )(fname) or require("lspconfig.util").root_pattern("compile_commands.json", "compile_flags.txt")(
              fname
            ) or require("lspconfig.util").find_git_ancestor(fname)
          end
          if type(bufnr) == "string" then
            return root_directory(bufnr)
          else
            local fname = vim.api.nvim_buf_get_name(bufnr)
            ondir(root_directory(fname))
          end
        end,
      },
    },
  },
}
```

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-09-15 17:19:23 +02:00
Folke Lemaitre
96316e5a69
fix(treesitter-main): move exe check to config 2025-09-15 17:17:21 +02:00
Folke Lemaitre
5668ad72ca
feat(extras): added an experimental extra for the treesitter main branch 2025-09-15 17:13:40 +02:00
Folke Lemaitre
0d27e89a36
refactor(lsp): cleanup lsp config 2025-09-15 16:28:46 +02:00
Iordanis Petkakis
773f28b491
fix(mason): migrate to mason v2 (#6053)
## Description
`mason-lspconfig` v2 made changes to conform with latest Neovim
`vim.lsp.config`/`vim.lsp.enable` API.

- Lock `mason` and `mason-lspconfig` to v1 versions for Neovim <0.11 and
latest HEAD for Neovim >=0.11.
- Change `:get_install_path()` method in LazyVim to use
`LazyVim.get_pkg_path()` and also update name references to new ones.
- Change `nvim-lspconfig` from `LazyFile` to `{ "BufReadPre",
"BufNewFile", "BufWritePre" }` for Neovim >=0.11, since on `BufReadPost`
the LSP would not attach on the first buffer. Previously the
`setup.handlers()` function from `mason-lspconfig` would take care of
that, but that has been removed on v2. I fail to think if there's a
better way to handle this.

Most of the changes in `/lsp/init.lua` are thanks to @williamboman
comment
[here](https://github.com/LazyVim/LazyVim/pull/6041#issuecomment-2857266471).

I've also seen that both `mason-lspconfig` and `rustaceanvim` now have
as minimum requirements Neovim >=0.11.
As such I would suggest, instead of all the conditional checks for
Neovim versions to create a stable release where we pin `mason` and
`mason-lspconfig` to v1 versions and then only incorporate William's
suggestions in a new release and mention in the README that users who
are on Neovim <0.11 should use the stable release where the plugin
versions are pinned to v1. Not sure how you want to tackle this, so this
is merely just a suggestion from my part.

Both #6041 and #6045 tackle only with the new name references and the
offending line that was causing the error, but don't take into
consideration the LSP servers configurations. `opts.setup` would not
execute on both, since that was handled by `setup_handlers()` function
in the past. I checked with Typescript lang and with those PRs there are
no Javascript settings in `vtsls` (by checking with
`:=LazyVim.opts("nvim-lspconfig").servers.vtsls`).
#6045 also tried to change the method `:get_install_pkg()` by using
`vim.fn.exepath`, but to my understanding that only returns the binary
path not the package installation path and that is later concatenated to
find other paths, which I believe is not correct.

PS: There are 2 commits, because my LazyVim fork was not up to date and
updated it and then merged the branch I had into a new branch. Sorry if
that causes any inconvenience.
<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

## Related Issue(s)
Fixes #6039
<!--
  If this PR fixes any issues, please link to the issue here.
  - Fixes #<issue_number>
-->

## Screenshots

<!-- Add screenshots of the changes if applicable. -->

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
Co-authored-by: William Boman <william@redwill.se>
Co-authored-by: Luis Durão <kpvrzlzzx@mozmail.com>
2025-09-15 12:08:19 +02:00