Commit Graph
1339 Commits
Author SHA1 Message Date
Folke Lemaitre ba632c500d refactor(snacks): move snacks specs to ui/util so that they show up in the generated docs 2024-12-12 13:47:29 +01:00
Folke Lemaitre 88e77b0e24 fix(nvim-cmp): specs 2024-12-12 13:47:29 +01:00
Folke Lemaitre 7bc8490d46 feat(lualine): add snacks profiler status 2024-12-12 13:47:29 +01:00
Folke Lemaitre 6d774ba8f2 fix(ui): use Snacks.util.color instead of LazyVim.ui.fg 2024-12-12 13:47:29 +01:00
Folke Lemaitre 152f9d113f feat(cmp)!: moved nvim-cmp to extras and prefer blink.cmp on Neovim >= 0.10 as default completion engine 2024-12-12 13:47:29 +01:00
Folke Lemaitre 2cbfb9b6b7 feat(cmp)!: moved nvim-cmp to extras and prefer blink.cmp on Neovim >= 0.10 as default completion engine 2024-12-12 13:47:29 +01:00
Folke Lemaitre d904a1ef47 feat(snacks)!: use snacks.scope indent objects in favor of custom mini.ai indent objects 2024-12-12 13:47:29 +01:00
Folke Lemaitre 1a1a48497c feat(snacks): enable snacks.scroll 2024-12-12 13:47:29 +01:00
Folke Lemaitre 94fdc421a1 feat(snacks)!: use snacks.indent and moved indent-blankline to extras 2024-12-12 13:47:29 +01:00
Folke Lemaitre 9b07544e89 fix(mini.animate): disable snacks.scroll when mini.animate is enabled 2024-12-12 13:47:29 +01:00
Folke Lemaitre 44c712aa31 feat(which-key): make helix the default which-key preset 2024-12-12 13:47:29 +01:00
Stefan Boca cee60a6d30 fix(blink): set kind to int, not string, if overriding (#4999)
## Description

when sorting completion results, blink compares kinds, which can result
in an error if the kind is a string

## 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.
2024-12-12 06:29:08 +01:00
Valentin Degenne 8c79ab601a feat(luasnip): add default user snippet location (#4987)
## Description

Loads snippets in user directories if it exists.

## Checklist

- [X] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-12-11 11:13:57 +01:00
Folke Lemaitre 439340bd8a fix(blink): config breaking changes. Fixes #4990 2024-12-11 10:57:09 +01:00
deniz gökçinandDeniz Gökçin 9ad1c49b67 feat(vscode): add vscode-specific keymaps and sync undo/redo with vscode (#4983)
## Summary
This pull request introduces several new keymaps specifically for VSCode
when using LazyVim. These changes aim to enhance the integration between
VSCode and LazyVim by adding keymaps for, tab navigation, and syncing
nvim undo/redo actions with vscode undo/redo.

## Changes
- Synced undo/redo lists with VSCode using `VSCodeNotify`: (check
https://github.com/vscode-neovim/vscode-neovim/issues/1139 for more
details)
  - `u` for undo
  - `<C-r>` for redo
- Enabled navigation of VSCode tabs similar to LazyVim buffers:
  - `<S-h>` to go to the previous editor
  - `<S-l>` to go to the next editor

## Additional Notes
These changes are intended to improve the user experience for those who
use LazyVim within VSCode by providing more intuitive and consistent
keybindings. Please test these keymaps to ensure they work as expected
in your VSCode setup.

Co-authored-by: Deniz Gökçin <deniz.gokcin@treatwell.com>
2024-12-10 12:13:01 +01:00
Folke Lemaitre 7ef2dfd3ba fix(dot): kitty ft with bash treesitter highlights 2024-12-07 20:52:48 +01:00
Folke Lemaitre 3f4b1ff003 fix(mini.diff): toggle 2024-12-07 20:52:13 +01:00
Folke Lemaitre 2ebba15e12 feat(git): added toggles for gitsigns.nvim and mini.diff 2024-12-07 11:57:21 +01:00
Felix RathandFelix Rath 5ddad99bac fix(rust): only use mason.nvim if it is present (#4963)
## Description

Fix the lang/rust extra for users that don't use mason. Uses the fix
suggested in
https://github.com/LazyVim/LazyVim/issues/4957#issuecomment-2521787846,
which works perfectly!

## Related Issue(s)

Fixes https://github.com/LazyVim/LazyVim/issues/4957

## Screenshots

n/a

## Checklist

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

Co-authored-by: Felix Rath <frath@cloudflare.com>
2024-12-06 16:35:27 +01:00
Matteo BigoiandIordanis Petkakis ea794ffd94 feat(rust): add bacon-ls and improve debugging (#3212)
## Changes

**NOTE: the PR will be in draft until
https://github.com/mason-org/mason-registry/pull/5774 is not merged**

Some improvements in the Rust extra

- Set `codelldb` adapter for rustacean.nvim
- Add support for [bacon-ls](https://github.com/crisidev/bacon-ls)
([blog post](https://lmno.lol/crisidev/bacon-language-server))

`bacon-ls` can be used as an alternative to `rust-analyzer` for
diagnostics, improving `rust-analyzer` performances. This is configured
by `vim.g.lazyvim_rust_diagnostics`, which can be set to `rust-analyzer`
or `bacon-lsp`.

<img width="1063" alt="screenshot"
src="https://github.com/LazyVim/LazyVim/assets/1781140/f50a38ff-0ec0-4d10-8cdc-796d027b16f0">

---------

Co-authored-by: Iordanis Petkakis <12776461+dpetka2001@users.noreply.github.com>
2024-12-05 09:20:34 +01:00
Stefan Boca 83017ff28a fix(extras.treesitter-context): change event back to LazyFile (#4940)
## Description

Load treesitter-context on `LazyFile` instead of `VeryLazy`. IMHO it
didn't make sense to load the plugin earlier just so that the toggle is
available, especially when the toggle won't actually have any effect
anything until a file is opened.

~Previously, treesitter-context was loaded on `VeryLazy` and its toggle
map in `opt`, which also `require`d it. Now, mapping happens in config,
after treesitter-context is setup (also how toggle is handled in other
extras, eg for render-markdown).~

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-12-05 09:11:40 +01:00
Álvaro Kothe 12e37529e7 fix(tex): specify filetype for <localleader>l (#4905)
## Description

Specify the filetype for the keymap `<localleader>l` to ensure that this
keybinding group only appears when editing TeX files.

## 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.
2024-12-05 09:11:11 +01:00
Stefan Boca bfe29fb013 fix(ui): actually disable mini-indentscope on snacks_dashboard (#4947)
## Description

Disables mini.indentscope for the buffer on which the
`SnacksDashboardOpened` autocmd is called.

## Related Issue(s)

closes #4944

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-12-05 09:10:44 +01:00
jyuan0 090ca75d3b fix(blink): update config for latest changes (#4953)
## Description

Update the blink.cmp config for the latest changes.

Mainly fixing the experimental `auto_brackets` support (moved under the
`completion` key). The other changes are either the same as the
defaults, or commented out - they were simply updated to reflect the new
config format.

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-12-05 08:46:15 +01:00
Stefan BocaandFolke Lemaitre f841ecf6bd feat(extras.ai): blink.cmp integration and kind overrides for menu drawing (#4942)
## Description

blink.cmp integration for codeium and copilot, and correct menu drawing
for codeium, copilot, and supermaven.

I've simplified the blink.cmp config a bit for these extras (especially
for copilot, which was extremely nested) by only including the blink.cmp
spec if vim.g.ai_cmp is true.

Multiple AI extras can now be enabled at the same time with blink.cmp.

blink.cmp ghost text is now always enabled. Although some ai plugins
always display virtual text, at worst it overlaps with blink's ghost
text and is not noticable.

Lastly, I can't test copilot because I don't have a subscription, nor do
I want to sign up for one, but it should work just as well as the
others.

## Screenshots

With Codeium:

![image](https://github.com/user-attachments/assets/1485ee3f-1cba-440f-8a82-ec69b4a3f473)

Multiple extras enabled at the same time:

![image](https://github.com/user-attachments/assets/4364ee45-d79b-4f97-a4c0-cf2a2b6433c6)

## 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>
2024-12-03 21:06:58 +01:00
Stefan Boca d71471151b fix(supermaven): blink.cmp integration (#4941)
## Description

Supermaven completion now works with the latest release of blink.cmp and
blink.compat. I'll also take a look at the other ai extras soon.

~A draft for now, until some issues with ghost text are resolved, see
https://github.com/Saghen/blink.cmp/issues/257. Alternatively, enabling
the supermaven extra could disable ghost text.~

## Screenshots


![image](https://github.com/user-attachments/assets/feb8003d-85c5-49a4-80df-7f57b240d371)

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-12-02 21:51:25 +01:00
Folke Lemaitre 0a9447c1b1 feat(blink): enabled treesitter highlighting 2024-12-02 19:43:08 +01:00
Andreas Petersen (Guldberg) 0d6026a3e8 fix(copilot): CopilotChat.nvim has moved to main (#4931)
## Description

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

CopilotChat.nvim has moved to main
([ref](https://github.com/CopilotC-Nvim/CopilotChat.nvim/issues/665))

## Related Issue(s)
https://github.com/CopilotC-Nvim/CopilotChat.nvim/issues/665
<!--
  If this PR fixes any issues, please link to the issue here.
  - Fixes #<issue_number>
-->

## Screenshots

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

![image](https://github.com/user-attachments/assets/2970e3c0-04af-49e9-974b-d535e47b9c12)

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-12-02 07:35:04 +01:00
Stefan Boca 4bf3a39223 fix(ui): disable mini.indentscope on ft=snacks_dashboard (#4928)
## Description

mini.indentscope would act on the snacks dashboard if it was somehow
loaded while the dashboard is still open.

## Related Issue(s)

I forgot about mini.indentscope in #4895 :)

## Screenshots

**Actually** fixes this:

![image](https://github.com/user-attachments/assets/1f77cf1d-c9c1-48d1-9bf3-8508782e8dd1)

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-12-01 19:57:55 +01:00
Folke Lemaitre 6d42f1084d feat(snacks): added leader-. to toggle a scratch buffer. Uses count for new scratch buffers 2024-12-01 09:31:26 +01:00
Folke Lemaitre e05379babc feat(snacks): added leader-S to select a previous scratch buffer 2024-12-01 09:31:26 +01:00
Folke Lemaitre be0cb9622d feat(snacks): added leader-n to show notification history 2024-12-01 09:31:26 +01:00
Folke Lemaitre 275c78665e feat(smear-cursor): enable cursor_color = "none", to show trail using color of target text fg color 2024-11-29 14:30:47 +01:00
Folke Lemaitre 2263b94439 fix(blink): icons 2024-11-28 21:51:23 +01:00
gengdz 1847e3fb25 feat(lang): add maxInlayHintLength for vtsls to resolve inlay hint to… (#4902)
## Description

feat(lang): add maxInlayHintLength for vtsls to resolve inlay hint too
long

## Related Issue(s)
* https://github.com/neovim/neovim/issues/27240
* https://github.com/yioneko/vtsls/pull/173


## Screenshots
before

![image](https://github.com/user-attachments/assets/5bc53695-7457-4f8f-bd03-b4de29f6f80d)


after

![image](https://github.com/user-attachments/assets/c9281173-4198-4bf2-84cf-33c5d1984550)



## Checklist

- [ x ] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-11-28 08:49:40 +01:00
Folke Lemaitre 7bb954fd1d fix(blink): fixed luasnip completions for blink 2024-11-28 07:39:30 +01:00
Folke Lemaitre efcba66a22 fix(blink): updated to config to reflect breaking changes 2024-11-28 07:39:30 +01:00
Igor Guerrero ed10d3cf19 fix(sql): fix autocomplete, it was using the wrong plugin name on the LazyVim.has check (#4900)
## Description

`LazyVim.has` was called with the wrong plugin name.

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-11-28 07:21:00 +01:00
Folke Lemaitre 40dba86925 feat(extras): added extra for smear-cursor.nvim 2024-11-27 17:10:22 +01:00
Folke Lemaitre 66459f9361 fix(mini.animate): disable when in Neovide 2024-11-27 17:09:59 +01:00
Stefan Boca c02275919e fix(ui): disable indent-blankline on ft=snacks_dashboard (#4895)
## Description

`indent-blankline.nvim` would act on the snacks dashboard if it was
somehow loaded while the dashboard is still open.

## Related Issue(s)

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

## Screenshots

Fixes this:

![image](https://github.com/user-attachments/assets/1f77cf1d-c9c1-48d1-9bf3-8508782e8dd1)

## Checklist

- [X] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-11-26 22:39:05 +01:00
Jakob PfenderandJakob Pfender 9eccb5d2de fix(sql): only use cmp if it is available (#4891)
## Description

The blink and sql extras are currently conflicting because the sql extra
has a hard dependency on nvim-cmp, which is disabled by the blink extra.
Introducing a check for cmp in the sql extra resolves this.

## Checklist

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

Co-authored-by: Jakob Pfender <jakob.pfender@safetyio.com>
2024-11-26 16:12:56 +01:00
Michael Kwan c9102bc351 fix(java): give java a default nvim-dap config (#4261)
## Description

<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->
Currently, there are no Java configurations for nvim-dap upon enabling
the Java extras.

This requires debugging configurations to be setup manually afterwards.

(This is unlike many other language extras which do have nvim-dap
support "out of the box")

This pr creates an initial configuration for nvim-dap which lets it
attach to a debugging process on port 5005.
(such as a spring boot application) More can be added if there are any
experienced Java devs here.

## 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. -->
Error message:

![image](https://github.com/user-attachments/assets/5922cf48-6ac7-4a2a-8785-1f9b958089e4)

Java remote debugging open:

![image](https://github.com/user-attachments/assets/dfbe7c5b-2308-4aa4-a236-487605e4c75a)


## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-11-26 09:13:01 +01:00
Tim Macfarlane 85e4118065 fix(lsp): don't leak keymaps from LSP server configs (#4849)
## Description

I found an issue where if I'm editing files of different types, say for
example `.cs` and `.py` files, they will naturally load the
corresponding LSPs for each language. However, if one of those LSPs has
keys defined in their `server` config section, then those key maps will
leak into the other, so in this case, the `gd` (go to definition)
mapping intended for `.cs` buffers is now present in `.py` buffers,
causing it not to work. This is currently the case with the `omnisharp`
LSP, as it defines a `gd` key map, see:
https://github.com/LazyVim/LazyVim/blob/63150fa4c5ec8a6f5c56e9035599a8c8e32dc8ed/lua/lazyvim/plugins/extras/lang/omnisharp.lua#L53-L61

The fix here is to shallow clone the "global" LSP keymaps before adding
the LSP server-specific keymaps so the LSP keymaps aren't added to the
global ones.

## Related Issue(s)

## Screenshots

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-11-25 14:59:55 +01:00
Michael Kwan 30fac4206a fix(java): minisurround jdtls keybind conflict (#4886)
## Description

Fixes the keybind conflict with jdtls and mini-surround plugin.

When pressing "\<gs\>" or "\<gS\>" to start the surround once the java
language server starts,
it replaces the surround bind with "goto super" and "goto subjects".

When pressing "\<gs\>" quickly, it attempts the command "goto super".
When pressing "\<gs\>" slowly, it brings up "which-key" and the surround
bind works.

## Related Issue(s)

None

## Screenshots
Pressing "\<gs\>" quickly

![image](https://github.com/user-attachments/assets/8fbaf39f-72cd-4d7d-bcf7-035faa7650e8)

Pressing "\<gs\>" slowly

![image](https://github.com/user-attachments/assets/2ec4d1f3-f900-413c-8351-26cb8a5cbafc)


## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-11-25 14:57:17 +01:00
Iordanis Petkakis c979225c37 fix(octo): upstream changed mappings to localleader (#4850)
## Description
As of this [PR](https://github.com/pwntester/octo.nvim/pull/681)
`<leader>` got changed to `<localleader>`.
<!-- 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.
2024-11-25 14:57:02 +01:00
Folke Lemaitre eb525c680d fix(lazydev): use luals' bundled luv library 2024-11-24 23:03:03 +01:00
Folke Lemaitre 91a3c663a7 fix(blink): make sure blink.compat is setup correctly when used in extras 2024-11-24 22:03:43 +01:00
Zhou Fang 5659786893 feat(colorscheme): enable catppuccin snacks integration by default (#4882)
## Description

Enable catppuccin's snacks integration by default.

## 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.
2024-11-24 17:28:26 +01:00
thisisrandy ecfaed3cc1 fix(dial): add and/or augend to python ft (#4875)
## Description

The python language includes the keywords `and` or `or` for logical
operations.
The current `dial.nvim` config does not include an augend for swapping
these
keywords.

## 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.
2024-11-23 00:05:43 +01:00