## 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.
## 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.
## 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.
## 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.
## 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.
## 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.
## 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>
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.
## 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.
## 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.
## 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.