## Description
Rather than manually handling hover and completions through nvim-cmp and
nvim-lspconfig, enable the crates.nvim in-process lsp server. This also
allows crates.nvim to provide code actions.
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
## Related Issue(s)
This change also removes the direct dependency on nvim-cmp, which should
help with #4680
<!--
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>
## Description
Extra to use [blink.cmp](https://github.com/Saghen/blink.cmp) instead of
**nvim-cmp**.
## Todo
- [x] tokyonight suport
- [x] basic integration
- [ ] check / update all cmp sources
- [ ] copilot and others integration
- [x] native lazydev source
## Limitations
There's no copilot source, so instead when enabling both blink and
copilot:
- blink ghost text is disabled
- copilot suggestions are enabled
- use `<tab>` to navigate snippets and accept copilot completions
## Related Issue(s)
- https://github.com/LazyVim/LazyVim/discussions/4679
## Description
When using `<leader>gf` Lazygit is launched in the current directory
rather than the root directory.
<!-- 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
Currently `checkhealth` buffers stay visible on `bufferline` when you
close them with `q`. Use `:bd` instead to delete the buffer from
bufferlist. `vim.schedule` is needed because `LspInfo` adds its own
mapping to close the window (see
[here](edd9591199/lua/lspconfig/health.lua (L328))),
so we need to overwrite it.
<!-- 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
Makes it easier to disable it for users who want to try other completion
engines, without it being pulled back by some Extra.
<!-- 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
Allow user to use `v:count1` when moving lines
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
## Related Issue(s)
Closes#4615.
<!--
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
Offer to users capability to customize priorities of the Extras.
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
## Related Issue(s)
Closes#4584
<!--
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
This provides `vim.g.root_lsp_ignore` for users to customize which LSP
servers should be taken into account when evaluating the LSP `root_dir`.
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
## Related Issue(s)
Closes#4330
<!--
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
There was a change in `gitsigns` filetype name for blame.
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
## Related Issue(s)
No
<!--
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.
The recommended version of rustaceanvim has changed to 5.x, which brings
in a lot of improvements.
## Description
Version 5.x of rustaceanvim has a lot of improvements over 4.x, and is
the recommended version according to its maintainer.
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## Description
Add to `M.wk` fields for `icon`, `color_enabled` and `color_disabled`
for more granual user customization.
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
## Related Issue(s)
No, rather a discussion #4512
<!--
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
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
In this [PR](https://github.com/neovim/nvim-lspconfig/pull/3232),
tsserver is renamed to ts_ls, but it hasn't been released yet.
Therefore, ts_ls is added to the LSP configuration in case the user
updates their plugins locally.
## Related Issue(s)
<!--
If this PR fixes any issues, please link to the issue here.
- Fixes #<issue_number>
-->
N/A!
## Screenshots
<!-- Add screenshots of the changes if applicable. -->
N/A!
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## Description
After
cb9a5e2412
there's no need for defining filetypes both in Lazy's `ft` and the
plugin's `opts.file_types`.
<!-- 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
There was a problem with Omnisharp with fzf.lua enabled instead of
telescope. As discussed in #4258, this change makes Go To Definition
work with fzf.lua.
## Related Issue(s)
- Fixes#4258
## 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. -->
make use of vscode builtin terminal
**I don't know how to properly handle cwd so it's implemented as a
simple toggle**
## Related Issue(s)
<!--
If this PR fixes any issues, please link to the issue here.
- Fixes #<issue_number>
-->
#4280
## Checklist
- [X] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## Description
Just a very simple fix to use the updated method in grug to set the
options for the dependency. Just ran across the issue debuging search
and replace on my setup (was not the issue).
This is not breaking.
## Related Issue(s)
N/A
## Screenshots
N/A
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## Description
CopilotChat upgraded to gpt-4o early in August
2c4d2954f9
but the LazyVim plugin is still running with opts of gpt-4. I thought
about changing model to the latest here, but I feel this means more
maintainability for an option which generally is expected to point to
the latest model, and the upstream opts of CopilotChat seem to keep up
with that already.
## Related Issue(s)
None
## Screenshots
None
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## Description
This makes `toggle.diagnostics` compatible with Neovim 0.9.5 (though not
sure about the metatable callables, since `set` there accepts a boolean
from `get` state).
Please make whatever changes you deem necessary or disregard as a whole
for a better approach I haven't been able to think of.
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
## Related Issue(s)
Fixes#4203
<!--
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
This fixes the problem when checking for updates and trying to build and
the user encounters the error `unknown function mkdp#util#install`.
As per https://github.com/iamcco/markdown-preview.nvim/pull/691
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
## Related Issue(s)
No, rather a discussion #4194
<!--
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
This takes into consideration an additional file, if it exists, to
extend `LG_CONFIG_FILE` environment variable, so that users can
overwrite easier default LazyVim options set for lazygit in
`lazygit-theme.yml`. It's not desirable to directly change
`lazygit-theme.yml` as the values are hardcoded and regenerated upon
colorscheme change.
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
## Related Issue(s)
Fixes#4364. Ideally, the problem about `nvim-remote` on Windows should
be fixed on lazygit's side, so this is just kind of a hotfix in the
meantime. Feel free to disregard this if not desirable.
<!--
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.
Okay, so
https://github.com/MeanderingProgrammer/markdown.nvim?tab=readme-ov-file
is a new kid on the block that I've been enjoying a lot. It replaces
headlines.nvim.
This new extra is a way for folks to try markdown.nvim effortlessly.
(Should I add here everything from the current markdown extra to make
this extra a complete drop-in replacement?)
---------
Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
## Description
* mason-nvim-dap.nvim ships a `Python: Launch file` adapter which does
the same thing as `Launch file` of nvim-dap-python, providing both
doesn't make sense and confuses the users.
* mason-nvim-dap.nvim unexpectedly overrides nvim-dap-python's adapters
and breaks its venv detection. As a result, user programs are always
executed in mason debugpy venv rather than the activated one.
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
## Related Issue(s)
Fixes#3064
<!--
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.
This is a refactoring of #3846 with the changes:
- Use `Lazyvim.lsp.execute` on keymaps to make everything simpler;
- Remove expandMacro.
Closes#3846
---------
Co-authored-by: Ahmed Kamal <ahmed@moon-i.com.au>
## Description
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
See [this](https://github.com/LazyVim/LazyVim/discussions/4112)
discussion
TLDR:
Startup time performance is affected quite significantly when the
clipboard provider is `xsel`(linux) or `pbcopy`(macos). I expect an
improvement in these cases, especially on older pc's.
This PR resets `vim.opt.clipboard` after the `options` are loaded. Then,
on `VeryLazy`, the setting is restored.
I also tested with `yanky`.
Relevant prints:
1. Before resetting `vim.opt.clipboard` in `init`,
`vim.print(vim.opt.clipboard)` yields a table which will be captured:
```lua
--- fields
_name = "clipboard",
_value = "unnamedplus",
--- more fields
```
2. Set `vim.opt.clipboard = ""` and `vim.print(vim.opt.clipboard)`, also
yields a table:
```lua
--- fields
_name = "clipboard",
_value = "",
--- more fields
```
## 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.
Co-authored-by: abeldekat <abel@nomail.com>
## What is this PR for?
Shopify started working on its own LSP
(https://github.com/Shopify/ruby-lsp) and it performs way better than
Solargraph which has a lot of limitations. This paired with sorbet gives
better IntelliSense when navigating the code.
This PR follows the same approach as Python and lets the user configure
through vim.g options the lsp and formatter for ruby, without overriding
any configuration.
## Does this PR fix an existing issue?
One caveat though is that RubyLsp does not work very well with NeoVim <
0.10 https://github.com/Shopify/ruby-lsp/blob/main/EDITORS.md#neovim
## 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. -->
Adds an extra that adds language support for ocaml.
Adds LSP and completions. Fairly simple/small config.
## Related Issue(s)
<!--
If this PR fixes any issues, please link to the issue here.
- Fixes #<issue_number>
-->
None
## Screenshots
<!-- Add screenshots of the changes if applicable. -->
<img width="1510" alt="lsp ocaml"
src="https://github.com/user-attachments/assets/0e44c539-332c-415d-9225-bcbb61f37666">
## 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. -->
Right now there is a default `vim.g.trouble_lualine` being set to
`true`, and only that variable is being checked when deciding if the
trouble output is being appended to the `lualine_c` for the lualine
plugin. This is normally nice in code files, where you can get output
like `packages/src/index.ts > myFunction` but in some filetypes, the
user may not wish for this. In particular, I found if you have files
with the `markdown` type that include long headers, then you can easily
lose the file name by it trying to include the headers in this location.
Considering that one of the `CONTRIBUTING.md` guidelines is `Ensure all
configurations are overridable by the user, using Lazy's specs.`, I
figured that allowing this to be overrideable at the user's discretion
could be a valuable feature.
This would allow the user to override this on file type by including an
autocmd like this in their `lua/config/autocmds.lua` or equivalent:
```lua
-- disable trouble symbols in lualine in text filetypes
vim.api.nvim_create_autocmd("FileType", {
group = vim.api.nvim_create_augroup("disable_trouble_lualine", { clear = true }),
pattern = { "text", "plaintex", "typst", "gitcommit", "markdown" },
callback = function()
vim.b.trouble_lualine = false
end,
})
```
## 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.
---------
Co-authored-by: jpridemore-allegion <jeremy.pridemore@allegion.com>
## Description
Often times when opening a terminal or lazygit when a search is active,
words in the terminal are highlighted. In my opinion this is rarely, if
not never intended. This attempts to fixes this behavior. The code of
`terminal.lua` is a bit beyond me, but I believe I have added it to the
right place.
## Related Issue(s)
N/A.
## 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. -->
A new feature was added to `r.nvim` that added a new key bind. This pr
adds that key bind (and group in case more are added) to the current
which-key config.
(I also removed a comment that I made previously for increasing the
width of the which-key window to fit the longer keybind descriptions,
something that eventually was taken out of the previous PR long ago)
## Related Issue(s)
<!--
If this PR fixes any issues, please link to the issue here.
- Fixes #<issue_number>
-->
None
## Screenshots
<!-- Add screenshots of the changes if applicable. -->
<img width="154" alt="Screenshot 2024-07-16 at 9 24 54 AM"
src="https://github.com/user-attachments/assets/70336846-cf42-458e-89f3-3e7cf1b94c3f">
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## Description
Being able to select from the yank history is useful if you want to
paste over something else by first selecting the stuff you want to
remove in visual mode.
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
Because I use the Colemak-DH keyboard layout, I have mapped 'i' to 'h'.
Therefore, the current mini.ai which_key prompts are inconsistent with
my keymap.
## Description
The names and prefixes used in mini.ai_whichkey() are hardcoded and
should follow the user's mappings.
## Related Issue(s)
No
## Screenshots
No
## 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>
## Description
this makes the extra luasnip lazy load at the same time as nvim cmp.
just putting `lazy = true` works because `nvim-cmp` when being loaded
with `InsertEnter` also load `cmp-luasnip`, which itself load `LUASNIP`.
you can see the problem in the following discussion
https://github.com/LazyVim/LazyVim/discussions/3966 where luasnip was
not lazy loaded when starting lazyvim. This was also loading nvim-cmp
and all its dep when starting lazyvim, which negatively impacted
performance.
## Related Issue(s)
https://github.com/LazyVim/LazyVim/discussions/3966
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## Description
Debugging c# with the Omnisharp plugin doesn't work, as described by
myself in #4004. Turns out this is a known issue with how nvim-dap calls
the mason netcoredbg cmd script. [The
solution](https://github.com/jay-babu/mason-nvim-dap.nvim/issues/132) is
to pass `detach = false` as an option to the debug adapter. I've tested
and it works on my windows machine.
## Related Issue(s)
#4004
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## Description
Changes telescope's `find_files` options to match `fzf-lua` that matches
what `git_files` does including untracked files.
## Related Issue(s)
Fixes#3974
## 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
Use which-key v3 format for java mappings.
`<leader>c` is removed as it is reported as a duplicate mapping in
health check.
## Related Issue(s)
## Screenshots
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## Description
In `outline.nvim` we have `symbols.filter = LazyVim.config.kind_filter`.
`outline.nvim` adds an entry `exclude = false` by default when it's a
table. This entry propagates to `LazyVim.config.kind_filter` and when
using `LazyVim.config.get_kind_filter()` in Telescope `<leader>ss` that
entry is there as well and causes the error in
bfcc7d5c6f/lua/telescope/utils.lua (L143).
Use `vim.deepcopy` to create a new object for `symbols.filter` in
`outline.nvim`, so that the additional entries don't propagate to
default `LazyVim.config.kind_filter`.
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
## Related Issue(s)
Fixes#4003
<!--
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
`conform.nvim` was not using the correct formatter name for
`php-cs-fixer` (which is the name of the binary).
Also move `conform.nvim` spec outside of `nvim-lint` spec.
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
## Related Issue(s)
Fixes#3985
<!--
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
Autocommand group lazyvim_wrap_spell was not triggering for all of the
specified file types.
The autocommand will now trigger for types "text", "plaintex", "typst",
"gitcommit", "markdown" as intended.
## Related Issue(s)
- Fixes#3973
## Checklist
- [X] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## Description
Problem
In the default configuration `opts.test` is a boolean and the code tries
to access `opts.test.config_overrides` which results in an error.
Solution
Use control flow to return nil in the case of `opts.test` being boolean.
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
## Related Issue(s)
- Fixes#3965.
## Checklist
- [ x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## Description
Improves git browse command by handling different types of remotes, and
allows user to extend to other git hosts.
## Related Issue(s)
Fixes#3886
## 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>
## What is this PR for?
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
Provide language specific file icons. The intent is to lay the
foundation of this type of extension / configuration. I've added icons
for file types that I interact with but this is definitely not holistic.
I also went back and forth on whether the configuration should be within
the core UI config or in the extras (I landed on the later). Definitely
open to feedback on these changes.
## Does this PR fix an existing issue?
<!--
If this PR fixes any issues, please link to the issue here.
- Fixes #<issue_number>
-->
Nope.
## 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>
## What is this PR for?
In a fresh install of lazyvim (with` neovim nightly or stable), the
startup time is not shown in the mini.starter extra. This fixes it.
The filetype name has changed in mini.starter
394994b2be
## Does this PR fix an existing issue?
Did not find an issue for it.
## Checklist
- [ ] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
`mini.starter` recently had a breaking change to set the file type to
`ministarter` instead of the old `starter`; so, `lualine` is enabled in
the dashboard because it's using the old file type.
## Does this PR fix an existing issue?
No.
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
At the moment, the config for vue set hybrid mode to `false` which volar
will run a typescript server under the hook. ( hybrid mode false is the
takeover mode in v1, was introduced in `2.0.7` see more information
here: https://github.com/vuejs/language-tools/pull/4119 ).
However, another vtsls with vue language plugin also attached to vue
files, this will cause two typescript server running at the same time.
It can be very easily observed with tools like `htop` volar and vtsls
will have similar memory usage which is abnormal because volar should be
very light by itself. This will introduce issues like duplicate
diagnostics, see
https://github.com/vuejs/language-tools/issues/4159#issuecomment-2208101079
In this pull request, I set the hybrid mode to true as default because
the hybrid mode is the "correct" way moving forward, thus it would be
more stable. Let me know if you feel it should stay as `false` to be
default.
## Does this PR fix an existing issue?
No existing issue.
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
The symbols-outline extra was removed in favor of outline.nvim in #2535
(thanks!), but the configuration for symbols in outline.nvim [is not
backwards-compatible](https://github.com/hedyhli/outline.nvim/issues/12).
This fixes the configuration for the symbols icons and filter to be
usable by outline.nvim.
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
## Does this PR fix an existing issue?
<!--
If this PR fixes any issues, please link to the issue here.
Fixes #<issue_number>
-->
It doesn't seem like anyone has encountered this issue, but I can
confirm that the config currently used by LazyVim is incorrect. The
symbols table is at `symbols` for symbols-outline.nvim, but it's now at
`symbols.icons` for outline.nvim.
There is no such `symbols_blacklist` key. Instead, `symbols.filter` is
used, which is a kind of "whitelist".
Coincidentally, outline.nvim fully supports the LazyVim `kind_filter`
config table structure. It can either be a list of strings (kinds), or a
list of strings for each filetype key. Setting to nil or false makes it
so all symbols are included, just like in LazyVim.
See [the docs on the
`symbols.filter`](https://github.com/hedyhli/outline.nvim?tab=readme-ov-file#symbols-table)
structure.
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
Move augends `ordinal_numbers`, `weekdays` and `months` to the default
group, making them available to all filetypes. I don't think there is a
concrete reason to restrict them to specific filetypes.
## Does this PR fix an existing issue?
N/A.
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
Kulala is a minimal REST-client implementation that allows you to make
HTTP requests from within Neovim
## Does this PR fix an existing issue?
No but simplifies life
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
In project extra, when using `<c-w>` in the project selection menu to
change directory, the window used to show the command's exit code would
not close. This fixes it.
## Does this PR fix an existing issue?
N/A.
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
A user won't also have to override the keymaps if they set options for
`Trouble lsp` or `symbols` in `opts` (assuming they want the mode to
always open with certain options).
## Does this PR fix an existing issue?
No.
<!--
If this PR fixes any issues, please link to the issue here.
Fixes #<issue_number>
-->
## Checklist
- [ x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
----
The default for `Trouble symbols` already seems to be on the right, and
neither lsp/symbols auto-focuses, so I left these out.
## What is this PR for?
It seems that the preview keymaps set right now only support the builtin
previewer.
From searching through `fzf-lua` docs, I found
[here](3b91c1a471/README.md (L634-L638))
that additional mappings should be set for the other previewers such as
`git` (otherwise the defaults `<shift-down/up>` could be used).
I chose to use the same mappings for the `fzf` preview keymaps as they
serve the same functionality. Please feel free to change if not to your
liking.
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
## Does this PR fix an existing issue?
Not an issue but a discussion #3895
<!--
If this PR fixes any issues, please link to the issue here.
Fixes #<issue_number>
-->
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
This fixes an issue with the chezmoi extra that won't work if the
LazyVim picker is fzf-lua instead of Telescope. Fx if you have the
`editor.fzf` and `util.chezmoi` extras enabled at the same time, trying
to open the config from the dashboard will result in the following error
because Telescope has been replaced with fzf:
```
E5108: Error executing lua: vim/_editor.lua:0: nvim_exec2(): Vim:E492: Not an editor command: Telescope chezmoi find_files
stack traceback:
[C]: in function 'nvim_exec2'
vim/_editor.lua: in function 'cmd'
...re/nvim/lazy/dashboard-nvim/lua/dashboard/theme/doom.lua:24: in function <...re/nvim/lazy/dashboard-nvim/lua/dashboard/theme/doom.lua:20>
```
This PR fixes the issue by checking which LazyVim picker is in use.
Before:
https://github.com/LazyVim/LazyVim/assets/53434466/31cade36-1655-438f-9aa8-c3de8fec881f
After:
https://github.com/LazyVim/LazyVim/assets/53434466/55f7d0c7-9632-4d52-8a6e-dfba17b14ed4
## Does this PR fix an existing issue?
<!--
If this PR fixes any issues, please link to the issue here.
Fixes #<issue_number>
-->
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
Attempt for dynamic width and trimming between fields.
Testing was done on my 15.6 laptop screen so maybe values could be
raised in dynamic calculation? Also provides a `vim.g.cmp_fixed_width`
for the users to be able to define a fixed width in their personal
configuration if they'd like to.
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
## Does this PR fix an existing issue?
Attempts to rectify a concern raised in #3858
<!--
If this PR fixes any issues, please link to the issue here.
Fixes #<issue_number>
-->
## 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>
## What is this PR for?
`branch` was obstructing from being able to update to latest HEAD like
in other plugins. This was necessary when the initial development was
being done on this branch and `main` was used for the old stable
release, but this is not necessary any more. Also, @folke now you can
use `always_show_by_pattern`, which you might find useful to show the
git tracked hidden files like you wanted but couldn't do before.
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
## Does this PR fix an existing issue?
No
<!--
If this PR fixes any issues, please link to the issue here.
Fixes #<issue_number>
-->
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
Tries to improve aesthetics for `nvim-cmp` in Rust by disabling
`item.menu` since it contains the `return` types that take up too much
space.
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
## Does this PR fix an existing issue?
Fixes#3855
<!--
If this PR fixes any issues, please link to the issue here.
Fixes #<issue_number>
-->
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
Use already defined Bufferline offsets or use Edgy offset if none are
found.
Also properly set offset separator position depending on offset/pane
location.
## Does this PR fix an existing issue?
No
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
Current implementation of `Git Browse` doesn't work with onprem gitlab
(and any other git hosting except gitlab, github and bitbucket).
With this little fix, it should work with any git hosting.
## Does this PR fix an existing issue?
No
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
This PR switches makrdownlint-cli to markdownlint-cli2.
markdownlint-cli2 should be a bit faster than markdownlint-cli and has a
more flexible configuration through files in the whole directory tree.
The cli is maintained by David Anson who also wrote the markdown style
checker itself which is used by the "old" cli and cli2.
Blog post from David Anson regarding the new cli itself:
https://dlaa.me/blog/post/markdownlintcli2
## Does this PR fix an existing issue?
No
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
When you hit `Cancel` and a buffer is modified, it should not delete the
buffer.
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
## Does this PR fix an existing issue?
Fixes#3832
<!--
If this PR fixes any issues, please link to the issue here.
Fixes #<issue_number>
-->
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
There's some logic in `linting.lua` to allow for easy setting of linter
args, but it doesn't work when default args is empty. This hopefully
fixes it.
## Does this PR fix an existing issue?
N/A.
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
In #3690 there was a [concern
expressed](https://github.com/LazyVim/LazyVim/pull/3690#issuecomment-2174024517)
about changing `fzf-lua`'s core actions. This PR tries to achieve the
same result by manually setting the headers in `fzf_opts["--header"]`
and constructing it without use of `fzf-lua.actions`.
Feel free to disregard if you think there's no change necessary in the
current code, as this is simply a refactor attempt and does not provide
any new functionality.
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
## Does this PR fix an existing issue?
No
<!--
If this PR fixes any issues, please link to the issue here.
Fixes #<issue_number>
-->
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
Similar to https://github.com/LazyVim/LazyVim/issues/847 , only this
adapter adds a setup function into the 'adapter' key in the plugin table
([source](f61463f5c7/lua/neotest-playwright/init.lua (L31-L33))).
It is somewhat annoying that neotest does not provide a recommended way
for adapters to define their configuration function (at least not
explicitly)...
Perhaps we should work around it temporarily, but reach out to either
neotest or neotest-playwright authors?
## Does this PR fix an existing issue?
I didn't see anyone complaining about playwright adapter in issues or
discussions :/
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
A small contribution to enhance the documentation and make it easier to
use.
While vim-dadbod and vim-dadbod-ui recommend using dotenv.vim for env
file injection, we aim to provide a simpler method. Instead of
implementing file parsing or relying on an external plugin (dotenv.vim),
just try directly using a Lua table.
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
## Does this PR fix an existing issue?
none!
<!--
If this PR fixes any issues, please link to the issue here.
Fixes #<issue_number>
-->
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
Fix detection of elixir `credo` linter.
`vim.fn.executable("credo") == 0` will never succeed because `credo` is
not binary/executable. It is a `mix` package and only available via `mix
credo` command.
Instead, the plugins(both `none-ls` and `nvim-lint`) will check for the
presence of the `.credo.exs` file.
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
## Does this PR fix an existing issue?
Fixes#3808
<!--
If this PR fixes any issues, please link to the issue here.
Fixes #<issue_number>
-->
## Checklist
- [x] Both linters display credo warnings if `credo` is installed and
the `.credo.exs` config exists in a project.
- [x] There are no errors if the `.credo.exs` file does not exist in the
project.
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
fix(util.terminal) recorrect the shellredir and shellpip options for
powershell.
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
## Does this PR fix an existing issue?
<!--
If this PR fixes any issues, please link to the issue here.
Fixes #<issue_number>
-->
## Checklist
- [ ] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
---------
Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
## What is this PR for?
Disable `preview` in `fzf-lua` Extra for `vtsls`. I tested it with
Python and Typescript Extras and in Typescript pressing `<leader>ca`
shows without previewer, while in Python the same shows with previewer.
Kindly check also that this is correct and I didn't miss out anything
else.
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
## Does this PR fix an existing issue?
Fixes#3773
<!--
If this PR fixes any issues, please link to the issue here.
Fixes #<issue_number>
-->
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
Only `require("mason-nvim-dap")` when it's not disabled
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
## Does this PR fix an existing issue?
Fixes#3783
<!--
If this PR fixes any issues, please link to the issue here.
Fixes #<issue_number>
-->
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
Use `lazy.util.open` on Neovim <=0.10
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
## Does this PR fix an existing issue?
Closes#3776
<!--
If this PR fixes any issues, please link to the issue here.
Fixes #<issue_number>
-->
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
I'm used to jumping from git hunks with `[h` so I'd like to use the same
mapping when navigating diffs.
## Does this PR fix an existing issue?
No
## Checklist
- [X] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
Refactor neo-tree related logic
## What is this PR for?
Simplification of `neo-tree` related logic in `edgy.lua`
## Does this PR fix an existing issue?
No, but it may prevent future issues with `edgy` if `neo-tree` source
configuration changes.
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
Provide a `pick` function to `refactoring.nvim` similar to
`project.nvim`
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
## Does this PR fix an existing issue?
Fixes#3762
<!--
If this PR fixes any issues, please link to the issue here.
Fixes #<issue_number>
-->
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
Fix release-please CI so the version in the `extra-file` is bumped.
## Does this PR fix an existing issue?
No
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
ref: folke/lazy.nvim#1534
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
After some recent changes in https://github.com/neovim/neovim/pull/28709
I was getting an error when the user had `folds_open = true` in his
personal configuration whenever he pressed `o/O`. This is an attempt to
fix that.
## What is this PR for?
I was getting an error with `folds_open = true` in the user
configuration whenever pressing `o/O` or pressing `Enter` for a new
line.
The error was `Error executing lua:
...e/jrn23/projects/plugins/LazyVim/lua/lazyvim/util/ui.lua:127: attempt
to index a number value`.
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
## Does this PR fix an existing issue?
No
<!--
If this PR fixes any issues, please link to the issue here.
Fixes #<issue_number>
-->
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
Also add filetype `gitsigns.blame` to autocmd `lazyvim_close_with_q` and
workaround for `+hunks` group name to show prefix correctly. If you
don't like the workaround for `+hunks` group name feel free to remove
it.
## What is this PR for?
Make use of the new `gitsigns` feature `Gitsigns blame`, which shows in
a vertical buffer split the `blame` history of the whole buffer.
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
## Does this PR fix an existing issue?
No.
<!--
If this PR fixes any issues, please link to the issue here.
Fixes #<issue_number>
-->
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
On Windows, when using dap, python.exe will launch an extra console. If
you target pythonw.exe this avoids that. Explanation source:
https://stackoverflow.com/questions/9705982/pythonw-exe-or-python-exe
## What is this PR for?
Modify which exe is targeted for python + dap on windows. If you use
python.exe an extra console launches (eg, nvim is runnining on Wezterm,
boot up dap, and as a result an external console (usually through
windows terminal or built-in console terminal) will launch (dap still
runs in the original window). This is avoided with pythonw.exe
## Does this PR fix an existing issue?
No
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
Adding support for prisma
## Does this PR fix an existing issue?
No
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
---------
Co-authored-by: Ben Puryear <54869170+Ben10164@users.noreply.github.com>
## What is this PR for?
fix(dap): get the correct debugpy pkg path on windows.
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
## Does this PR fix an existing issue?
<!--
If this PR fixes any issues, please link to the issue here.
Fixes #<issue_number>
-->
## Checklist
- [ ] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
Fix correctly showing relative numbers in `statuscolumn` after recent
breaking changes on
[nightly](https://github.com/neovim/neovim/pull/29357).
Please feel free to disregard this PR if a better solution is possible.
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
## Does this PR fix an existing issue?
Fixes#3721
<!--
If this PR fixes any issues, please link to the issue here.
Fixes #<issue_number>
-->
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
- The current implementation doesn't support multi-module/monorepo
project where `<repo>/.git` can be `gitdir` alias to the main `.git`
folder. This PR uses the Git CLI to resolve remote URLs to better
support flexible project structure.
- This PR also adds the support to Bitbucket and GitLab
What's the problem of reading `.git/config`?
- Not all information available there. For instance, some large projects
will split a monorepo into smaller submodules, where `.git` is a file
that contains the `gitdir` alias.
- There's no promise that `.git/config` has to be existed. Git supports
multiple ways to store the git info outside of the default git directory
like using `GIT_DIR` env variable.
- Have to do lot of reading and parsing logic.
Why `git remote -v`?
- Only contains remote info with explicit format.
- Don't have to filter out other config info.
- Don't have to deal with lots of weird edge cases.
## Does this PR fix an existing issue?
No.
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
`conform.nvim` had breaking changes, that renamed `lsp_fallback` to
`lsp_format` as can be seen
[here](9228b2ff4e)
## Does this PR fix an existing issue?
Fixes#3706
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
- Allows setting intelephense instead of phpactor for PHP's LSP
## Does this PR fix an existing issue?
No. But I personally use intelephesen myself and when researching on how
to use the PHP extras but swap phpactor (too verbose, imo) for
intelephense, I found this [comment
here](https://github.com/LazyVim/LazyVim/pull/3397#issuecomment-2141950186)
which suggested making it configurable like the Python extras. That's
what I'm doing here.
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
Small refactor to use the already available `get_plugin()` function.
## Does this PR fix an existing issue?
No.
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
When we register a picker, such as a Telescope picker or a fzf-lua
picker,
we use commands within their own picker. For example, we use
M.picker.commands instead of M.pick.commands.
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
## Does this PR fix an existing issue?
no
<!--
If this PR fixes any issues, please link to the issue here.
Fixes #<issue_number>
-->
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
When the user disables a specific neo-tree source (git_status or
buffers), the panes are still created but throw an error when the user
tries to open them
**NB**: This is currently not functional because `LazyVim.opts` is
returning an empty table instead of the neo-tree opts. I'm hoping
someone can give me a hand with this little problem
## Does this PR fix an existing issue?
<!--
If this PR fixes any issues, please link to the issue here.
Fixes #<issue_number>
-->
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
add missing elixir lspconfig
## Does this PR fix an existing issue?
lspconfig is missing for elixir and since mason was removed in
f8268faa7c,
elixirls is no longer automatically installed.
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
After recent changes in `rustaceanvim` in
https://github.com/mrcjkb/rustaceanvim/pull/403, `checkOnSave` is
supposed to be boolean and the table that we were passing to
`checkOnSave` previously should be passed to `check` instead. I left the
`check` table undefined, because the options that we were passing to
`checkOnSave` before are the default ones being passed to `check`. So,
only if the user wants to change something should he change the values
of the `check` table according to what he wants.
## Does this PR fix an existing issue?
No
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
repro.lua didn't work. at least i don't think it's the intended
behaviour.
it installed lazy.vim, lazy.nvim, tokyonight.
but didn't actually load lazyvim, and so none of it's plugins config
etc...
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
`have_make` and `have_cmake` were left over at
`/lua/plugins/editor.lua`, so move them to `extras.editor.telescope`
instead.
## Does this PR fix an existing issue?
No
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
Make other nvim dashboards use LazyVim.pick so they can also make use of
fzf-lua when the extra is enabled. In addition, aligned the sections to
be the same as dashboard.nvim.
**Note**: this is somewhat untested. I haven't tested each dashboard and
their sections to make sure they all work.
## Does this PR fix an existing issue?
<!--
If this PR fixes any issues, please link to the issue here.
Fixes #<issue_number>
-->
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
---------
Co-authored-by: Iordanis Petkakis <12776461+dpetka2001@users.noreply.github.com>
## What is this PR for?
Refactoring of pickers in LazyVim:
- [x] telescope moved to extras
- [x] dressing was moved to the telescope extra. Not needed with fzf-lua
and noice
- [x] when none of the two is enabled, then telescope will be enabled
- [x] when using `:LazyExtras` to enable fzf-lua, the telescope spec
will never be parsed
- [x] when not using `:LazyExras`, the spec will be parsed, but one of
the two will be disabled.
- [x] only one picker extra can be used to prevent issues
- [ ] cleanup lsp keymaps
## What is this PR for?
If `fzf-lua` and `mini.indentscope` are enabled together, the indent
line created by `indentscope` makes the fzf window hard and confusing to
work with
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
PS: also sorted the file list.
## Does this PR fix an existing issue?
I don't think there's an existing issue for this.
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
Adds the abiltiy for fzf-lua to be used as a picker for these copilot
chat actions if it was enabled in LazyExtras
## What is this PR for?
This adds keybinds that exist currently for copilot-chat and Telescope
but with the addition of fzf-lua as an extra, I noticed we needed the
ability for the user to take advantage of them with FzfLua.
## Does this PR fix an existing issue?
No
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
## What is this PR for?
This PR fixes a bug in the `LazyVim.memoize` function that was causing
unexpected behavior in my configuration. The issue was discovered when
setting `vim.g.lazyvim_prettier_needs_config = true` in my
`lua/config/options.lua`, which did not work as expected.
The root cause was an issue with `LazyVim.memoize` cache key generation,
which led to `M.has_config(ctx)` always returning the same result as
`M.has_parser(ctx)`. This happened because `LazyVim.memoize` generates
cache keys based on the function parameters, and both functions were
being called with identical parameters:
7d30360df2/lua/lazyvim/plugins/extras/formatting/prettier.lua (L77-L81)
By improving the cache key generation to include function information,
we can ensure unique keys for different functions even if their
parameters are identical, thereby fixing the issue.
## Does this PR fix an existing issue?
N/A
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
Incorporate additional boolean logic when setting keymaps to avoid
creating `opts.mappings` table and leave that only from the user
configuration to change mappings.
New extra with an initial implementation of fzf-lua.
## Todo
- [x] check all places that currently depend on telescope and provide an
alternative or disable
- [x] disable telescope spec completely. (currently only removed its
keymaps)
- [x] trouble integration
- [x] https://github.com/ibhagwan/fzf-lua/issues/1241
---------
Co-authored-by: Iordanis Petkakis <12776461+dpetka2001@users.noreply.github.com>
## What is this PR for?
- Just a small fix for which-key in visual mode that the authors forgot
to add.
<!-- Describe the big picture of your changes to communicate to the
maintainers
why we should accept this pull request. -->
## Does this PR fix an existing issue?
- As copilot-chat has just been added to extras so i think this is new.
<!--
If this PR fixes any issues, please link to the issue here.
Fixes #<issue_number>
-->
## Checklist
- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
`mason-nvim-dap.nvim` adds it's own adapter filetype mappings to the
vscode extension in `nvim-dap` (as of
https://github.com/jay-babu/mason-nvim-dap.nvim/pull/129)
This also moves the type mappings for the `pwa-node` and `node` adapters
to where they are defined in the typescript pack.
Now that the default internal type mappings are configured we can rely
on the automatic loading of the `.vscode/launch.json` that `nvim-dap`
does
## Problem
Sometimes angular treesitter didn't get started, e.g. when creating a
new file.
## Solution
- Add `BufNew` event to attach angular treesitter.
- Change `BufRead` to `BufReadPost` for better readability.
### Related Neovim docs
- [BufRead / BufReadPost
docs](https://neovim.io/doc/user/autocmd.html#BufRead)
- [BufNew](https://neovim.io/doc/user/autocmd.html#BufNew)
🤖 I have created a release *beep* *boop*
---
##
[12.10.0](https://github.com/LazyVim/LazyVim/compare/v12.9.0...v12.10.0)
(2024-06-07)
### Features
* **prettier:** prettier is now enabled for all supported filetypes and
no longer requires a config file by default
([7d50bf0](7d50bf0626))
* **prettier:** with the prettier & astro extra, prettier will be
enabled if the prettier-astro-plugin is available
([214f5fc](214f5fccdf))
* **svelte:** with prettier & svelte extra, prettier will be enabled
when prettier-plugin-svelte is available
([945143a](945143a34e))
* **util:** added LazyVim.has_extra
([b714f28](b714f28662))
* **util:** added LazyVim.memoize
([5a11d74](5a11d740e1))
### Bug Fixes
* **clojure:** removed rainbow delimiters and fixed some plugin setups.
Closes [#3530](https://github.com/LazyVim/LazyVim/issues/3530)
([cfa8c9f](cfa8c9fbd4))
* **cmp:** don't enable `snippets` source without `nvim-snippets`
([#3527](https://github.com/LazyVim/LazyVim/issues/3527))
([af80811](af80811be0))
* **extras:** load prettier extra before svelte/astro
([4980574](49805748d4))
* **formatting:** remove deprecation check on some options
([c16fb5d](c16fb5d49b))
* **prettier:** fixup
([ac9217b](ac9217b199))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This adds support to Clojure as an extra _lang_ configuration.
Closes https://github.com/LazyVim/LazyVim/pull/1484
@folke I read the docs and couldn't find a recommendation on _how_ to
suggest features, so I figured opening a PR should be enought. please
let me know if I should do anything else.
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
I got this error message when opening telescope.
```
Failed to run `config` for telescope.nvim
...l/share/nvim/lazy/LazyVim/lua/lazyvim/plugins/editor.lua:241: module 'trouble.sources.telescope' not found:
^Ino field package.preload['trouble.sources.telescope']
...
```
After investigating it, the reason was I have `trouble.nvim` disabled
but the default base `opts` function is loading it.
I tried wrapping it with a function to lazy load the `trouble.nvim`
module and it worked in my local setup.
Tested with `php` and `kotlin` Extras.
`kotlin` Extra doesn't have the debug adapter in Mason
`ensure_installed` and doesn't install automatically on its own.
`php` Extra has the debug adapter defined in Mason `ensure_installed`
and does correctly install automatically. However, this should not be
needed due to `mason-nvim-dap`. If you remove [these
lines](ed93ce9c15/lua/lazyvim/plugins/extras/lang/php.lua (L26-L33)),
then the debug adapter doesn't automatically install, but it should.
With the change introduced in this PR, both Extras automatically install
the debug adapters. `kotlin` Extra doesn't need anything else and in
`php` Extra the lines I mentioned previously can be removed or not. The
point is not to remove previously Mason dependencies with debug
adapters, but to correctly configure `mason-nvim-dap`, so in future
Extras you don't have to define the debug adapter inside a Mason
dependency.
This PR adds support for thriftls, the first line is because thrift is
not among the neovim built-in file types.
---------
Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
Configures tree-sitter, phpactor as LSP server and
xdebug/vscode-php-debug as DAP server.
---------
Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
### Description
I am the author of this
[PR](https://github.com/LazyVim/LazyVim/pull/2890).
While reviewing my own code and checking the LazyVim official website, I
noticed some inconsistencies 😓 , so I created a small PR to address
them:
### Changes
1.Each optional plugin has a comment message indicating that the plugin
is optional, but DAP does not (as shown in the image). Since the
official website already has an "optional" in title.
**I removed the comment messages regarding "optional" to avoid
confusion**.
<img width="300" alt="Screenshot 2024-05-23 at 10 31 38 PM"
src="https://github.com/LazyVim/LazyVim/assets/82575487/441979fc-20dd-4599-a91d-f27bc0841d79">
---
2. I changed the DAP to use local variables for DAP to maintain
consistency, even though both require statements reference the same
module.
## Problem
Treesitter was not working in angular html templates after enabling
`lang.angular` extra.
## Solution
Added a change recommeded by angular treesitter developer to enable
treesitter for components and containers.
### Reference to recommendation in treesitter docs
[Reference to the recommendation for this
hack](https://github.com/dlvandenberg/tree-sitter-angular?tab=readme-ov-file#filetype).
In the future we can add:
- dap / debugger support, if this is ever possible or needed.
- extend neotest, if this is ever needed, for most people I suspect not
needed.
- linting, if this is ever needed.
- ~~maybe enhance nvim-cmp behavior with nixpkgs, rust lang extension
crates.nvim does smt with nvim-cmp, other language extensions don't.~~
I think its already good to merge this PR, we can add these enhancements
later, if they are ever needed.
---------
Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
## Description
This will add minimal support for [Nushell](https://www.nushell.sh/)
include lspconfig and treesitter highlight
## Additional Context
Close#2164
---------
Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
* Makes the toggle_hidden keybinding configurable via mappings
* Adds new mini.files keybindings for opening files in a vertical split,
with both go_in and go_in_plus modes (configurable via mappings)
* Adds new keybinding to change working directory from mini.files
(configurable via mappings)
Closes#2692
* feat(keymaps): add keymap to close all tab pages except the current one
* fix: use o
---------
Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
* feat(extras): Add extra for angular lspconfig
Since treesitter has better support for angular parser recently that works for the legacy and the latest version of it,
I am happy to suggest this extra configuration that works for well for me without any issue.
And since lack of references about how to config the angular lsp inside of neovim out there, this will work fine as a starting point.
* feat(extras): Added `angularls` lsp configuration
* feat(extras.lang): update `angularls` configuration
---------
Co-authored-by: Radvil <radvil.linux@gmail.com>
* Fix missing autocomplete in .vue files
The existing Vue extra was not properly configuring vtsls to use the globalPlugin: '@vue/typescript-plugin'
This commit fixes missing typescript autocomplete in .vue files.
* move @vue/typescript-plugin back to extend function call
* tidy LazyVim.extend() arguments
* fix(ui): do not add trouble to lualine when aerial is enabled
* refactor: make trouble lualine an option
---------
Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
fix this warning
```
Warn 11:52:45 PM notify.warn nvim-lspconfig.rust_analyzer has been setup.
This will likely lead to conflicts with the rustaceanvim LSP client.
See ':h rustaceanvim.mason'
```
fix taken from https://github.com/mrcjkb/rustaceanvim/blob/master/doc/mason.txt
Based on [vtsls schema](bd2df5a2d4/packages/service/configuration.schema.json (L1092)), experimental setting should be vtsls property not typescript.
```json
"vtsls.experimental.completion.enableServerSideFuzzyMatch": {
"default": false,
"type": "boolean",
"description": "Execute fuzzy match of completion items on server side. Enable this will help filter out useless completion items from tsserver."
},
```
* Added R extra
* Removed "made by Ben10164"
* Formatted Lua
* Removed hardcoded addition of R-languageserver in MasonLSP
* Improved nvim-lspconfig config for r_language_server
* Added nvim-neotest
* Format
* Removed Lualine
* Rework into opts, modify `pdfviewer` to be os dependent
* refactor: r
* fix: add cmp-r back
* Added quarto whichkey group label
* Set pdfviewer to be an empty string
---------
Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
**Before** reporting an issue, make sure to read the [documentation](https://github.com/folke/LazyVim) and search [existing issues](https://github.com/folke/LazyVim/issues). Usage questions such as ***"How do I...?"*** belong in [Discussions](https://github.com/folke/LazyVim/discussions) and will be closed.
**Before** reporting an issue, make sure to read the [documentation](https://github.com/LazyVim/LazyVim)
and search [existing issues](https://github.com/LazyVim/LazyVim/issues).
Usage questions such as ***"How do I...?"*** belong in [Discussions](https://github.com/LazyVim/LazyVim/discussions) and will be closed.
- type:checkboxes
attributes:
label:Did you check docs and existing issues?
@ -14,6 +17,8 @@ body:
options:
- label:I have read all the LazyVim docs
required:true
- label:I have updated the plugin to the latest version before submitting this issue
required:true
- label:I have searched the existing issues of LazyVim
required:true
- label:I have searched the existing issues of plugins related to this issue
@ -57,33 +62,15 @@ body:
label:Repro
description:Minimal `init.lua` to reproduce this issue. Save as `repro.lua` and run with `nvim -u repro.lua`
value:|
-- DO NOT change the paths and don't remove the colorscheme
@ -3,6 +3,11 @@ description: Suggest a new feature
title:"feature: "
labels:[enhancement]
body:
- type:markdown
attributes:
value:|
**IMPORTANT:** ideas or requests related to extras, should go in the [Extra Requests](https://github.com/LazyVim/LazyVim/discussions/categories/extra-requests)
discussion forum.
- type:checkboxes
attributes:
label:Did you check the docs?
@ -10,6 +15,8 @@ body:
options:
- label:I have read all the LazyVim docs
required:true
- label:This is not a request for a new or existing extra (see above)
- **Markdown Extra**: [headlines.nvim](https://github.com/lukas-reineke/headlines.nvim) has been removed in favor of [markdown.nvim](https://github.com/MeanderingProgrammer/markdown.nvim)
to spice up your markdown files.
- [nvim-spectre](https://github.com/nvim-pack/nvim-spectre) has been removed in favor of [grug-far.nvim](https://github.com/MagicDuck/grug-far.nvim).
**grug-far.nvim** has a great UI and feels more intuitive to use.
- This **news** is now also available on the website at [https://www.lazyvim.org/news](https://www.lazyvim.org/news)
- **prettier** extra now works for all prettier supported filetypes
and will be enabled for astro/svelte extra if you have a proper
config file with the correct prettier plugin
- **New Language Support:** SQL, Clojure, Thrift, Elm, Gleam, Angular,
NuShell, Svelte, Kotlin, Astro, Toml and PHP
- **New Extras:** `copilot-chat`, `git`, `octo`, `inc-rename` and `neogen`
- The **typescript** extra now uses `vtsls` instead of `tsserver`
- **Neovim >= 0.10** now uses the much faster [lazydev.nvim](https://github.com/folke/lazydev.nvim)
instead of `neodev.nvim`
- moved `neoconf.nvim` to extras. Project specific LSP settings
can be done with a `.lazy.lua` file instead.
## 11.x
- **Keymaps:**
-`<leader>gB` to open the current repo in the browser
-`gco` and `gcO` to add a comment below or above the current line
-`<leader>wm` to toggle window maximize
- **lazydev.nvim:** faster alternative to `neodev.nvim`
- **Options:** Added `linebreak=true` to default options.
-`mini.ai` is back as a default plugin! Removing it was a mistake.
It's a great plugin that enhances the native text objects.
<imgalt="follow on Twitter"src="https://img.shields.io/twitter/follow/folke?style=for-the-badge&logo=twitter&color=8aadf3&logoColor=D9E0EE&labelColor=302D41"/>
LazyVim은 [💤 lazy.nvim](https://github.com/folke/lazy.nvim)를 기반으로 작동하는 Neovim 셋업입니다. 더 커스터마이징 가능하고, 설정들을 바꾸는 것을 쉽게 만들기위해 시작되었죠. 그저 처음부터 모든 설정들을 만지고 시작하는 방법, 또는 이미 만들어진 배포용 설정을 사용하는 방법이 있지만, LazyVIM은 이미 잘 설정된 환경과, 필요에 따라 쉽게 바꿀 수 있는 유연성을 모두 포괄합니다. 이를 통해 훨신 쉽고 편리한, 전에는 만나보실 수 없었던 새로운 Nvim의 세계를 경험하실 수 있으실 겁니다.
유튜브에 LazyVim시작하기에 대해 [@elijahmanor](https://github.com/elijahmanor)에 의해 만들어진 영상이 있으니, 시청해 보시는 것을 추천드립니다.
[](https://www.youtube.com/watch?v=N93cTbtLCIM)
## 📂 파일 구조
config 폴더 안에 있는 모든 파일들은 적절한 시간내에 자동으로 로드가 되기에, 아무 파일도 require를 하지 않아도 됩니다. **LazyVim**은 config폴더 안에 있는 모든 기본 파일들을 당신의 config 파일들 **전**에 불어옵니다. 이것에 대해서는, [이 문서](https://github.com/LazyVim/LazyVim/tree/main/lua/lazyvim/config)를 확인해 보시기 바랍니다.
추가적인 플러그인을 설치하시거나, 미리 설치되고 설정된 플러그인들을 또 덮어서 설정을 바꾸거나, 지우거나, 추가하고 싶으실 경우에는, 그에 해당하는 lua 파일들을 `lua/plugins` 폴더 안에 추가하시면, lazy.nvim이 자동적으로 그 파일들을 로드 할 것입니다.
<imgalt="follow on Twitter"src="https://img.shields.io/twitter/follow/folke?style=for-the-badge&logo=twitter&color=8aadf3&logoColor=D9E0EE&labelColor=302D41"/>
</a>
</div>
LazyVim é uma configuração de Neovim potenciada por [💤 lazy.nvim](https://github.com/folke/lazy.nvim)
para tornar fácil customizar e extender a tua configuração.
Em vez de ter de escolher entre começar de raiz ou usar
uma distribuição pré-feita, LazyVim oferece o melhor
dos dois mundos - a flexibilidade de alterar a tua configuração
como necessário, junto com a conveniência de um setup pré-configurado.
["<S-CR>"]=LazyVim.cmp.confirm({behavior=cmp.ConfirmBehavior.Replace}),-- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.