Compare commits

..

100 Commits

Author SHA1 Message Date
31af207542 chore(main): release 13.9.1 (#5003)
🤖 I have created a release *beep* *boop*
---


##
[13.9.1](https://github.com/LazyVim/LazyVim/compare/v13.9.0...v13.9.1)
(2024-12-12)


### Bug Fixes

* **blink:** set kind to int, not string, if overriding
([#4999](https://github.com/LazyVim/LazyVim/issues/4999))
([cee60a6](cee60a6d30))

---
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>
2024-12-12 13:47:07 +01:00
69e8867a0f chore(build): auto-generate docs 2024-12-12 05:30:09 +00:00
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
475e3f32b8 chore(main): release 13.9.0 (#4979)
🤖 I have created a release *beep* *boop*
---


##
[13.9.0](https://github.com/LazyVim/LazyVim/compare/v13.8.0...v13.9.0)
(2024-12-11)


### Features

* **luasnip:** add default user snippet location
([#4987](https://github.com/LazyVim/LazyVim/issues/4987))
([8c79ab6](8c79ab601a))
* **vscode:** add vscode-specific keymaps and sync undo/redo with vscode
([#4983](https://github.com/LazyVim/LazyVim/issues/4983))
([9ad1c49](9ad1c49b67))


### Bug Fixes

* **autocmds:** remove snacks_win from close_with_q, since they have
their own keymaps
([99c361f](99c361f708))
* **blink:** config breaking changes. Fixes
[#4990](https://github.com/LazyVim/LazyVim/issues/4990)
([439340b](439340bd8a))

---
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>
2024-12-12 00:29:18 +01:00
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
87915a1f23 chore(build): auto-generate docs 2024-12-11 09:58:12 +00:00
439340bd8a fix(blink): config breaking changes. Fixes #4990 2024-12-11 10:57:09 +01:00
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
e2c189e066 chore(build): auto-generate docs 2024-12-10 11:10:44 +00:00
1519cd6da7 chore: remove dead code. Closes #4985 2024-12-10 12:09:40 +01:00
4b86cf9900 chore(build): auto-generate docs 2024-12-09 23:32:30 +00:00
99c361f708 fix(autocmds): remove snacks_win from close_with_q, since they have their own keymaps 2024-12-10 00:31:36 +01:00
71ea193cf6 chore(build): auto-generate docs 2024-12-08 20:54:21 +00:00
3c605f547c chore(main): release 13.8.0 (#4955)
🤖 I have created a release *beep* *boop*
---


##
[13.8.0](https://github.com/LazyVim/LazyVim/compare/v13.7.0...v13.8.0)
(2024-12-07)


### Features

* **git:** added toggles for gitsigns.nvim and mini.diff
([2ebba15](2ebba15e12))


### Bug Fixes

* **dot:** kitty ft with bash treesitter highlights
([7ef2dfd](7ef2dfd3ba))
* **keymaps:** toggle name
([b2f7505](b2f750558a))
* **mini.diff:** toggle
([3f4b1ff](3f4b1ff003))
* **rust:** only use mason.nvim if it is present
([#4963](https://github.com/LazyVim/LazyVim/issues/4963))
([5ddad99](5ddad99bac))

---
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>
2024-12-08 21:53:24 +01:00
7ef2dfd3ba fix(dot): kitty ft with bash treesitter highlights 2024-12-07 20:52:48 +01:00
3f4b1ff003 fix(mini.diff): toggle 2024-12-07 20:52:13 +01:00
0d71732902 chore(build): auto-generate docs 2024-12-07 10:58:17 +00:00
2ebba15e12 feat(git): added toggles for gitsigns.nvim and mini.diff 2024-12-07 11:57:21 +01:00
d424a02554 chore(build): auto-generate docs 2024-12-06 15:36:29 +00:00
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
b2f750558a fix(keymaps): toggle name 2024-12-05 09:52:49 +01:00
8a3321d827 chore(main): release 13.7.0 (#4929)
🤖 I have created a release *beep* *boop*
---


##
[13.7.0](https://github.com/LazyVim/LazyVim/compare/v13.6.0...v13.7.0)
(2024-12-05)


### Features

* **blink:** enabled treesitter highlighting
([0a9447c](0a9447c1b1))
* **extras.ai:** blink.cmp integration and kind overrides for menu
drawing ([#4942](https://github.com/LazyVim/LazyVim/issues/4942))
([f841ecf](f841ecf6bd))
* **rust:** add bacon-ls and improve debugging
([#3212](https://github.com/LazyVim/LazyVim/issues/3212))
([ea794ff](ea794ffd94))
* **snacks:** silence copy url keymap
([#4939](https://github.com/LazyVim/LazyVim/issues/4939))
([03e203b](03e203bfbe))
* **toggle:** added leader-A to toggle tabline. Closes
[#4951](https://github.com/LazyVim/LazyVim/issues/4951)
([8232651](8232651c4a))


### Bug Fixes

* **blink:** update config for latest changes
([#4953](https://github.com/LazyVim/LazyVim/issues/4953))
([090ca75](090ca75d3b))
* **copilot:** CopilotChat.nvim has moved to main
([#4931](https://github.com/LazyVim/LazyVim/issues/4931))
([0d6026a](0d6026a3e8))
* **extras.treesitter-context:** change event back to `LazyFile`
([#4940](https://github.com/LazyVim/LazyVim/issues/4940))
([83017ff](83017ff28a))
* **supermaven:** blink.cmp integration
([#4941](https://github.com/LazyVim/LazyVim/issues/4941))
([d714711](d71471151b))
* **tex:** specify filetype for &lt;localleader&gt;l
([#4905](https://github.com/LazyVim/LazyVim/issues/4905))
([12e3752](12e37529e7))
* **ui:** actually disable mini-indentscope on snacks_dashboard
([#4947](https://github.com/LazyVim/LazyVim/issues/4947))
([bfe29fb](bfe29fb013))
* **ui:** disable mini.indentscope on `ft=snacks_dashboard`
([#4928](https://github.com/LazyVim/LazyVim/issues/4928))
([4bf3a39](4bf3a39223))
* **ui:** properly clear maximize state on exit. See
[#4934](https://github.com/LazyVim/LazyVim/issues/4934)
([9ec253b](9ec253b9b6))

---
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>
2024-12-05 09:22:10 +01:00
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
8232651c4a feat(toggle): added leader-A to toggle tabline. Closes #4951 2024-12-05 09:18:16 +01:00
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
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
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
097b9e2f27 chore(build): auto-generate docs 2024-12-05 07:47:07 +00:00
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
efc95dc6aa chore(build): auto-generate docs 2024-12-03 20:08:00 +00:00
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
4a626a8137 refactor(ui): cleanup maximize code 2024-12-02 23:46:11 +01:00
9ec253b9b6 fix(ui): properly clear maximize state on exit. See #4934 2024-12-02 22:34:39 +01:00
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
03e203bfbe feat(snacks): silence copy url keymap (#4939)
## Description

Silences keymap introduced in related PR
## Related PR(s)

https://github.com/LazyVim/LazyVim/pull/4870

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-12-02 20:22:55 +01:00
0a9447c1b1 feat(blink): enabled treesitter highlighting 2024-12-02 19:43:08 +01:00
fefcda5431 chore(build): auto-generate docs 2024-12-02 06:36:02 +00:00
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
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
7bdc205e7d chore(main): release 13.6.0 (#4872)
🤖 I have created a release *beep* *boop*
---


##
[13.6.0](https://github.com/LazyVim/LazyVim/compare/v13.5.3...v13.6.0)
(2024-12-01)


### Features

* **colorscheme:** enable catppuccin snacks integration by default
([#4882](https://github.com/LazyVim/LazyVim/issues/4882))
([5659786](5659786893))
* **extras:** added extra for `smear-cursor.nvim`
([40dba86](40dba86925))
* **lang:** add maxInlayHintLength for vtsls to resolve inlay hint to…
([#4902](https://github.com/LazyVim/LazyVim/issues/4902))
([1847e3f](1847e3fb25))
* **smear-cursor:** enable `cursor_color = "none"`, to show trail using
color of target text fg color
([275c786](275c78665e))
* **snacks:** add keymap to copy url from gitbrowse
([#4870](https://github.com/LazyVim/LazyVim/issues/4870))
([cdf3f1f](cdf3f1f2bd))
* **snacks:** added leader-. to toggle a scratch buffer. Uses `count`
for new scratch buffers
([6d42f10](6d42f1084d))
* **snacks:** added leader-n to show notification history
([be0cb96](be0cb9622d))
* **snacks:** added leader-S to select a previous scratch buffer
([e05379b](e05379babc))


### Bug Fixes

* **blink:** fixed luasnip completions for blink
([7bb954f](7bb954fd1d))
* **blink:** icons
([2263b94](2263b94439))
* **blink:** make sure blink.compat is setup correctly when used in
extras
([91a3c66](91a3c663a7))
* **blink:** updated to config to reflect breaking changes
([efcba66](efcba66a22))
* **dial:** add and/or augend to python ft
([#4875](https://github.com/LazyVim/LazyVim/issues/4875))
([ecfaed3](ecfaed3cc1))
* **java:** give java a default nvim-dap config
([#4261](https://github.com/LazyVim/LazyVim/issues/4261))
([c9102bc](c9102bc351))
* **java:** minisurround jdtls keybind conflict
([#4886](https://github.com/LazyVim/LazyVim/issues/4886))
([30fac42](30fac4206a))
* **lazydev:** use luals' bundled luv library
([eb525c6](eb525c680d))
* **lsp:** don't leak keymaps from LSP server configs
([#4849](https://github.com/LazyVim/LazyVim/issues/4849))
([85e4118](85e4118065))
* **mini.animate:** disable when in Neovide
([66459f9](66459f9361))
* **octo:** upstream changed mappings to `localleader`
([#4850](https://github.com/LazyVim/LazyVim/issues/4850))
([c979225](c979225c37))
* **snacks:** remove lazygit requirement for git browse/blame keymaps
([#4869](https://github.com/LazyVim/LazyVim/issues/4869))
([2c37492](2c37492461))
* **sql:** fix autocomplete, it was using the wrong plugin name on the
`LazyVim.has` check
([#4900](https://github.com/LazyVim/LazyVim/issues/4900))
([ed10d3c](ed10d3cf19))
* **sql:** only use cmp if it is available
([#4891](https://github.com/LazyVim/LazyVim/issues/4891))
([9eccb5d](9eccb5d2de))
* **ui:** disable indent-blankline on `ft=snacks_dashboard`
([#4895](https://github.com/LazyVim/LazyVim/issues/4895))
([c022759](c02275919e))

---
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>
2024-12-01 09:38:42 +01:00
c8bd062ef8 chore(build): auto-generate docs 2024-12-01 08:32:23 +00:00
6d42f1084d feat(snacks): added leader-. to toggle a scratch buffer. Uses count for new scratch buffers 2024-12-01 09:31:26 +01:00
e05379babc feat(snacks): added leader-S to select a previous scratch buffer 2024-12-01 09:31:26 +01:00
be0cb9622d feat(snacks): added leader-n to show notification history 2024-12-01 09:31:26 +01:00
2fc7697786 chore(build): auto-generate docs 2024-11-29 13:31:50 +00:00
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
2263b94439 fix(blink): icons 2024-11-28 21:51:23 +01:00
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
7bb954fd1d fix(blink): fixed luasnip completions for blink 2024-11-28 07:39:30 +01:00
efcba66a22 fix(blink): updated to config to reflect breaking changes 2024-11-28 07:39:30 +01:00
76fbed6de5 chore(build): auto-generate docs 2024-11-28 06:22:02 +00:00
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
13dc88a317 chore(build): auto-generate docs 2024-11-27 16:11:17 +00:00
40dba86925 feat(extras): added extra for smear-cursor.nvim 2024-11-27 17:10:22 +01:00
66459f9361 fix(mini.animate): disable when in Neovide 2024-11-27 17:09:59 +01:00
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
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
d5734087e4 chore(build): auto-generate docs 2024-11-26 08:14:53 +00:00
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
cdf3f1f2bd feat(snacks): add keymap to copy url from gitbrowse (#4870)
## Description

Adds a `<leader>gY` keymap that copies the URL from `Snacks.gitbrowse()`
to the clipboard.

This is a feature in other git browse plugins like `vim-rhubarb`, so
other people will probably be looking for this when migrating like I
did.

Let me know if you'd prefer a different key combination, thanks!

## 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.
2024-11-25 15:00:36 +01:00
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:
63150fa4c5/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
37dbb63c61 docs(readme): enhance the quality of the Chinese translation (#4860)
## Description

Enhance the quality of the Chinese README.

### Changes
1. Complete the translation of the untranslated sections.
2. Correct inaccuracies in existing translations.
3. Revise the language to sound more natural and idiomatic.
4. Adjust punctuation and paragraph structure to align with Chinese
typography standards.

## 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-25 14:59:25 +01:00
55be9a1648 chore(build): auto-generate docs 2024-11-25 13:58:01 +00:00
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
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
eb525c680d fix(lazydev): use luals' bundled luv library 2024-11-24 23:03:03 +01:00
91a3c663a7 fix(blink): make sure blink.compat is setup correctly when used in extras 2024-11-24 22:03:43 +01:00
a03f796097 chore(build): auto-generate docs 2024-11-24 16:30:10 +00:00
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
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
2c37492461 fix(snacks): remove lazygit requirement for git browse/blame keymaps (#4869)
## Description

The Snacks keymaps for `gitbrowse()` and `git.blame_line()` were in a
conditional checking if `lazygit` is installed. But both work without
`lazygit`.

## 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.
2024-11-22 12:25:33 +01:00
adcbfc72fd chore(main): release 13.5.3 (#4845)
🤖 I have created a release *beep* *boop*
---


##
[13.5.3](https://github.com/LazyVim/LazyVim/compare/v13.5.2...v13.5.3)
(2024-11-22)


### Bug Fixes

* **copilot:** remove tmp nightly fix
([30f556d](30f556d17a))
* **dial:** make sure defaults are part of every group. Fixes
[#4868](https://github.com/LazyVim/LazyVim/issues/4868)
([2108028](2108028cde))

---
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>
2024-11-22 09:41:06 +01:00
ba8f6b0215 chore(build): auto-generate docs 2024-11-22 05:55:52 +00:00
2108028cde fix(dial): make sure defaults are part of every group. Fixes #4868 2024-11-22 06:54:47 +01:00
63150fa4c5 chore(build): auto-generate docs 2024-11-20 08:49:27 +00:00
30f556d17a fix(copilot): remove tmp nightly fix 2024-11-20 09:48:30 +01:00
4d596cf4b4 chore(main): release 13.5.2 (#4840)
🤖 I have created a release *beep* *boop*
---


##
[13.5.2](https://github.com/LazyVim/LazyVim/compare/v13.5.1...v13.5.2)
(2024-11-19)


### Bug Fixes

* **keymaps:** `gitbrowse` also in Visual mode
([#4818](https://github.com/LazyVim/LazyVim/issues/4818))
([86dc548](86dc548ff9))

---
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>
2024-11-19 15:35:35 +01:00
86dc548ff9 fix(keymaps): gitbrowse also in Visual mode (#4818)
## Description
If https://github.com/folke/snacks.nvim/pull/89 gets accepted, then we
should also update the keymap for Visual mode
<!-- 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-19 15:27:07 +01:00
fc2eae5faf chore(main): release 13.5.1 (#4835)
🤖 I have created a release *beep* *boop*
---


##
[13.5.1](https://github.com/LazyVim/LazyVim/compare/v13.5.0...v13.5.1)
(2024-11-19)


### Bug Fixes

* **copilot:** work-around to get copilot working again on nightly
([5961528](59615281f8))
* **extras:** add blink.cmp integration for SQL extra
([#4833](https://github.com/LazyVim/LazyVim/issues/4833))
([0bb1da6](0bb1da6d57))
* **snacks:** alignment of header
([4df9392](4df9392cb8))
* **snacks:** cleaner way to adjust keys preset
([9c31004](9c31004365))
* **snacks:** make sure early notifications show up in noice
([b873f9a](b873f9a7e7))

---
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>
2024-11-19 09:47:23 +01:00
4df9392cb8 fix(snacks): alignment of header 2024-11-19 09:35:42 +01:00
b873f9a7e7 fix(snacks): make sure early notifications show up in noice 2024-11-19 09:03:00 +01:00
59615281f8 fix(copilot): work-around to get copilot working again on nightly 2024-11-19 08:49:53 +01:00
f198eef6e5 chore(build): auto-generate docs 2024-11-19 06:32:29 +00:00
9c31004365 fix(snacks): cleaner way to adjust keys preset 2024-11-19 07:31:28 +01:00
0bb1da6d57 fix(extras): add blink.cmp integration for SQL extra (#4833)
## Description

This PR adds blink.cmp integration with `vim-dadbod-completion` in the
SQL extras module. It allows blink.cmp to use the dadbod provider for
SQL autocompletion in Neovim.

## 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-19 00:02:56 +01:00
2786fdb6e2 chore(main): release 13.5.0 (#4823)
🤖 I have created a release *beep* *boop*
---


##
[13.5.0](https://github.com/LazyVim/LazyVim/compare/v13.4.0...v13.5.0)
(2024-11-18)


### Features

* **copilot-chat:** remove call to nvim-cmp integration
([#4822](https://github.com/LazyVim/LazyVim/issues/4822))
([af95531](af9553135d))
* **snacks:** use `snacks.dashboard` as the default dashboard. moved
`dashboard-nvim` to extras
([#4832](https://github.com/LazyVim/LazyVim/issues/4832))
([a07db1a](a07db1a723))


### Bug Fixes

* **lualine:** dont show statusline on snacks_dashboard
([33557ae](33557ae68b))
* **tabnine:** dont call CmpTabnineHub in build. Fixes
[#4828](https://github.com/LazyVim/LazyVim/issues/4828)
([6dcf5d7](6dcf5d7159))


### Performance Improvements

* **ui:** never show folds on dashboards
([0352f94](0352f944c3))

---
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>
2024-11-18 23:34:15 +01:00
a07db1a723 feat(snacks): use snacks.dashboard as the default dashboard. moved dashboard-nvim to extras (#4832)
## Description

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

Snacks has a new dashboard plugin that will be LazyVim's default.

Check the docs at
https://github.com/folke/snacks.nvim/blob/main/docs/dashboard.md

## 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-18 23:32:49 +01:00
0352f944c3 perf(ui): never show folds on dashboards 2024-11-18 21:27:36 +01:00
33557ae68b fix(lualine): dont show statusline on snacks_dashboard 2024-11-18 21:27:36 +01:00
6dcf5d7159 fix(tabnine): dont call CmpTabnineHub in build. Fixes #4828 2024-11-18 21:27:36 +01:00
5c5ae903c9 chore(build): auto-generate docs 2024-11-18 09:06:35 +00:00
af9553135d feat(copilot-chat): remove call to nvim-cmp integration (#4822)
nvim-cmp integration was removed in favour of custom autocomplete (it
was pointless trying to support all the new completion plugins when its
15 lines to implement something plugin specific)

Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
2024-11-18 10:05:28 +01:00
704c29110d chore(main): release 13.4.0 (#4806)
🤖 I have created a release *beep* *boop*
---


##
[13.4.0](https://github.com/LazyVim/LazyVim/compare/v13.3.1...v13.4.0)
(2024-11-16)


### Features

* **blink:** auto-enable catppuccin integration
([#4799](https://github.com/LazyVim/LazyVim/issues/4799))
([ffce089](ffce089a9f))
* **copilot-chat:** remove deprecated options
([#4802](https://github.com/LazyVim/LazyVim/issues/4802))
([7a1414b](7a1414b5e5))
* **dial:** support vue filetype
([#4785](https://github.com/LazyVim/LazyVim/issues/4785))
([8235126](8235126a32))
* **extras:** add biome formatter
([#4448](https://github.com/LazyVim/LazyVim/issues/4448))
([b8407f4](b8407f4b12))
* **vscode:** automatically enable the vscode extra when running in
vscode
([1c5a330](1c5a330b6b))


### Bug Fixes

* **terminal:** set shellcmdflags for powershell to recommended values.
Closes [#4805](https://github.com/LazyVim/LazyVim/issues/4805)
([1db2af2](1db2af267e))

---
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>
2024-11-16 13:09:51 +01:00
1db2af267e fix(terminal): set shellcmdflags for powershell to recommended values. Closes #4805 2024-11-16 07:39:48 +01:00
1c5a330b6b feat(vscode): automatically enable the vscode extra when running in vscode 2024-11-16 07:35:47 +01:00
b8407f4b12 feat(extras): add biome formatter (#4448)
## Description
This PR adds biome as a conform/null-ls formatter.

When using biome lsp formatting directly, the syntax highlighting is
flickering. However, it works great when formatting is configured with
conform.

To avoid conflicts with Prettier, it is recommended to set
`vim.g.lazyvim_prettier_needs_config = true` In this case, both prettier
and biome formatters could be activated simultaneously.

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-11-16 07:34:21 +01:00
8235126a32 feat(dial): support vue filetype (#4785)
## Description

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

support vue filetype

## 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-16 07:33:27 +01:00
767d873f93 chore(build): auto-generate docs 2024-11-16 06:32:40 +00:00
ffce089a9f feat(blink): auto-enable catppuccin integration (#4799)
## Description

Auto enable `blink_cmp` integration in catppuccin if the theme plugin is
loaded.

## Related Issue(s)

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

## Screenshots

**Before**

![before](https://github.com/user-attachments/assets/918d5110-fd05-4468-9259-bf7164569521)

**After**

![after](https://github.com/user-attachments/assets/0d02d0c6-2b31-41cd-8b26-fbf74a86e498)


## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-11-16 07:32:07 +01:00
7a1414b5e5 feat(copilot-chat): remove deprecated options (#4802)
- Diagnostic help was deprecated and now just proxies to prompt actions
(by default diagnostics are auto included in all selections so this
feature was no longer necessary)
- Selecton is now visual || buffer by default so the custom selection
config is no longer needed too

Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
2024-11-16 07:31:50 +01:00
44 changed files with 743 additions and 298 deletions

View File

@ -1,3 +1,3 @@
{
".": "13.3.1"
".": "13.9.1"
}

View File

@ -1,5 +1,158 @@
# Changelog
## [13.9.1](https://github.com/LazyVim/LazyVim/compare/v13.9.0...v13.9.1) (2024-12-12)
### Bug Fixes
* **blink:** set kind to int, not string, if overriding ([#4999](https://github.com/LazyVim/LazyVim/issues/4999)) ([cee60a6](https://github.com/LazyVim/LazyVim/commit/cee60a6d3040181ac9c5b709d79e80e180b34d48))
## [13.9.0](https://github.com/LazyVim/LazyVim/compare/v13.8.0...v13.9.0) (2024-12-11)
### Features
* **luasnip:** add default user snippet location ([#4987](https://github.com/LazyVim/LazyVim/issues/4987)) ([8c79ab6](https://github.com/LazyVim/LazyVim/commit/8c79ab601af19b5370d560aa619567371ac70d86))
* **vscode:** add vscode-specific keymaps and sync undo/redo with vscode ([#4983](https://github.com/LazyVim/LazyVim/issues/4983)) ([9ad1c49](https://github.com/LazyVim/LazyVim/commit/9ad1c49b67a5c4330e366cde41ab11b156de03f2))
### Bug Fixes
* **autocmds:** remove snacks_win from close_with_q, since they have their own keymaps ([99c361f](https://github.com/LazyVim/LazyVim/commit/99c361f708924ddc63599115580bda537cc7f119))
* **blink:** config breaking changes. Fixes [#4990](https://github.com/LazyVim/LazyVim/issues/4990) ([439340b](https://github.com/LazyVim/LazyVim/commit/439340bd8a970aa23d513aea96c93e84b3af42dc))
## [13.8.0](https://github.com/LazyVim/LazyVim/compare/v13.7.0...v13.8.0) (2024-12-07)
### Features
* **git:** added toggles for gitsigns.nvim and mini.diff ([2ebba15](https://github.com/LazyVim/LazyVim/commit/2ebba15e1274f5437a418ddacfe9dbf342fd8a18))
### Bug Fixes
* **dot:** kitty ft with bash treesitter highlights ([7ef2dfd](https://github.com/LazyVim/LazyVim/commit/7ef2dfd3ba9a3dffaa8c57c1bb5e130b9aa74217))
* **keymaps:** toggle name ([b2f7505](https://github.com/LazyVim/LazyVim/commit/b2f750558a3737879f8151e741e7a3988886e37f))
* **mini.diff:** toggle ([3f4b1ff](https://github.com/LazyVim/LazyVim/commit/3f4b1ff00364d089e19f4b3c738fd5298243fadb))
* **rust:** only use mason.nvim if it is present ([#4963](https://github.com/LazyVim/LazyVim/issues/4963)) ([5ddad99](https://github.com/LazyVim/LazyVim/commit/5ddad99bac203e87e6f78f3ab7567a49b0d1d8a6))
## [13.7.0](https://github.com/LazyVim/LazyVim/compare/v13.6.0...v13.7.0) (2024-12-05)
### Features
* **blink:** enabled treesitter highlighting ([0a9447c](https://github.com/LazyVim/LazyVim/commit/0a9447c1b1776c2d8d7b7d495538ddfab7c6cd08))
* **extras.ai:** blink.cmp integration and kind overrides for menu drawing ([#4942](https://github.com/LazyVim/LazyVim/issues/4942)) ([f841ecf](https://github.com/LazyVim/LazyVim/commit/f841ecf6bdde98a0983e44171b1ad8513e159e29))
* **rust:** add bacon-ls and improve debugging ([#3212](https://github.com/LazyVim/LazyVim/issues/3212)) ([ea794ff](https://github.com/LazyVim/LazyVim/commit/ea794ffd94adeb2b1d2870ed97dbd3f000d911b3))
* **snacks:** silence copy url keymap ([#4939](https://github.com/LazyVim/LazyVim/issues/4939)) ([03e203b](https://github.com/LazyVim/LazyVim/commit/03e203bfbe1e5de38cfc0082e5d1b720cab83c0e))
* **toggle:** added leader-A to toggle tabline. Closes [#4951](https://github.com/LazyVim/LazyVim/issues/4951) ([8232651](https://github.com/LazyVim/LazyVim/commit/8232651c4a4a80da34f8b6c1742b04144ae4b959))
### Bug Fixes
* **blink:** update config for latest changes ([#4953](https://github.com/LazyVim/LazyVim/issues/4953)) ([090ca75](https://github.com/LazyVim/LazyVim/commit/090ca75d3b326280a67e727ef77e15920a90e3c9))
* **copilot:** CopilotChat.nvim has moved to main ([#4931](https://github.com/LazyVim/LazyVim/issues/4931)) ([0d6026a](https://github.com/LazyVim/LazyVim/commit/0d6026a3e8a255cf825ad293de101bc1e1a667eb))
* **extras.treesitter-context:** change event back to `LazyFile` ([#4940](https://github.com/LazyVim/LazyVim/issues/4940)) ([83017ff](https://github.com/LazyVim/LazyVim/commit/83017ff28afa8b8ddf9254564d8b4a9c96ec3f7d))
* **supermaven:** blink.cmp integration ([#4941](https://github.com/LazyVim/LazyVim/issues/4941)) ([d714711](https://github.com/LazyVim/LazyVim/commit/d71471151b8906155e048ea3d3fe2fa7d651990e))
* **tex:** specify filetype for &lt;localleader&gt;l ([#4905](https://github.com/LazyVim/LazyVim/issues/4905)) ([12e3752](https://github.com/LazyVim/LazyVim/commit/12e37529e718b926e7513d0397e32771aeb6e049))
* **ui:** actually disable mini-indentscope on snacks_dashboard ([#4947](https://github.com/LazyVim/LazyVim/issues/4947)) ([bfe29fb](https://github.com/LazyVim/LazyVim/commit/bfe29fb01330d2bfdfe14582133907217f4b8192))
* **ui:** disable mini.indentscope on `ft=snacks_dashboard` ([#4928](https://github.com/LazyVim/LazyVim/issues/4928)) ([4bf3a39](https://github.com/LazyVim/LazyVim/commit/4bf3a392234f4c4421af644683d95d8aab945382))
* **ui:** properly clear maximize state on exit. See [#4934](https://github.com/LazyVim/LazyVim/issues/4934) ([9ec253b](https://github.com/LazyVim/LazyVim/commit/9ec253b9b6bf9673f610035d741a345d6be7a44f))
## [13.6.0](https://github.com/LazyVim/LazyVim/compare/v13.5.3...v13.6.0) (2024-12-01)
### Features
* **colorscheme:** enable catppuccin snacks integration by default ([#4882](https://github.com/LazyVim/LazyVim/issues/4882)) ([5659786](https://github.com/LazyVim/LazyVim/commit/5659786893ead10782e2b603c0754d83a0ae78d6))
* **extras:** added extra for `smear-cursor.nvim` ([40dba86](https://github.com/LazyVim/LazyVim/commit/40dba869254309865fcdabbc6d8c6b8e187c2444))
* **lang:** add maxInlayHintLength for vtsls to resolve inlay hint to… ([#4902](https://github.com/LazyVim/LazyVim/issues/4902)) ([1847e3f](https://github.com/LazyVim/LazyVim/commit/1847e3fb25cb29a9bc1c662cabe6984509733595))
* **smear-cursor:** enable `cursor_color = "none"`, to show trail using color of target text fg color ([275c786](https://github.com/LazyVim/LazyVim/commit/275c78665e0534dfb62de34fc1a47e2f0f87acdb))
* **snacks:** add keymap to copy url from gitbrowse ([#4870](https://github.com/LazyVim/LazyVim/issues/4870)) ([cdf3f1f](https://github.com/LazyVim/LazyVim/commit/cdf3f1f2bdc4e57de506a9d7c55fa7e0131be692))
* **snacks:** added leader-. to toggle a scratch buffer. Uses `count` for new scratch buffers ([6d42f10](https://github.com/LazyVim/LazyVim/commit/6d42f1084d14025d67accbbcbbe9686de505ed96))
* **snacks:** added leader-n to show notification history ([be0cb96](https://github.com/LazyVim/LazyVim/commit/be0cb9622dd47a5f62fbb32ac6f485a33a253119))
* **snacks:** added leader-S to select a previous scratch buffer ([e05379b](https://github.com/LazyVim/LazyVim/commit/e05379babc99b43e6c97743ba4800449c9c78f60))
### Bug Fixes
* **blink:** fixed luasnip completions for blink ([7bb954f](https://github.com/LazyVim/LazyVim/commit/7bb954fd1d096dc68217611e696fc02dbca7cf50))
* **blink:** icons ([2263b94](https://github.com/LazyVim/LazyVim/commit/2263b94439a14c133358d1abe4c0d7eef914105e))
* **blink:** make sure blink.compat is setup correctly when used in extras ([91a3c66](https://github.com/LazyVim/LazyVim/commit/91a3c663a7ab6c9ce782e1ff0fd6bc9315f2a670))
* **blink:** updated to config to reflect breaking changes ([efcba66](https://github.com/LazyVim/LazyVim/commit/efcba66a2262b2c956a4203f522026f03af9c903))
* **dial:** add and/or augend to python ft ([#4875](https://github.com/LazyVim/LazyVim/issues/4875)) ([ecfaed3](https://github.com/LazyVim/LazyVim/commit/ecfaed3cc1cbe3013f1201594adde2ea0022c455))
* **java:** give java a default nvim-dap config ([#4261](https://github.com/LazyVim/LazyVim/issues/4261)) ([c9102bc](https://github.com/LazyVim/LazyVim/commit/c9102bc35185284ddce28eb216fd125fa0e0fa8b))
* **java:** minisurround jdtls keybind conflict ([#4886](https://github.com/LazyVim/LazyVim/issues/4886)) ([30fac42](https://github.com/LazyVim/LazyVim/commit/30fac4206a393b05736199873bac87ecdfacd2a0))
* **lazydev:** use luals' bundled luv library ([eb525c6](https://github.com/LazyVim/LazyVim/commit/eb525c680d0423f5addb12e10f87ce5b81fc0d9e))
* **lsp:** don't leak keymaps from LSP server configs ([#4849](https://github.com/LazyVim/LazyVim/issues/4849)) ([85e4118](https://github.com/LazyVim/LazyVim/commit/85e41180654f6cd6c7975442b3a4877b4b4fd475))
* **mini.animate:** disable when in Neovide ([66459f9](https://github.com/LazyVim/LazyVim/commit/66459f9361316fc4f723c8ac12f4fdc44f195b12))
* **octo:** upstream changed mappings to `localleader` ([#4850](https://github.com/LazyVim/LazyVim/issues/4850)) ([c979225](https://github.com/LazyVim/LazyVim/commit/c979225c372f04c3ba4b2f74c3b9c102ddd5f364))
* **snacks:** remove lazygit requirement for git browse/blame keymaps ([#4869](https://github.com/LazyVim/LazyVim/issues/4869)) ([2c37492](https://github.com/LazyVim/LazyVim/commit/2c37492461bf6af09a3e940f8b3ea0a123608bfd))
* **sql:** fix autocomplete, it was using the wrong plugin name on the `LazyVim.has` check ([#4900](https://github.com/LazyVim/LazyVim/issues/4900)) ([ed10d3c](https://github.com/LazyVim/LazyVim/commit/ed10d3cf19dfb99d38bda0e09be3296571113670))
* **sql:** only use cmp if it is available ([#4891](https://github.com/LazyVim/LazyVim/issues/4891)) ([9eccb5d](https://github.com/LazyVim/LazyVim/commit/9eccb5d2defef4c1fe63719528b20bb210e1ef0c))
* **ui:** disable indent-blankline on `ft=snacks_dashboard` ([#4895](https://github.com/LazyVim/LazyVim/issues/4895)) ([c022759](https://github.com/LazyVim/LazyVim/commit/c02275919e8238f2a333bedb4eca8d138b4ea567))
## [13.5.3](https://github.com/LazyVim/LazyVim/compare/v13.5.2...v13.5.3) (2024-11-22)
### Bug Fixes
* **copilot:** remove tmp nightly fix ([30f556d](https://github.com/LazyVim/LazyVim/commit/30f556d17aaf7ac74f0553faebed2cf298b65820))
* **dial:** make sure defaults are part of every group. Fixes [#4868](https://github.com/LazyVim/LazyVim/issues/4868) ([2108028](https://github.com/LazyVim/LazyVim/commit/2108028cde19184bf8ea1a00065b5a099b1928e1))
## [13.5.2](https://github.com/LazyVim/LazyVim/compare/v13.5.1...v13.5.2) (2024-11-19)
### Bug Fixes
* **keymaps:** `gitbrowse` also in Visual mode ([#4818](https://github.com/LazyVim/LazyVim/issues/4818)) ([86dc548](https://github.com/LazyVim/LazyVim/commit/86dc548ff9564a37524c2f9259eeb8603a70d5d5))
## [13.5.1](https://github.com/LazyVim/LazyVim/compare/v13.5.0...v13.5.1) (2024-11-19)
### Bug Fixes
* **copilot:** work-around to get copilot working again on nightly ([5961528](https://github.com/LazyVim/LazyVim/commit/59615281f80f68fb91a9e428835c8164a6a6f99f))
* **extras:** add blink.cmp integration for SQL extra ([#4833](https://github.com/LazyVim/LazyVim/issues/4833)) ([0bb1da6](https://github.com/LazyVim/LazyVim/commit/0bb1da6d57a32495ed4159f8933d074674066d20))
* **snacks:** alignment of header ([4df9392](https://github.com/LazyVim/LazyVim/commit/4df9392cb8c597193411b668d49a3882941e816b))
* **snacks:** cleaner way to adjust keys preset ([9c31004](https://github.com/LazyVim/LazyVim/commit/9c310043657fc11db0946ca4a328f29941b72b02))
* **snacks:** make sure early notifications show up in noice ([b873f9a](https://github.com/LazyVim/LazyVim/commit/b873f9a7e7ca77f329b40b17741ee244520a1306))
## [13.5.0](https://github.com/LazyVim/LazyVim/compare/v13.4.0...v13.5.0) (2024-11-18)
### Features
* **copilot-chat:** remove call to nvim-cmp integration ([#4822](https://github.com/LazyVim/LazyVim/issues/4822)) ([af95531](https://github.com/LazyVim/LazyVim/commit/af9553135da3c42ff83824db0f9dfaaa9ad5973f))
* **snacks:** use `snacks.dashboard` as the default dashboard. moved `dashboard-nvim` to extras ([#4832](https://github.com/LazyVim/LazyVim/issues/4832)) ([a07db1a](https://github.com/LazyVim/LazyVim/commit/a07db1a72334bf6550683d5f9132d806febed1cd))
### Bug Fixes
* **lualine:** dont show statusline on snacks_dashboard ([33557ae](https://github.com/LazyVim/LazyVim/commit/33557ae68b76954df0288603f39b3f0181bada52))
* **tabnine:** dont call CmpTabnineHub in build. Fixes [#4828](https://github.com/LazyVim/LazyVim/issues/4828) ([6dcf5d7](https://github.com/LazyVim/LazyVim/commit/6dcf5d7159d13a21d3148779b5b80048573fcdf1))
### Performance Improvements
* **ui:** never show folds on dashboards ([0352f94](https://github.com/LazyVim/LazyVim/commit/0352f944c34a3aa8a949102a2fe2ded7a1da3cd0))
## [13.4.0](https://github.com/LazyVim/LazyVim/compare/v13.3.1...v13.4.0) (2024-11-16)
### Features
* **blink:** auto-enable catppuccin integration ([#4799](https://github.com/LazyVim/LazyVim/issues/4799)) ([ffce089](https://github.com/LazyVim/LazyVim/commit/ffce089a9f1268ff73c7de7c4f45e1a366dc4d34))
* **copilot-chat:** remove deprecated options ([#4802](https://github.com/LazyVim/LazyVim/issues/4802)) ([7a1414b](https://github.com/LazyVim/LazyVim/commit/7a1414b5e5950bde34b9bdc0dbc3dd20109f2ac9))
* **dial:** support vue filetype ([#4785](https://github.com/LazyVim/LazyVim/issues/4785)) ([8235126](https://github.com/LazyVim/LazyVim/commit/8235126a321eaae093f319398ffec5949f1ab8be))
* **extras:** add biome formatter ([#4448](https://github.com/LazyVim/LazyVim/issues/4448)) ([b8407f4](https://github.com/LazyVim/LazyVim/commit/b8407f4b128891c3bdf35a2c403ba23d1e01f3ff))
* **vscode:** automatically enable the vscode extra when running in vscode ([1c5a330](https://github.com/LazyVim/LazyVim/commit/1c5a330b6be8007088d84361fee5d2b08771598c))
### Bug Fixes
* **terminal:** set shellcmdflags for powershell to recommended values. Closes [#4805](https://github.com/LazyVim/LazyVim/issues/4805) ([1db2af2](https://github.com/LazyVim/LazyVim/commit/1db2af267eeb9046550ac29bd543f3b3021cdd7b))
## [13.3.1](https://github.com/LazyVim/LazyVim/compare/v13.3.0...v13.3.1) (2024-11-15)

View File

@ -2,6 +2,13 @@
## 13.x
- **LazyVim** now uses `Snacks.dashboard` as the default dashboard.
Check the [docs](https://github.com/folke/snacks.nvim/blob/main/docs/dashboard.md),
for more information and examples.
- A new [dashboard-nvim](https://github.com/nvimdev/dashboard-nvim) extra
is available for those who prefer the old dashboard.
- Big new release with a lot of changes and improvements!
- The biggest change is the move of a bunch of core features to

View File

@ -36,9 +36,9 @@
</a>
</div>
LazyVim 是 [💤 lazy.nvim](https://github.com/folke/lazy.nvim) 驱动的一套 Neovim 配置,可以轻松自定义和扩展您的配置
不必在从头开始或使用预制发行版之间做选择,
LazyVim 提供了两全其美的方式 - 根据需要调整配置的灵活性,以及默认配置的便利
LazyVim 是一个基于 [💤 lazy.nvim](https://github.com/folke/lazy.nvim) Neovim 配置方案,让定制和扩展变得简单直观
不必再在“从零配置”和“使用预制发行版之间做选择,LazyVim
提供了一个两全其美的方式——既可以享受默认配置带来的便利,又能根据个人需求来灵活调整各项设置
![image](https://user-images.githubusercontent.com/292349/211285846-0b7bb3bf-0462-4029-b64c-4ee1d037fc1c.png)
@ -46,24 +46,24 @@ LazyVim 提供了两全其美的方式 - 根据需要调整配置的灵活性,
## ✨ 特性
- 🔥 将你的 Neovim 变成一个成熟的 IDE
- 💤 使用 [lazy.nvim](https://github.com/folke/lazy.nvim) 轻松自定义和扩展您的
- 🔥 将你的 Neovim 打造为一个功能完备的 IDE
- 💤 使用 [lazy.nvim](https://github.com/folke/lazy.nvim) 轻松自定义和扩展您的
- 🚀 快如闪电
- 🧹 选项、自动命令和键盘映射的合理预设
- 📦 预配置了大量插件,随时可
- 📦 内置大量精心优化的预配置插件,开箱即
## ⚡️ 要求
## ⚡️ 环境要求
- Neovim >= **0.9.0** (需要用 **LuaJIT** 构建)
- Git >= **2.19.0** (用于部分克隆支持)
- 一个 [Nerd Font](https://www.nerdfonts.com/) 字体 **_(可选)_**
- 一个用于 `nvim-treesitter`**C** 编译器。看 [这里](https://github.com/nvim-treesitter/nvim-treesitter#requirements)
## 🚀 入门
## 🚀 开始使用
您可以在 [此处](https://github.com/LazyVim/starter) 找到 **LazyVim**入门模板
您可以在 [此处](https://github.com/LazyVim/starter) 找到 **LazyVim**初始模板
<details><summary>在 Docker 中尝</summary>
<details><summary>在 Docker 中尝</summary>
```sh
docker run -w /root -it --rm alpine:edge sh -uelic '
@ -91,7 +91,7 @@ docker run -w /root -it --rm alpine:edge sh -uelic '
git clone https://github.com/LazyVim/starter ~/.config/nvim
```
- 删除 `.git` 文件夹,以便稍后将其添加到您自己的存储
- 删除 `.git` 文件夹,以便稍后将其添加到您自己的
```sh
rm -rf ~/.config/nvim/.git
@ -109,22 +109,23 @@ docker run -w /root -it --rm alpine:edge sh -uelic '
---
[@elijahmanor](https://github.com/elijahmanor) 制作了一很棒的视频,其中包含入门演练
[@elijahmanor](https://github.com/elijahmanor) 制作了一很棒的视频,可以带领你快速入门
[![Watch the video](https://img.youtube.com/vi/N93cTbtLCIM/hqdefault.jpg)](https://www.youtube.com/watch?v=N93cTbtLCIM)
[![查看这个视频](https://img.youtube.com/vi/N93cTbtLCIM/hqdefault.jpg)](https://www.youtube.com/watch?v=N93cTbtLCIM)
[@dusty-phillips](https://github.com/dusty-phillips) 正在编写一本名为
[LazyVim for Ambitious Developers](https://lazyvim-ambitious-devs.phillips.codes)
的书,该书可在线免费获得
[@dusty-phillips](https://github.com/dusty-phillips) 为 LazyVim 编写一本全面的书籍
[LazyVim for Ambitious Developers](https://lazyvim-ambitious-devs.phillips.codes)
可在线免费阅读
## 📂 文件结构
config 下的文件会在适当的时候自动加载,所以你不需要手动引入这些文件。
**LazyVim** 带有一组默认配置文件,这些文件将在您的配置**之前**加载。
看[这里](https://github.com/LazyVim/LazyVim/tree/main/lua/lazyvim/config)
config 下的文件会在适当的时候自动加载,所以你不需要手动引入这些文件。
您可以在 `lua/plugins/` 下添加自定义插件配置(specs)
[lazy.nvim](https://github.com/folke/lazy.nvim) 会自动加载这些文件。
**LazyVim** 带有一组默认配置文件,这些文件会在您的配置**之前**被加载
请看[这里](https://github.com/LazyVim/LazyVim/tree/main/lua/lazyvim/config)
您可以在 `lua/plugins/` 下添加自定义插件配置。
[lazy.nvim](https://github.com/folke/lazy.nvim) 会自动加载此目录中的全部文件。
<pre>
~/.config/nvim
@ -141,6 +142,6 @@ config 下的文件会在适当的时候自动加载,所以你不需要手动
└── init.lua
</pre>
## ⚙️ Configuration
## ⚙️ 设置
参考[文档](https://lazyvim.github.io/)
请参阅[官方文档](https://lazyvim.github.io/)

View File

@ -1,4 +1,4 @@
*LazyVim.txt* For Neovim Last change: 2024 November 15
*LazyVim.txt* For Neovim Last change: 2024 December 12
==============================================================================
Table of Contents *LazyVim-table-of-contents*

View File

@ -66,7 +66,6 @@ vim.api.nvim_create_autocmd("FileType", {
"neotest-summary",
"notify",
"qf",
"snacks_win",
"spectre_panel",
"startuptime",
"tsplayground",

View File

@ -3,7 +3,7 @@ _G.LazyVim = require("lazyvim.util")
---@class LazyVimConfig: LazyVimOptions
local M = {}
M.version = "13.3.1" -- x-release-please-version
M.version = "13.9.1" -- x-release-please-version
LazyVim.config = M
---@class LazyVimOptions

View File

@ -127,7 +127,8 @@ Snacks.toggle.option("wrap", {name = "Wrap"}):map("<leader>uw")
Snacks.toggle.option("relativenumber", { name = "Relative Number"}):map("<leader>uL")
Snacks.toggle.diagnostics():map("<leader>ud")
Snacks.toggle.line_number():map("<leader>ul")
Snacks.toggle.option("conceallevel", {off = 0, on = vim.o.conceallevel > 0 and vim.o.conceallevel or 2}):map("<leader>uc")
Snacks.toggle.option("conceallevel", {off = 0, on = vim.o.conceallevel > 0 and vim.o.conceallevel or 2, name = "Conceal Level"}):map("<leader>uc")
Snacks.toggle.option("showtabline", {off = 0, on = vim.o.showtabline > 0 and vim.o.showtabline or 2, name = "Tabline"}):map("<leader>uA")
Snacks.toggle.treesitter():map("<leader>uT")
Snacks.toggle.option("background", { off = "light", on = "dark" , name = "Dark Background"}):map("<leader>ub")
if vim.lsp.inlay_hint then
@ -138,13 +139,17 @@ end
if vim.fn.executable("lazygit") == 1 then
map("n", "<leader>gg", function() Snacks.lazygit( { cwd = LazyVim.root.git() }) end, { desc = "Lazygit (Root Dir)" })
map("n", "<leader>gG", function() Snacks.lazygit() end, { desc = "Lazygit (cwd)" })
map("n", "<leader>gb", function() Snacks.git.blame_line() end, { desc = "Git Blame Line" })
map("n", "<leader>gB", function() Snacks.gitbrowse() end, { desc = "Git Browse" })
map("n", "<leader>gf", function() Snacks.lazygit.log_file() end, { desc = "Lazygit Current File History" })
map("n", "<leader>gl", function() Snacks.lazygit.log({ cwd = LazyVim.root.git() }) end, { desc = "Lazygit Log" })
map("n", "<leader>gL", function() Snacks.lazygit.log() end, { desc = "Lazygit Log (cwd)" })
end
map("n", "<leader>gb", function() Snacks.git.blame_line() end, { desc = "Git Blame Line" })
map({ "n", "x" }, "<leader>gB", function() Snacks.gitbrowse() end, { desc = "Git Browse (open)" })
map({"n", "x" }, "<leader>gY", function()
Snacks.gitbrowse({ open = function(url) vim.fn.setreg("+", url) end, notify = false })
end, { desc = "Git Browse (copy)" })
-- quit
map("n", "<leader>qq", "<cmd>qa<cr>", { desc = "Quit All" })

View File

@ -183,15 +183,13 @@ return {
cmd = "LazyDev",
opts = {
library = {
{ path = "luvit-meta/library", words = { "vim%.uv" } },
{ path = "${3rd}/luv/library", words = { "vim%.uv" } },
{ path = "LazyVim", words = { "LazyVim" } },
{ path = "snacks.nvim", words = { "Snacks" } },
{ path = "lazy.nvim", words = { "LazyVim" } },
},
},
},
-- Manage libuv types with lazy. Plugin will never be loaded
{ "Bilal2453/luvit-meta", lazy = true },
-- Add lazydev source to cmp
{
"hrsh7th/nvim-cmp",

View File

@ -44,6 +44,7 @@ return {
noice = true,
notify = true,
semantic_tokens = true,
snacks = true,
telescope = true,
treesitter = true,
treesitter_context = true,

View File

@ -300,6 +300,20 @@ return {
end,
},
},
{
"gitsigns.nvim",
opts = function()
Snacks.toggle({
name = "Git Signs",
get = function()
return require("gitsigns.config").config.signcolumn
end,
set = function(state)
require("gitsigns").toggle_signs(state)
end,
}):map("<leader>uG")
end,
},
-- better diagnostics list and others
{

View File

@ -55,17 +55,15 @@ return {
end,
},
{
vim.g.ai_cmp and {
"saghen/blink.cmp",
optional = true,
dependencies = { "codeium.nvim", "saghen/blink.compat" },
opts = {
sources = {
compat = vim.g.ai_cmp and { "codeium" } or nil,
compat = { "codeium" },
providers = { codeium = { kind = "Codeium" } },
},
},
dependencies = {
"codeium.nvim",
vim.g.ai_cmp and "saghen/blink.compat" or nil,
},
},
} or nil,
}

View File

@ -17,23 +17,18 @@ end
return {
{
"CopilotC-Nvim/CopilotChat.nvim",
branch = "canary",
branch = "main",
cmd = "CopilotChat",
opts = function()
local user = vim.env.USER or "User"
user = user:sub(1, 1):upper() .. user:sub(2)
return {
auto_insert_mode = true,
show_help = true,
question_header = "" .. user .. " ",
answer_header = " Copilot ",
window = {
width = 0.4,
},
selection = function(source)
local select = require("CopilotChat.select")
return select.visual(source) or select.buffer(source)
end,
}
end,
keys = {
@ -66,16 +61,11 @@ return {
desc = "Quick Chat (CopilotChat)",
mode = { "n", "v" },
},
-- Show help actions with telescope
{ "<leader>ad", M.pick("help"), desc = "Diagnostic Help (CopilotChat)", mode = { "n", "v" } },
-- Show prompts actions with telescope
{ "<leader>ap", M.pick("prompt"), desc = "Prompt Actions (CopilotChat)", mode = { "n", "v" } },
},
config = function(_, opts)
local chat = require("CopilotChat")
if pcall(require, "cmp") then
require("CopilotChat.integrations.cmp").setup()
end
vim.api.nvim_create_autocmd("BufEnter", {
pattern = "copilot-chat",

View File

@ -94,31 +94,21 @@ return {
},
},
-- blink.cmp
{
vim.g.ai_cmp and {
"saghen/blink.cmp",
optional = true,
dependencies = {
{
"giuxtaposition/blink-cmp-copilot",
enabled = vim.g.ai_cmp, -- only enable if needed
specs = {
{
"blink.cmp",
optional = true,
opts = {
sources = {
providers = {
copilot = { name = "copilot", module = "blink-cmp-copilot" },
},
completion = {
enabled_providers = { "copilot" },
},
},
},
dependencies = { "giuxtaposition/blink-cmp-copilot" },
opts = {
sources = {
default = { "copilot" },
providers = {
copilot = {
name = "copilot",
module = "blink-cmp-copilot",
kind = "Copilot",
},
},
},
},
},
} or nil,
}

View File

@ -43,39 +43,17 @@ return {
end,
},
-- blink.cmp integration
--
-- FIXME: this currently doesn't work properly
-- {
-- "saghen/blink.cmp",
-- optional = true,
-- opts = {
-- sources = {
-- compat = vim.g.ai_cmp and { "supermaven" } or nil,
-- },
-- },
-- dependencies = {
-- "supermaven-nvim",
-- vim.g.ai_cmp and "saghen/blink.compat" or nil,
-- },
-- },
--
-- Disabble cmp integration for now
{
vim.g.ai_cmp and {
"saghen/blink.cmp",
optional = true,
dependencies = { "supermaven-nvim", "saghen/blink.compat" },
opts = {
windows = { ghost_text = { enabled = false } },
},
dependencies = {
{
"supermaven-nvim",
opts = {
disable_inline_completion = false,
},
sources = {
compat = { "supermaven" },
providers = { supermaven = { kind = "Supermaven" } },
},
},
},
} or nil,
{
"nvim-lualine/lualine.nvim",

View File

@ -1,26 +1,22 @@
return {
-- Tabnine cmp source
{
"tzachar/cmp-tabnine",
build = LazyVim.is_win() and "pwsh -noni .\\install.ps1" or "./install.sh",
opts = {
max_lines = 1000,
max_num_results = 3,
sort = true,
},
config = function(_, opts)
require("cmp_tabnine.config"):setup(opts)
end,
},
{
"nvim-cmp",
optional = true,
dependencies = {
{
"tzachar/cmp-tabnine",
build = {
LazyVim.is_win() and "pwsh -noni .\\install.ps1" or "./install.sh",
":CmpTabnineHub",
},
dependencies = "hrsh7th/nvim-cmp",
opts = {
max_lines = 1000,
max_num_results = 3,
sort = true,
},
config = function(_, opts)
require("cmp_tabnine.config"):setup(opts)
end,
},
},
dependencies = { "tzachar/cmp-tabnine" },
---@param opts cmp.ConfigSchema
opts = function(_, opts)
table.insert(opts.sources, 1, {
@ -37,6 +33,19 @@ return {
end)
end,
},
{
"saghen/blink.cmp",
optional = true,
dependencies = { "tzachar/cmp-tabnine", "saghen/blink.compat" },
opts = {
sources = {
compat = { "cmp_tabnine" },
providers = { cmp_tabnine = { kind = "TabNine" } },
},
},
},
-- Show TabNine status in lualine
{
"nvim-lualine/lualine.nvim",

View File

@ -17,52 +17,61 @@ return {
opts_extend = {
"sources.completion.enabled_providers",
"sources.compat",
"sources.default",
},
dependencies = {
"rafamadriz/friendly-snippets",
-- add blink.compat to dependencies
-- { "saghen/blink.compat", opts = {} },
{
"saghen/blink.compat",
optional = true, -- make optional so it's only enabled if any extras need it
opts = {},
version = not vim.g.lazyvim_blink_main and "*",
},
},
event = "InsertEnter",
---@module 'blink.cmp'
---@type blink.cmp.Config
opts = {
highlight = {
appearance = {
-- sets the fallback highlight groups to nvim-cmp's highlight groups
-- useful for when your theme doesn't support blink.cmp
-- will be removed in a future release, assuming themes add support
use_nvim_cmp_as_default = false,
-- set to 'mono' for 'Nerd Font Mono' or 'normal' for 'Nerd Font'
-- adjusts spacing to ensure icons are aligned
nerd_font_variant = "mono",
},
-- set to 'mono' for 'Nerd Font Mono' or 'normal' for 'Nerd Font'
-- adjusts spacing to ensure icons are aligned
nerd_font_variant = "mono",
windows = {
autocomplete = {
-- draw = "reversed",
winblend = vim.o.pumblend,
completion = {
accept = {
-- experimental auto-brackets support
auto_brackets = {
enabled = true,
},
},
menu = {
draw = {
treesitter = true,
},
},
documentation = {
auto_show = true,
auto_show_delay_ms = 200,
},
ghost_text = {
enabled = vim.g.ai_cmp,
},
},
-- experimental auto-brackets support
accept = { auto_brackets = { enabled = true } },
-- experimental signature help support
-- trigger = { signature_help = { enabled = true } }
-- signature = { enabled = true },
sources = {
-- adding any nvim-cmp sources here will enable them
-- with blink.compat
compat = {},
completion = {
-- remember to enable your providers here
enabled_providers = { "lsp", "path", "snippets", "buffer" },
},
default = { "lsp", "path", "snippets", "buffer" },
},
keymap = {
@ -76,7 +85,7 @@ return {
---@param opts blink.cmp.Config | { sources: { compat: string[] } }
config = function(_, opts)
-- setup compat sources
local enabled = opts.sources.completion.enabled_providers
local enabled = opts.sources.default
for _, source in ipairs(opts.sources.compat or {}) do
opts.sources.providers[source] = vim.tbl_deep_extend(
"force",
@ -87,6 +96,37 @@ return {
table.insert(enabled, source)
end
end
-- TODO: remove when blink made a new release > 0.7.6
if not vim.g.lazyvim_blink_main then
opts.sources.completion = opts.sources.completion or {}
opts.sources.completion.enabled_providers = enabled
end
-- check if we need to override symbol kinds
for _, provider in pairs(opts.sources.providers or {}) do
---@cast provider blink.cmp.SourceProviderConfig|{kind?:string}
if provider.kind then
local CompletionItemKind = require("blink.cmp.types").CompletionItemKind
local kind_idx = #CompletionItemKind + 1
CompletionItemKind[kind_idx] = provider.kind
CompletionItemKind[provider.kind] = kind_idx
---@type fun(ctx: blink.cmp.Context, items: blink.cmp.CompletionItem[]): blink.cmp.CompletionItem[]
local transform_items = provider.transform_items
---@param ctx blink.cmp.Context
---@param items blink.cmp.CompletionItem[]
provider.transform_items = function(ctx, items)
items = transform_items and transform_items(ctx, items) or items
for _, item in ipairs(items) do
item.kind = kind_idx or item.kind
end
return items
end
end
end
require("blink.cmp").setup(opts)
end,
},
@ -95,7 +135,8 @@ return {
{
"saghen/blink.cmp",
opts = function(_, opts)
opts.kind_icons = LazyVim.config.icons.kinds
opts.appearance = opts.appearance or {}
opts.appearance.kind_icons = LazyVim.config.icons.kinds
end,
},
@ -104,15 +145,9 @@ return {
"saghen/blink.cmp",
opts = {
sources = {
completion = {
-- add lazydev to your completion providers
enabled_providers = { "lazydev" },
},
-- add lazydev to your completion providers
default = { "lazydev" },
providers = {
lsp = {
-- dont show LuaLS require statements when lazydev has items
fallback_for = { "lazydev" },
},
lazydev = {
name = "LazyDev",
module = "lazydev.integrations.blink",
@ -121,4 +156,12 @@ return {
},
},
},
-- catppuccin support
{
"catppuccin",
optional = true,
opts = {
integrations = { blink_cmp = true },
},
},
}

View File

@ -14,6 +14,7 @@ return {
"rafamadriz/friendly-snippets",
config = function()
require("luasnip.loaders.from_vscode").lazy_load()
require("luasnip.loaders.from_vscode").lazy_load({ paths = { vim.fn.stdpath("config") .. "/snippets" } })
end,
},
},
@ -60,10 +61,24 @@ return {
{
"saghen/blink.cmp",
optional = true,
dependencies = {
{ "saghen/blink.compat", opts = { impersonate_nvim_cmp = true } },
{ "saadparwaiz1/cmp_luasnip" },
},
opts = {
accept = {
expand_snippet = function(...)
return require("luasnip").lsp_expand(...)
sources = { compat = { "luasnip" } },
snippets = {
expand = function(snippet)
require("luasnip").lsp_expand(snippet)
end,
active = function(filter)
if filter and filter.direction then
return require("luasnip").jumpable(filter.direction)
end
return require("luasnip").in_snippet()
end,
jump = function(direction)
require("luasnip").jump(direction)
end,
},
},

View File

@ -98,21 +98,22 @@ return {
return {
dials_by_ft = {
css = "css",
vue = "vue",
javascript = "typescript",
typescript = "typescript",
typescriptreact = "typescript",
javascriptreact = "typescript",
json = "json",
lua = "lua",
markdown = "markdown",
python = "python",
sass = "css",
scss = "css",
typescript = "typescript",
typescriptreact = "typescript",
yaml = "yaml",
python = "python",
},
groups = {
default = {
augend.integer.alias.decimal, -- nonnegative decimal number (0, 1, 2, 3, ...)
augend.integer.alias.decimal_int, -- nonnegative and negative decimal number
augend.integer.alias.hex, -- nonnegative hex number (0x01, 0x1a1f, etc.)
augend.date.alias["%Y/%m/%d"], -- date (2022/02/19, etc.)
ordinal_numbers,
@ -122,18 +123,15 @@ return {
augend.constant.alias.bool, -- boolean value (true <-> false)
logical_alias,
},
vue = {
augend.constant.new({ elements = { "let", "const" } }),
augend.hexcolor.new({ case = "lower" }),
augend.hexcolor.new({ case = "upper" }),
},
typescript = {
augend.integer.alias.decimal_int, -- nonnegative and negative decimal number
augend.constant.alias.bool, -- boolean value (true <-> false)
logical_alias,
augend.constant.new({ elements = { "let", "const" } }),
},
yaml = {
augend.integer.alias.decimal_int, -- nonnegative and negative decimal number
augend.constant.alias.bool, -- boolean value (true <-> false)
},
css = {
augend.integer.alias.decimal_int, -- nonnegative and negative decimal number
augend.hexcolor.new({
case = "lower",
}),
@ -145,12 +143,9 @@ return {
augend.misc.alias.markdown_header,
},
json = {
augend.integer.alias.decimal_int, -- nonnegative and negative decimal number
augend.semver.alias.semver, -- versioning (v1.1.2)
},
lua = {
augend.integer.alias.decimal_int, -- nonnegative and negative decimal number
augend.constant.alias.bool, -- boolean value (true <-> false)
augend.constant.new({
elements = { "and", "or" },
word = true, -- if false, "sand" is incremented into "sor", "doctor" into "doctand", etc.
@ -158,14 +153,20 @@ return {
}),
},
python = {
augend.integer.alias.decimal_int, -- nonnegative and negative decimal number
capitalized_boolean,
logical_alias,
augend.constant.new({
elements = { "and", "or" },
}),
},
},
}
end,
config = function(_, opts)
-- copy defaults to each group
for name, group in pairs(opts.groups) do
if name ~= "default" then
vim.list_extend(group, opts.groups.default)
end
end
require("dial.config").augends:register_group(opts.groups)
vim.g.dials_by_ft = opts.dials_by_ft
end,

View File

@ -29,6 +29,29 @@ return {
},
},
},
{
"mini.diff",
opts = function()
Snacks.toggle({
name = "Mini Diff Signs",
get = function()
return vim.g.minidiff_disable ~= true
end,
set = function(state)
vim.g.minidiff_disable = not state
if state then
require("mini.diff").enable(0)
else
require("mini.diff").disable(0)
end
-- HACK: redraw to update the signs
vim.defer_fn(function()
vim.cmd([[redraw!]])
end, 200)
end,
}):map("<leader>uG")
end,
},
-- lualine integration
{

View File

@ -0,0 +1,59 @@
---@diagnostic disable: inject-field
if lazyvim_docs then
-- Enable this option to avoid conflicts with Prettier.
vim.g.lazyvim_prettier_needs_config = true
end
-- https://biomejs.dev/internals/language-support/
local supported = {
"astro",
"css",
"graphql",
-- "html",
"javascript",
"javascriptreact",
"json",
"jsonc",
-- "markdown",
"svelte",
"typescript",
"typescriptreact",
"vue",
-- "yaml",
}
return {
{
"williamboman/mason.nvim",
opts = { ensure_installed = { "biome" } },
},
{
"stevearc/conform.nvim",
optional = true,
---@param opts ConformOpts
opts = function(_, opts)
opts.formatters_by_ft = opts.formatters_by_ft or {}
for _, ft in ipairs(supported) do
opts.formatters_by_ft[ft] = opts.formatters_by_ft[ft] or {}
table.insert(opts.formatters_by_ft[ft], "biome")
end
opts.formatters = opts.formatters or {}
opts.formatters.biome = {
require_cwd = true,
}
end,
},
-- none-ls support
{
"nvimtools/none-ls.nvim",
optional = true,
opts = function(_, opts)
local nls = require("null-ls")
opts.sources = opts.sources or {}
table.insert(opts.sources, nls.builtins.formatting.biome)
end,
},
}

View File

@ -40,6 +40,20 @@ return {
{
"mfussenegger/nvim-dap",
optional = true,
opts = function()
-- Simple configuration to attach to remote java debug process
-- Taken directly from https://github.com/mfussenegger/nvim-dap/wiki/Java
local dap = require("dap")
dap.configurations.java = {
{
type = "java",
request = "attach",
name = "Debug (Attach) - Remote",
hostName = "127.0.0.1",
port = 5005,
},
}
end,
dependencies = {
{
"williamboman/mason.nvim",
@ -197,8 +211,8 @@ return {
{ "<leader>cx", group = "extract" },
{ "<leader>cxv", require("jdtls").extract_variable_all, desc = "Extract Variable" },
{ "<leader>cxc", require("jdtls").extract_constant, desc = "Extract Constant" },
{ "gs", require("jdtls").super_implementation, desc = "Goto Super" },
{ "gS", require("jdtls.tests").goto_subjects, desc = "Goto Subjects" },
{ "<leader>cgs", require("jdtls").super_implementation, desc = "Goto Super" },
{ "<leader>cgS", require("jdtls.tests").goto_subjects, desc = "Goto Subjects" },
{ "<leader>co", require("jdtls").organize_imports, desc = "Organize Imports" },
},
})

View File

@ -1,3 +1,13 @@
if lazyvim_docs then
-- LSP Server to use for Rust.
-- Set to "bacon-ls" to use bacon-ls instead of rust-analyzer.
-- only for diagnostics. The rest of LSP support will still be
-- provided by rust-analyzer.
vim.g.lazyvim_rust_diagnostics = "rust-analyzer"
end
local diagnostics = vim.g.lazyvim_rust_diagnostics or "rust-analyzer"
return {
recommended = function()
return LazyVim.extras.wants({
@ -35,7 +45,13 @@ return {
{
"williamboman/mason.nvim",
optional = true,
opts = { ensure_installed = { "codelldb" } },
opts = function(_, opts)
opts.ensure_installed = opts.ensure_installed or {}
vim.list_extend(opts.ensure_installed, { "codelldb" })
if diagnostics == "bacon-ls" then
vim.list_extend(opts.ensure_installed, { "bacon" })
end
end,
},
{
@ -62,8 +78,12 @@ return {
enable = true,
},
},
-- Add clippy lints for Rust.
checkOnSave = true,
-- Add clippy lints for Rust if using rust-analyzer
checkOnSave = diagnostics == "rust-analyzer",
-- Enable diagnostics if using rust-analyzer
diagnostics = {
enable = diagnostics == "rust-analyzer",
},
procMacro = {
enable = true,
ignored = {
@ -77,6 +97,18 @@ return {
},
},
config = function(_, opts)
if LazyVim.has("mason.nvim") then
local package_path = require("mason-registry").get_package("codelldb"):get_install_path()
local codelldb = package_path .. "/extension/adapter/codelldb"
local library_path = package_path .. "/extension/lldb/lib/liblldb.dylib"
local uname = io.popen("uname"):read("*l")
if uname == "Linux" then
library_path = package_path .. "/extension/lldb/lib/liblldb.so"
end
opts.dap = {
adapter = require("rustaceanvim.config").get_codelldb_adapter(codelldb, library_path),
}
end
vim.g.rustaceanvim = vim.tbl_deep_extend("keep", vim.g.rustaceanvim or {}, opts or {})
if vim.fn.executable("rust-analyzer") == 0 then
LazyVim.error(
@ -92,6 +124,9 @@ return {
"neovim/nvim-lspconfig",
opts = {
servers = {
bacon_ls = {
enabled = diagnostics == "bacon-ls",
},
rust_analyzer = { enabled = false },
},
},

View File

@ -48,19 +48,21 @@ return {
vim.api.nvim_create_autocmd("FileType", {
pattern = sql_ft,
callback = function()
local cmp = require("cmp")
if LazyVim.has("nvim-cmp") then
local cmp = require("cmp")
-- global sources
---@param source cmp.SourceConfig
local sources = vim.tbl_map(function(source)
return { name = source.name }
end, cmp.get_config().sources)
-- global sources
---@param source cmp.SourceConfig
local sources = vim.tbl_map(function(source)
return { name = source.name }
end, cmp.get_config().sources)
-- add vim-dadbod-completion source
table.insert(sources, { name = "vim-dadbod-completion" })
-- add vim-dadbod-completion source
table.insert(sources, { name = "vim-dadbod-completion" })
-- update sources for the current buffer
cmp.setup.buffer({ sources = sources })
-- update sources for the current buffer
cmp.setup.buffer({ sources = sources })
end
end,
})
end,
@ -122,6 +124,23 @@ return {
end,
},
-- blink.cmp integration
{
"saghen/blink.cmp",
optional = true,
opts = {
sources = {
default = { "dadbod" },
providers = {
dadbod = { name = "Dadbod", module = "vim_dadbod_completion.blink" },
},
},
},
dependencies = {
"kristijanhusak/vim-dadbod-completion",
},
},
-- Linters & formatters
{
"williamboman/mason.nvim",

View File

@ -30,7 +30,7 @@ return {
vim.g.vimtex_quickfix_method = vim.fn.executable("pplatex") == 1 and "pplatex" or "latexlog"
end,
keys = {
{ "<localLeader>l", "", desc = "+vimtex" },
{ "<localLeader>l", "", desc = "+vimtex", ft = "tex" },
},
},

View File

@ -44,6 +44,7 @@ return {
enableMoveToFileCodeAction = true,
autoUseWorkspaceTsdk = true,
experimental = {
maxInlayHintLength = 30,
completion = {
enableServerSideFuzzyMatch = true,
},

View File

@ -1,7 +1,6 @@
return {
{ "nvimdev/dashboard-nvim", enabled = false },
{ "echasnovski/mini.starter", enabled = false },
{ "folke/snacks.nvim", opts = { dashboard = { enabled = false } } },
-- Dashboard. This runs when neovim starts, and is what displays
-- the "LAZYVIM" banner.
{

View File

@ -0,0 +1,68 @@
return {
{ "folke/snacks.nvim", opts = { dashboard = { enabled = false } } },
{
"nvimdev/dashboard-nvim",
lazy = false, -- As https://github.com/nvimdev/dashboard-nvim/pull/450, dashboard-nvim shouldn't be lazy-loaded to properly handle stdin.
opts = function()
local logo = [[
██╗ █████╗ ███████╗██╗ ██╗██╗ ██╗██╗███╗ ███╗ Z
██║ ██╔══██╗╚══███╔╝╚██╗ ██╔╝██║ ██║██║████╗ ████║ Z
██║ ███████║ ███╔╝ ╚████╔╝ ██║ ██║██║██╔████╔██║ z
██║ ██╔══██║ ███╔╝ ╚██╔╝ ╚██╗ ██╔╝██║██║╚██╔╝██║ z
███████╗██║ ██║███████╗ ██║ ╚████╔╝ ██║██║ ╚═╝ ██║
╚══════╝╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═══╝ ╚═╝╚═╝ ╚═╝
]]
logo = string.rep("\n", 8) .. logo .. "\n\n"
local opts = {
theme = "doom",
hide = {
-- this is taken care of by lualine
-- enabling this messes up the actual laststatus setting after loading a file
statusline = false,
},
config = {
header = vim.split(logo, "\n"),
-- stylua: ignore
center = {
{ action = 'lua LazyVim.pick()()', desc = " Find File", icon = "", key = "f" },
{ action = "ene | startinsert", desc = " New File", icon = "", key = "n" },
{ action = 'lua LazyVim.pick("oldfiles")()', desc = " Recent Files", icon = "", key = "r" },
{ action = 'lua LazyVim.pick("live_grep")()', desc = " Find Text", icon = "", key = "g" },
{ action = 'lua LazyVim.pick.config_files()()', desc = " Config", icon = "", key = "c" },
{ action = 'lua require("persistence").load()', desc = " Restore Session", icon = "", key = "s" },
{ action = "LazyExtras", desc = " Lazy Extras", icon = "", key = "x" },
{ action = "Lazy", desc = " Lazy", icon = "󰒲 ", key = "l" },
{ action = function() vim.api.nvim_input("<cmd>qa<cr>") end, desc = " Quit", icon = "", key = "q" },
},
footer = function()
local stats = require("lazy").stats()
local ms = (math.floor(stats.startuptime * 100 + 0.5) / 100)
return { "⚡ Neovim loaded " .. stats.loaded .. "/" .. stats.count .. " plugins in " .. ms .. "ms" }
end,
},
}
for _, button in ipairs(opts.config.center) do
button.desc = button.desc .. string.rep(" ", 43 - #button.desc)
button.key_format = " %s"
end
-- open dashboard after closing lazy
if vim.o.filetype == "lazy" then
vim.api.nvim_create_autocmd("WinClosed", {
pattern = tostring(vim.api.nvim_get_current_win()),
once = true,
callback = function()
vim.schedule(function()
vim.api.nvim_exec_autocmds("UIEnter", { group = "dashboard" })
end)
end,
})
end
return opts
end,
},
}

View File

@ -3,7 +3,8 @@ return {
"echasnovski/mini.animate",
recommended = true,
event = "VeryLazy",
opts = function()
cond = vim.g.neovide == nil,
opts = function(_, opts)
-- don't use animate when scrolling with the mouse
local mouse_scrolled = false
for _, scroll in ipairs({ "Up", "Down" }) do
@ -32,7 +33,7 @@ return {
}):map("<leader>ua")
local animate = require("mini.animate")
return {
return vim.tbl_deep_extend("force", opts, {
resize = {
timing = animate.gen_timing.linear({ duration = 50, unit = "total" }),
},
@ -48,6 +49,6 @@ return {
end,
}),
},
}
})
end,
}

View File

@ -23,6 +23,7 @@ return {
"mason",
"neo-tree",
"notify",
"snacks_dashboard",
"snacks_notif",
"snacks_terminal",
"snacks_win",
@ -33,6 +34,13 @@ return {
vim.b.miniindentscope_disable = true
end,
})
vim.api.nvim_create_autocmd("User", {
pattern = "SnacksDashboardOpened",
callback = function(data)
vim.b[data.buf].miniindentscope_disable = true
end,
})
end,
},
{

Some files were not shown because too many files have changed in this diff Show More