Compare commits

..

186 Commits
v12.29.1 ... ai

Author SHA1 Message Date
725469adba refactor: move ai extras to ai instead of coding 2024-11-10 11:25:55 +01:00
b9dae57961 perf(ui): only enable treesitter folds if the buffer has treesitter highlighting 2024-11-09 23:33:05 +01:00
24665fc736 feat(keymaps): leader-bo to close other buffers 2024-11-09 16:13:11 +01:00
9c9e650530 fix(extras): fix alpha-nvim non-string keycodes (#4735)
## Description

The `dashboard.button` function provided by alpha-nvim expects a string
keybind, not a function:


https://github.com/goolord/alpha-nvim/blob/main/lua/alpha/themes/dashboard.lua#L63

## Related Issue(s)

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

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-11-09 15:57:48 +01:00
f57944f926 chore(main): release 13.1.0 (#4733)
🤖 I have created a release *beep* *boop*
---


##
[13.1.0](https://github.com/LazyVim/LazyVim/compare/v13.0.0...v13.1.0)
(2024-11-09)


### Features

* **terraform:** add formatter for packer files
([#4591](https://github.com/LazyVim/LazyVim/issues/4591))
([4876d11](4876d1137d))


### Bug Fixes

* **extras:** lazy-load telescope-terraform plugins
([#4667](https://github.com/LazyVim/LazyVim/issues/4667))
([94b4219](94b4219327))
* **options:** make sure spelling works in regular text files
([548fddd](548fddd1d5))
* **snacks:** noice now honors `Snacks.config.notifier.enabled = false`
([220148f](220148f47f))

---
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-09 15:51:45 +01:00
5b66db294f chore(build): auto-generate docs 2024-11-09 14:50:33 +00:00
220148f47f fix(snacks): noice now honors Snacks.config.notifier.enabled = false 2024-11-09 15:49:40 +01:00
4876d1137d feat(terraform): add formatter for packer files (#4591)
## Description

Adds a formatter for Packer configuration files (`ft=hcl`), a file type
already partially supported by the `lang.terraform` extra.

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-11-08 21:14:22 +01:00
EJ
94b4219327 fix(extras): lazy-load telescope-terraform plugins (#4667)
## Description

In the current terraform extra, both
`cappyzawa/telescope-terraform.nvim` and
`ANGkeith/telescope-terraform-doc.nvim` are dependencies of
`telescope.nvim`.
This should be reversed so that the telescope extensions only load when
needed
(I added a `ft` trigger which I think makes the most sense), and not as
a
dependency of `telescope.nvim`.

## Related Issue(s)

No related issues, just fixed this when the loading time of
`telescope-terraform-doc.nvim` in-particular was annoying (+~30ms
startup).

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-11-08 21:08:21 +01:00
548fddd1d5 fix(options): make sure spelling works in regular text files 2024-11-08 21:05:30 +01:00
5efb88f44a chore(main): release 13.0.0 (#4723)
🤖 I have created a release *beep* *boop*
---


##
[13.0.0](https://github.com/LazyVim/LazyVim/compare/v12.44.1...v13.0.0)
(2024-11-08)


### ⚠ BREAKING CHANGES

* **core:** move a bunch of LazyVim features to snacks.nvim
([#4706](https://github.com/LazyVim/LazyVim/issues/4706))

### Features

* **core:** move a bunch of LazyVim features to snacks.nvim
([#4706](https://github.com/LazyVim/LazyVim/issues/4706))
([2f46974](2f4697443c))
* **elixir:** add support for livebook files (`*.livemd`)
([#4184](https://github.com/LazyVim/LazyVim/issues/4184))
([2fcd4cd](2fcd4cdc5f))
* **eslint:** add option to disable eslint auto format
([#4225](https://github.com/LazyVim/LazyVim/issues/4225))
([2d2e425](2d2e425d25))
* **extras.nushell:** update to upstream treesitter
([#4715](https://github.com/LazyVim/LazyVim/issues/4715))
([37cc039](37cc03948d))
* **extras:** lang/zig
([#4437](https://github.com/LazyVim/LazyVim/issues/4437))
([4379faf](4379fafc7b))
* **extras:** rego language support
([#4297](https://github.com/LazyVim/LazyVim/issues/4297))
([cf86484](cf86484797))
* **keymaps:** only add lazygit keymaps when available. Closes
[#4643](https://github.com/LazyVim/LazyVim/issues/4643). Closes
[#4247](https://github.com/LazyVim/LazyVim/issues/4247)
([aa53cd4](aa53cd47c4))
* **lang.angular:** configure `prettier` as formatter for `angular`
templates ([#4345](https://github.com/LazyVim/LazyVim/issues/4345))
([2d6687c](2d6687c646))
* **scala:** add key for worksheet hover
([#3853](https://github.com/LazyVim/LazyVim/issues/3853))
([859646f](859646f628))
* **toggle:** add illuminate toggle for which-key
([#4708](https://github.com/LazyVim/LazyVim/issues/4708))
([67ba582](67ba58215b))


### Bug Fixes

* **blink:** remove `draw="reversed"` for now till new release
([b841a1d](b841a1dfc3))
* **copilot-chat:** setup cmp conditionally
([#4716](https://github.com/LazyVim/LazyVim/issues/4716))
([a86c252](a86c25286b))
* **dap:** use dap's splitstr when running with args. Closes
[#4387](https://github.com/LazyVim/LazyVim/issues/4387)
([776994a](776994a207))
* **dial:** follow comment explanation for integers
([#4658](https://github.com/LazyVim/LazyVim/issues/4658))
([c879b39](c879b397c7))
* **extras:** make kulala keys only for http files
([#4574](https://github.com/LazyVim/LazyVim/issues/4574))
([b0ced33](b0ced339a8))
* **extras:** use the correct naming when setting up eruby formatter
([#4625](https://github.com/LazyVim/LazyVim/issues/4625))
([8534af4](8534af4a79))
* **lang/r:** make keymaps in which-key menu available in visual mode
([#4565](https://github.com/LazyVim/LazyVim/issues/4565))
([ee2ec7e](ee2ec7e474))
* **lang/ruby:** do not enable Rubocop as LSP if Solargraph is used
([#4566](https://github.com/LazyVim/LazyVim/issues/4566))
([fd361d0](fd361d07a2))
* **lsp:** wrap hover and signature_help
([7616816](76168166e5))
* **lualine:** apply highlight groups correctly to truncated
pretty_paths ([#4379](https://github.com/LazyVim/LazyVim/issues/4379))
([1d4157e](1d4157e681))
* **lualine:** make sure path is in root before substituting
([67b216c](67b216c973))
* **navic:** use the same background color as lualine section_c
([#4231](https://github.com/LazyVim/LazyVim/issues/4231))
([64b0f0b](64b0f0b71d))
* **neotest:** disambiguous key map descriptions
([#4374](https://github.com/LazyVim/LazyVim/issues/4374))
([dfde914](dfde9148ef))
* **options:** disable default ruler
([#4731](https://github.com/LazyVim/LazyVim/issues/4731))
([da3058a](da3058a72d))
* **options:** removed deprecated options
([1e975be](1e975be7a5))
* **prettier:** keep existing formatters_by_ft
([#4719](https://github.com/LazyVim/LazyVim/issues/4719))
([4ff3606](4ff36062dd))
* **project.nvim:** correctly delete projects
([#4314](https://github.com/LazyVim/LazyVim/issues/4314))
([c097355](c09735594a))
* **snacks:** dont add `snacks_notif` to close_with_q
([e6f612f](e6f612f1cc))
* **snippet:** don't set navigation mappings in nightly
([#4375](https://github.com/LazyVim/LazyVim/issues/4375))
([1552791](15527910c3))
* **telescope:** buffers to start at final item
([#4189](https://github.com/LazyVim/LazyVim/issues/4189))
([f78bc3b](f78bc3b858))
* **telescope:** check for gmake if needed
([0bc09d8](0bc09d8206))

---
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-08 17:18:00 +01:00
da3058a72d fix(options): disable default ruler (#4731)
## Description

The ruler option causes numbers to be briefly shown on the dashboard
while LazyVim is loading. This MR disables the ruler.


## Screenshots
<img width="1086" alt="image"
src="https://github.com/user-attachments/assets/debd9e9b-bfd2-485e-be51-d1b7a59c3729">


<!-- 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-08 17:10:53 +01:00
76168166e5 fix(lsp): wrap hover and signature_help 2024-11-08 16:55:40 +01:00
2fcd4cdc5f feat(elixir): add support for livebook files (*.livemd) (#4184)
Livebook is a subset of Markdown, so we can safely use markdown's
treesitter for it.

Co-authored-by: Iordanis Petkakis <dpetka2001@users.noreply.github.com>
2024-11-08 14:10:11 +01:00
859646f628 feat(scala): add key for worksheet hover (#3853)
## What is this PR for?

Worksheet hovering is a useful feature provided by `metals` to see not
just the end result, but also the entire output of a function call, as
can be seen here for example:
https://youtu.be/Jv9B1crzpWM?t=16m20s

Having a default key assigned not only makes it more convenient, but
also increases discoverability.

(I was also contemplating `<leader>mK` as the mapping to be in line with
`K` for regular hover, but I wasn't convinced that the consistency is
worth the extra keypress.)

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-11-08 14:09:17 +01:00
64b0f0b71d fix(navic): use the same background color as lualine section_c (#4231)
## Description

Prior to this, when using the navic Extra, the symbol breadcrumbs shown
in lualine section_c had a background color different from the
background of lualine_c, causing it to standout and not blend in with
some colorschemes.

There were ways around this problem, but hose involved overriding a lot
of highlights. See https://github.com/LazyVim/LazyVim/issues/328

This change uses the new (as of April 2023) lualine component built in
to SmiteshP/nvim-navic, which has a `color_correction` option to fix the
problem described above. This built-in component replaces the manual
method of calling `require("nvim-navic").is_available()` and
`require("nvim-navic").get_location()`.

*
711e9f117a
*
bf587250f8

With `color_correction` set to "static" or "dynamic", navic uses the
lualine section's background color when building the breadcrumbs text.

*
bf587250f8/doc/navic.txt (L83-L88)

I chose to set color_correction to "dynamic" to provide the best user
experience as that will update the background any time the lualine
section's background changes (e.g. when switching modes).

## Related Issue(s)

* Fixes #328

## Screenshots

Before this fix, the breadcrumb's background did not match lualine
section_c's:

![before](https://github.com/user-attachments/assets/b30e9844-5aac-4ec8-96fd-a5243de8cded)

After this fix, the breadcrumb's background does match:

![after](https://github.com/user-attachments/assets/63945c48-2edc-4aea-8144-ae0bff1ed952)

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-11-08 14:08:43 +01:00
f78bc3b858 fix(telescope): buffers to start at final item (#4189)
## Description

Currently hitting `<leader>fb` triggers the telescope buffers command
but because we're passing the `sort_lastused=true` flag the index starts
at the second item.

This happens because of this line of code in telescope.nvim:


https://github.com/nvim-telescope/telescope.nvim/blob/master/lua/telescope/builtin/__internal.lua#L941-L943

This makes it annoying to actually use the tool to find buffers because
you have to first type your query then exit insert mode, then scroll one
item down, and then hitting enter:



https://github.com/user-attachments/assets/4126d017-df4b-48dc-b6d4-f7d9b8f491ff

When removing that flag it makes the function much more usable in terms
of UX since now you can just write your query and hit enter to go
straight to it.

## 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-08 14:06:39 +01:00
2d2e425d25 feat(eslint): add option to disable eslint auto format (#4225)
## Description

This adds an option to disable eslint's autoformatting. The reasons for
not wanting an auto format by eslint are:
1. It is generally not recommended to use a linter as a formatter as
highlighted by
https://typescript-eslint.io/users/what-about-formatting/#:~:text=We%20recommend%20against%20using%20ESLint,dprint%2C%20or%20an%20equivalent%20instead
2. A personal preference not to have a linter change my code which I'm
sure other people share.
3. As highlighted in the link above, eslint auto format can be quite
slow.

I would even argue that this should be the default, but I've left it as
is in order not to break anyone's config or ruffle anyone's feathers.

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-11-08 14:05:00 +01:00
fd361d07a2 fix(lang/ruby): do not enable Rubocop as LSP if Solargraph is used (#4566)
## Description

Solargraph already delegates some diagnostics to Rubocop by itself if it
is installed on your system. However, if Rubocop is also enabled as an
LSP while you're using Solargraph, then all Rubocop diagnostics are
going to be duplicated and shown twice. Once from Solargraph after it
calls Rubocop, and again by Rubocop separately running as an LSP.

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-11-08 13:56:44 +01:00
8534af4a79 fix(extras): use the correct naming when setting up eruby formatter (#4625)
## Description

Eruby files (.*.erb) are not formatted because the formatter name is
incorrect. This PR fixes it.

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-11-08 13:56:05 +01:00
2d6687c646 feat(lang.angular): configure prettier as formatter for angular templates (#4345)
## Description

Angular templates didn't have a configured formatter.
This PR configures prettier as a default formatter for angular
templates.

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-11-08 13:45:53 +01:00
cf86484797 feat(extras): rego language support (#4297)
It took a while, but finally we can work with
[OPA](https://www.openpolicyagent.org/) like a BOSS in neovim.

Linking some PR-s that had to land in the past couple of months to make
this config as
simple as it is now:

- treesitter commentstring support in
<https://github.com/JoosepAlviste/nvim-ts-context-commentstring/pull/108>
- regols support in nvim-lspconfig:
<https://github.com/neovim/nvim-lspconfig/pull/2721>
- regols support in mason-registry:
<https://github.com/mason-org/mason-registry/pull/4896>
- regols support in mason-lspconfig:
<https://github.com/williamboman/mason-lspconfig.nvim/pull/403>
- regal support in nvim-lspconfig:
<https://github.com/neovim/nvim-lspconfig/pull/3071>
- regal support in mason-registry:
<https://github.com/mason-org/mason-registry/pull/5717>
- regal support in mason-lspconfig:
<https://github.com/williamboman/mason-lspconfig.nvim/pull/426>

## Description

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

## Related Issue(s)

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

## Screenshots

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

## Checklist

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

Signed-off-by: Zoltán Reegn <zoltan.reegn@gmail.com>
2024-11-08 13:44:59 +01:00
c09735594a fix(project.nvim): correctly delete projects (#4314)
## Description
Unfortunately, the upstream Github repo hasn't been active for over a
year. This overwrites the `history.delete_project` function to correctly
be able to delete projects. Because of `ipairs` being used, when you
delete the first key from the table the `for` loop iteration will just
stop, since there will be a gap between the available indices.
> will iterate over the pairs (`1,t[1]`), (`2,t[2]`), ..., up to the
first integer key absent from the table.

There's also a
[PR](https://github.com/ahmedkhalf/project.nvim/pull/106/files) for this
upstream, but like I mentioned the Github repo hasn't been active for
over a year.

Feel free to disregard, since this is obviously something that should be
rather fixed upstream under normal circumstances. I just created this
PR, since it's such a basic functionality with little change in
LazyVim's codebase, that I thought it might be acceptable.
<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

## Related Issue(s)
No, rather a discussion #4310
<!--
  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-08 13:43:11 +01:00
15527910c3 fix(snippet): don't set navigation mappings in nightly (#4375)
## Description

Since [this commit in
Neovim](https://github.com/neovim/neovim/pull/27339), snippet navigation
mappings are set by default to `<tab>` and `<s-tab>`, and hence don't
need to be redefined here. Moreover, the core implementation makes sure
that those snippet navigation mappings are active only when snippet
expansion is happening, and if other user bindings are using those keys,
they're restored when snippet navigation ends.

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-11-08 13:40:25 +01:00
dfde9148ef fix(neotest): disambiguous key map descriptions (#4374)
## Description

Neotest key map descriptions were too ambiguous. This change simply adds
the plugin name to the key map descriptions, following the pattern of
other plugin related key map descriptions.

## Screenshots


![240830_09h47m20s_screenshot](https://github.com/user-attachments/assets/9c63b9f5-139d-4f9d-a6aa-4f9744c62a57)

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-11-08 13:37:09 +01:00
776994a207 fix(dap): use dap's splitstr when running with args. Closes #4387 2024-11-08 13:31:19 +01:00
ee2ec7e474 fix(lang/r): make keymaps in which-key menu available in visual mode (#4565)
## Description
`r.nvim` keymaps don't show group names in visual mode.
<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

## Related Issue(s)
No, rather discussion #4564
<!--
  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-08 13:26:31 +01:00
4e1fd66078 docs(dap): document continue to be used also for run (#4603)
The `dap.continue` is meant to be used also to start the program if no
debugging session is active.

The documentation states:

> `continue()` is the main entry-point for users to start debugging an
application.

With this change, it should be clearer to the user that `continue` is
the way to start a program. Otherwise, one could think to use `Run with
args` (which is misleading). At least for me, it was, until I read the
dap documentation.

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-11-08 13:25:56 +01:00
b0ced339a8 fix(extras): make kulala keys only for http files (#4574)
## Description

[Kulala's](https://github.com/mistweaverco/kulala.nvim) keys are
currently globally active. This PR makes them available in .http files
only.

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-11-08 13:25:09 +01:00
b5b3122843 chore(build): auto-generate docs 2024-11-08 08:01:42 +00:00
67ba58215b feat(toggle): add illuminate toggle for which-key (#4708)
## Description
Adds a Toggle-Shortcut to enable/disable
[Illuminate](https://github.com/RRethy/vim-illuminate)

I dont think 'leader ux' is the right shortcut here. I just took the
next free one.


![image](https://github.com/user-attachments/assets/65990e1b-f527-4691-8d2e-eee103695bff)
2024-11-08 09:00:36 +01:00
b841a1dfc3 fix(blink): remove draw="reversed" for now till new release 2024-11-07 22:52:38 +01:00
e6f612f1cc fix(snacks): dont add snacks_notif to close_with_q 2024-11-07 22:52:11 +01:00
67b216c973 fix(lualine): make sure path is in root before substituting 2024-11-07 17:01:08 +01:00
d017bb861e chore(build): auto-generate docs 2024-11-07 15:46:41 +00:00
db052ed9c0 docs(Readme): reflect that LazyVim For Ambitious Developers is complete (#4407)
## Description

LazyVim for Ambitious Developers is completely released online, with
ebooks available and print edition coming shortly. This just updates the
links to remove the "is working on" wording.

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-11-07 16:45:39 +01:00
4379fafc7b feat(extras): lang/zig (#4437)
## Description

A fresh and minimalist take on #1750.
It only adds what is maintainable (has activity in the past year at
least).

## Related Issue(s)

Closes #1750.


## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-11-07 16:40:06 +01:00
1d4157e681 fix(lualine): apply highlight groups correctly to truncated pretty_paths (#4379)
## Description

This is a small fix to the path truncating in
`LazyVim.lualine.pretty_path()` to make the filename highlighting
actually apply to only the filename, rather than the filename and all
path elements after the inserted ellipsis (`…`).

This keeps it consistent with the behaviour exhibited when the path
isn't truncated, and is what I think most users would expect the
behaviour to be.

## Screenshots

Before this fix:

<img width="320" alt="image"
src="https://github.com/user-attachments/assets/d708a140-2b23-457a-a296-dd411d29d268">

```
   nvim/…/nvim/lua/plugins/lazyvim/ui.lua
   └──┬──┘└──────────────┬──────────────┘
directory_hl        filename_hl
```

After this fix:

<img width="319" alt="image"
src="https://github.com/user-attachments/assets/e9d13fdd-79a8-4e3d-942a-58d0e2bb8bca">

```
nvim/…/nvim/lua/plugins/lazyvim/ui.lua
└──────────────┬───────────────┘└─┬──┘
         directory_hl        filename_hl
```

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-11-07 16:26:17 +01:00
aa53cd47c4 feat(keymaps): only add lazygit keymaps when available. Closes #4643. Closes #4247 2024-11-07 16:21:48 +01:00
1e975be7a5 fix(options): removed deprecated options 2024-11-07 16:19:18 +01:00
c879b397c7 fix(dial): follow comment explanation for integers (#4658)
relevant doc page:
https://github.com/monaqa/dial.nvim?tab=readme-ov-file#augend-alias

## Description

The specific augend for integers in several languages is a different one
than what the comment explaining it suggests.

Changed the augend to the one that includes negative integers like the
comment suggests.


## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-11-07 16:16:41 +01:00
37cc03948d feat(extras.nushell): update to upstream treesitter (#4715)
## Description

Since the nushell treesitter parser is now upstream, as seen in [this
pr](https://github.com/nvim-treesitter/nvim-treesitter/pull/7267), it
updates the treesitter config of this extra

## Checklist

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

Co-authored-by: Conarius <Conarius+34580743@users.noreply.github.com>
2024-11-07 16:11:59 +01:00
4ff36062dd fix(prettier): keep existing formatters_by_ft (#4719)
## Description

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

This change makes it possible to configure other formatters for
filetypes supported by the prettier extra, for instance

```js
return {
  {
    "stevearc/conform.nvim",
    opts = {
      formatters_by_ft = {
        css = { "stylelint" },
      },
    },
  },
}
```

Currently the prettier extra overwrites any existing `formatters_by_ft`
for the filetypes it supports. I've changed it to use `table.insert`
[like the sql extra
does](75750be1c0/lua/lazyvim/plugins/extras/lang/sql.lua (L148-L149)).

## Related Issue(s)

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

None that I know of

## Screenshots

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

N/A

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-11-07 16:11:36 +01:00
0bc09d8206 fix(telescope): check for gmake if needed 2024-11-07 16:10:45 +01:00
a86c25286b fix(copilot-chat): setup cmp conditionally (#4716)
## Description

Check for cmp before setting up copilot chat.

## Related Issue(s)

For https://github.com/LazyVim/LazyVim/issues/4702

I would like to set up the cmp compatability later if possible, but this
is a quick patch to allow copilot chat to work without cmp (for now).

## 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-11-07 16:05:32 +01:00
81a4f3f690 chore(build): auto-generate docs 2024-11-07 14:55:42 +00:00
2f4697443c feat(core)!: move a bunch of LazyVim features to snacks.nvim (#4706)
## Description

LazyVim comes with a bunch of smaller QoL plugin like features, but it's
not easy for non LazyVim users to use them.

That's why I started working on
[snacks.nvim](https://github.com/folke/snacks.nvim), a collection of
small QoL plugins for Neovim.

Snacks also includes a bunch of new improvements to these features.

This PR fully integrates with snacks.

## Todo

- [ ] add proper deprecations where needed
- [ ] create snacks docs
- [ ] document all the new improvements relevant to LazyVim users

## Closes

- [ ] #4492 
- [ ] #4333
- [ ] #4687

## Screenshots

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

## Checklist

- [ ] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-11-07 15:54:47 +01:00
75750be1c0 chore(build): auto-generate docs 2024-11-04 11:56:40 +00:00
73f14943ba chore(main): release 12.44.1 (#4694)
🤖 I have created a release *beep* *boop*
---


##
[12.44.1](https://github.com/LazyVim/LazyVim/compare/v12.44.0...v12.44.1)
(2024-11-03)


### Bug Fixes

* **blink:** use release version
([7ebed53](7ebed5349d))
* **copilot:** properly process tab with copilot and blink. Fixes
[#4692](https://github.com/LazyVim/LazyVim/issues/4692)
([fa37396](fa3739678a))
* **java:** jdtls run with args
([#4689](https://github.com/LazyVim/LazyVim/issues/4689))
([0403e80](0403e80a8e))

---
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-04 12:55:25 +01:00
7ebed5349d fix(blink): use release version 2024-11-03 15:26:45 +01:00
fa3739678a fix(copilot): properly process tab with copilot and blink. Fixes #4692 2024-11-03 12:53:10 +01:00
f4d78ac0de chore(build): auto-generate docs 2024-11-03 11:49:08 +00:00
0403e80a8e fix(java): jdtls run with args (#4689)
## Description

Makes run with args work for jdtls

## Related Issue(s)
- Closes #4686
- Closes #4673
2024-11-03 12:48:11 +01:00
29dab35619 chore(main): release 12.44.0 (#4635)
🤖 I have created a release *beep* *boop*
---


##
[12.44.0](https://github.com/LazyVim/LazyVim/compare/v12.43.0...v12.44.0)
(2024-11-02)


### Features

* **blink:** use vim.o.pumblend as winblend option for autocomplete menu
in blink
([28da1eb](28da1eb073))
* **extras:** blink
([#4680](https://github.com/LazyVim/LazyVim/issues/4680))
([ad52bf9](ad52bf91bc))
* **extras:** enable crates.nvim in-process lsp server
([#4684](https://github.com/LazyVim/LazyVim/issues/4684))
([db8895b](db8895b518))


### Bug Fixes

* **autocmds:** `vim.highlight` is deprecated
([a7b4c43](a7b4c4391b))
* **autocmds:** change mapping for `lazyvim_close_with_q`
([#4638](https://github.com/LazyVim/LazyVim/issues/4638))
([5f432d9](5f432d997e))
* **autocmds:** close window and force delete buf on q. See
[#4638](https://github.com/LazyVim/LazyVim/issues/4638)
([cb40a09](cb40a09538))
* **autocmds:** force close buffers with q. See
[#4638](https://github.com/LazyVim/LazyVim/issues/4638)
([0eb4009](0eb400908d))
* **blink:** explicetely set version=false for now
([ec616a3](ec616a3cec))
* **catppuccin:** fix bufferline integration when no colorscheme is set.
Closes [#4641](https://github.com/LazyVim/LazyVim/issues/4641)
([6570a14](6570a141c0))
* **copilot:** create undo point before accepting copilot suggestion
when using blink
([6e1d099](6e1d0994d9))
* **dap:** remove explicit `load_launchjs` call
([#4634](https://github.com/LazyVim/LazyVim/issues/4634))
([2f6c1f6](2f6c1f6083))
* **lazygit:** file history when cwd is outside the repo
([#4666](https://github.com/LazyVim/LazyVim/issues/4666))
([4ee6be4](4ee6be4499))
* **rust:** disable rust_analyzer in the rust extra. Fixes
[#4685](https://github.com/LazyVim/LazyVim/issues/4685)
([1d3d64f](1d3d64fd1a))

---
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-03 00:15:26 +01:00
a7b4c4391b fix(autocmds): vim.highlight is deprecated 2024-11-02 18:51:04 +01:00
ec616a3cec fix(blink): explicetely set version=false for now 2024-11-02 18:12:31 +01:00
28da1eb073 feat(blink): use vim.o.pumblend as winblend option for autocomplete menu in blink 2024-11-02 17:43:11 +01:00
6e1d0994d9 fix(copilot): create undo point before accepting copilot suggestion when using blink 2024-11-02 17:41:38 +01:00
db8895b518 feat(extras): enable crates.nvim in-process lsp server (#4684)
## Description

Rather than manually handling hover and completions through nvim-cmp and
nvim-lspconfig, enable the crates.nvim in-process lsp server. This also
allows crates.nvim to provide code actions.

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

## Related Issue(s)

This change also removes the direct dependency on nvim-cmp, which should
help with #4680

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

## Screenshots

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

## Checklist

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

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-11-02 10:02:23 +01:00
ad52bf91bc feat(extras): blink (#4680)
## Description

Extra to use [blink.cmp](https://github.com/Saghen/blink.cmp) instead of
**nvim-cmp**.

## Todo

- [x] tokyonight suport
- [x] basic integration
- [ ] check / update all cmp sources
- [ ] copilot and others integration 
- [x] native lazydev source

## Limitations

There's no copilot source, so instead when enabling both blink and
copilot:
- blink ghost text is disabled
- copilot suggestions are enabled
- use `<tab>` to navigate snippets and accept copilot completions 

## Related Issue(s)

- https://github.com/LazyVim/LazyVim/discussions/4679
2024-11-02 09:54:55 +01:00
a66b44a9fe chore(build): auto-generate docs 2024-11-02 08:48:22 +00:00
1d3d64fd1a fix(rust): disable rust_analyzer in the rust extra. Fixes #4685 2024-11-02 09:47:17 +01:00
f11890bf99 chore(build): auto-generate docs 2024-11-01 21:48:00 +00:00
4ee6be4499 fix(lazygit): file history when cwd is outside the repo (#4666)
## Description

When using `<leader>gf` Lazygit is launched in the current directory
rather than the root directory.
<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

## Related Issue(s)

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

## Screenshots

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

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-11-01 22:47:03 +01:00
cb40a09538 fix(autocmds): close window and force delete buf on q. See #4638 2024-10-24 17:18:01 +02:00
0eb400908d fix(autocmds): force close buffers with q. See #4638 2024-10-24 09:25:03 +02:00
5f432d997e fix(autocmds): change mapping for lazyvim_close_with_q (#4638)
## Description
Currently `checkhealth` buffers stay visible on `bufferline` when you
close them with `q`. Use `:bd` instead to delete the buffer from
bufferlist. `vim.schedule` is needed because `LspInfo` adds its own
mapping to close the window (see
[here](edd9591199/lua/lspconfig/health.lua (L328))),
so we need to overwrite it.

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

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

## Screenshots

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

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-10-24 08:30:17 +02:00
944d214c26 chore(build): auto-generate docs 2024-10-24 05:59:11 +00:00
6570a141c0 fix(catppuccin): fix bufferline integration when no colorscheme is set. Closes #4641 2024-10-24 07:58:14 +02:00
2f6c1f6083 fix(dap): remove explicit load_launchjs call (#4634)
## Description

The explicit call to `load_launchjs` is unnecessary, since after
https://github.com/mfussenegger/nvim-dap/pull/1237 `.vscode/launch.json`
files are loaded automatically.

## Related Issue(s)
Fixes #4432


## 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-10-23 16:03:06 +02:00
7c7c196a78 chore(main): release 12.43.0 (#4630)
🤖 I have created a release *beep* *boop*
---


##
[12.43.0](https://github.com/LazyVim/LazyVim/compare/v12.42.0...v12.43.0)
(2024-10-23)


### Features

* **catppuccin:** bufferline integration. Closes
[#4583](https://github.com/LazyVim/LazyVim/issues/4583). Closes
[#4581](https://github.com/LazyVim/LazyVim/issues/4581)
([917c685](917c685c1f))
* **extras:** expose `prios` to users for customization
([#4587](https://github.com/LazyVim/LazyVim/issues/4587))
([e46cb62](e46cb62a17))
* **keymaps:** allow `v:count1` when moving lines
([#4618](https://github.com/LazyVim/LazyVim/issues/4618))
([b4eb4e1](b4eb4e1f4a))


### Bug Fixes

* **folds:** enable folds when treesitter available. Fixes
[#4563](https://github.com/LazyVim/LazyVim/issues/4563)
([fe7003d](fe7003de50))

---
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-10-23 11:55:48 +02:00
0f5fa439e5 refactor(cmp): add optional where necessary (#4557)
## Description
Makes it easier to disable it for users who want to try other completion
engines, without it being pulled back by some Extra.

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

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

## Screenshots

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

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-10-23 11:44:27 +02:00
b4eb4e1f4a feat(keymaps): allow v:count1 when moving lines (#4618)
## Description
Allow user to use `v:count1` when moving lines
<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

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

## Screenshots

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

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-10-23 11:40:31 +02:00
fe7003de50 fix(folds): enable folds when treesitter available. Fixes #4563 2024-10-23 11:32:21 +02:00
e46cb62a17 feat(extras): expose prios to users for customization (#4587)
## Description
Offer to users capability to customize priorities of the Extras.
<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

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

## Screenshots

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

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-10-23 11:26:14 +02:00
27f53eaa1e chore(build): auto-generate docs 2024-10-23 09:24:14 +00:00
917c685c1f feat(catppuccin): bufferline integration. Closes #4583. Closes #4581 2024-10-23 11:23:09 +02:00
13a4a84e34 chore(main): release 12.42.0 (#4535)
🤖 I have created a release *beep* *boop*
---


##
[12.42.0](https://github.com/LazyVim/LazyVim/compare/v12.41.0...v12.42.0)
(2024-10-04)


### Features

* **root:** provide `vim.g.root_lsp_ignore` to ignore LSP servers
([#4332](https://github.com/LazyVim/LazyVim/issues/4332))
([90a9231](90a92312ae))


### Bug Fixes

* **gitsigns:** change name of filetype blame
([#4243](https://github.com/LazyVim/LazyVim/issues/4243))
([3e257fd](3e257fdb88))
* **neotest:** properly initialize adapter with call table. Fixes
[#4538](https://github.com/LazyVim/LazyVim/issues/4538)
([327e829](327e829c15))

---
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-10-05 00:01:48 +02:00
c49b788319 chore(build): auto-generate docs 2024-10-04 21:51:19 +00:00
327e829c15 fix(neotest): properly initialize adapter with call table. Fixes #4538 2024-10-04 23:50:15 +02:00
90a92312ae feat(root): provide vim.g.root_lsp_ignore to ignore LSP servers (#4332)
## Description
This provides `vim.g.root_lsp_ignore` for users to customize which LSP
servers should be taken into account when evaluating the LSP `root_dir`.
<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

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

## Screenshots

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

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-10-03 15:55:25 +02:00
3b8f6554f4 chore(build): auto-generate docs 2024-10-03 13:48:11 +00:00
d2bd3114c0 style(typo): vimtext -> vimtex (#4530)
Typo: `vimtext` -> `vimtex`
2024-10-03 15:47:41 +02:00
3e257fdb88 fix(gitsigns): change name of filetype blame (#4243)
## Description
There was a change in `gitsigns` filetype name for blame.
<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

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

## Screenshots

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

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-10-03 15:47:09 +02:00
d5a4ced75a chore(main): release 12.41.0 (#4526)
🤖 I have created a release *beep* *boop*
---


##
[12.41.0](https://github.com/LazyVim/LazyVim/compare/v12.40.0...v12.41.0)
(2024-10-02)


### Features

* **rust:** update rustaceanvim
([#4477](https://github.com/LazyVim/LazyVim/issues/4477))
([04515b1](04515b1399))
* **toggle:** add more `M.wk` fields for better user customization
([#4521](https://github.com/LazyVim/LazyVim/issues/4521))
([57c0c0b](57c0c0bc9f))


### Bug Fixes

* **extras:** migrate away from deprecated `get_target_window()` in
mini-files ([#4479](https://github.com/LazyVim/LazyVim/issues/4479))
([b110550](b110550393))

---
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-10-02 11:29:17 +02:00
04515b1399 feat(rust): update rustaceanvim (#4477)
The recommended version of rustaceanvim has changed to 5.x, which brings
in a lot of improvements.

## Description

Version 5.x of rustaceanvim has a lot of improvements over 4.x, and is
the recommended version according to its maintainer.

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-10-02 10:41:44 +02:00
b110550393 fix(extras): migrate away from deprecated get_target_window() in mini-files (#4479)
## Description

This method is deprecated in the most recent version of mini-files:
a3a9cce821/lua/mini/files.lua (L1060-L1068),
which causes a warning message to be displayed every time the
`<leader>wv` and similar commands are used from the mini file browser.

I've tested this change locally and it gets rid of the warning message.

## Screenshots
Warning message without this fix:
<img width="1355" alt="image"
src="https://github.com/user-attachments/assets/cf5dc674-6054-4cb2-9e9b-3b0bb03dd5ca">

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-10-02 10:23:26 +02:00
57c0c0bc9f feat(toggle): add more M.wk fields for better user customization (#4521)
## Description
Add to `M.wk` fields for `icon`, `color_enabled` and `color_disabled`
for more granual user customization.
<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

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

## Screenshots

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

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-10-02 10:22:08 +02:00
dee5e18cf6 chore(main): release 12.40.0 (#4522)
🤖 I have created a release *beep* *boop*
---


##
[12.40.0](https://github.com/LazyVim/LazyVim/compare/v12.39.0...v12.40.0)
(2024-10-02)


### Features

* **lang:** add ts_ls to lsp config
([#4406](https://github.com/LazyVim/LazyVim/issues/4406))
([34f0e56](34f0e568d4))


### Bug Fixes

* **extras:** rename `lspconfig.server_configurations` to
`lspconfig.configs`
([#4518](https://github.com/LazyVim/LazyVim/issues/4518))
([7432574](74325743e7))
* **lsp:** backward compat with lspconfig refactor. Fixes
[#4525](https://github.com/LazyVim/LazyVim/issues/4525). See
[#4518](https://github.com/LazyVim/LazyVim/issues/4518)
([6e40252](6e4025229d))
* **render-markdown:** remove redundant `opts.file_types`
([#4506](https://github.com/LazyVim/LazyVim/issues/4506))
([9b17672](9b1767205c))

---
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-10-02 10:19:57 +02:00
6e4025229d fix(lsp): backward compat with lspconfig refactor. Fixes #4525. See #4518 2024-10-02 10:18:21 +02:00
34f0e568d4 feat(lang): add ts_ls to lsp config (#4406)
## Description

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

In this [PR](https://github.com/neovim/nvim-lspconfig/pull/3232),
tsserver is renamed to ts_ls, but it hasn't been released yet.

Therefore, ts_ls is added to the LSP configuration in case the user
updates their plugins locally.

## Related Issue(s)

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

## Screenshots

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

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-10-02 09:32:17 +02:00
9b1767205c fix(render-markdown): remove redundant opts.file_types (#4506)
## Description
After
cb9a5e2412
there's no need for defining filetypes both in Lazy's `ft` and the
plugin's `opts.file_types`.
<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

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

## Screenshots

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

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-10-02 09:26:05 +02:00
b6ff54bb95 chore(build): auto-generate docs 2024-10-02 07:25:07 +00:00
74325743e7 fix(extras): rename lspconfig.server_configurations to lspconfig.configs (#4518)
## Description


bedb2a0df1
introduces a change to the Lua module structure for `nvim-lspconfig`
that broke `tailwindcss`. Tried to also address all the other usages of
`lspconfig.server_configurations` within the ecosystem.

## Screenshots

![mason-lspconfig
nvim](https://github.com/user-attachments/assets/bc9f80f0-3386-436f-8f86-abfcb311cec2)


## Checklist

- [X] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-10-02 09:24:02 +02:00
a1c3ec4cd4 chore(main): release 12.39.0 (#4376)
🤖 I have created a release *beep* *boop*
---


##
[12.39.0](https://github.com/LazyVim/LazyVim/compare/v12.38.2...v12.39.0)
(2024-09-18)


### Features

* **cmp:** better c-n and c-p mapping fallback. Fixes
[#4414](https://github.com/LazyVim/LazyVim/issues/4414)
([86d4f14](86d4f14bc8))
* **lazygit:** allow user to override LazyVim config with custom file
([#4367](https://github.com/LazyVim/LazyVim/issues/4367))
([41a8f3a](41a8f3a5fb))
* **persistence:** added leader-qS to select a session
([5a0122b](5a0122b619))
* **vscode:** make use of vscode builtin terminal
([#4392](https://github.com/LazyVim/LazyVim/issues/4392))
([ead5955](ead5955bef))


### Bug Fixes

* **extra:** make copilot-chat.lua fallback to the latest model
([#4411](https://github.com/LazyVim/LazyVim/issues/4411))
([ae17b32](ae17b321c7))
* **grug:** grug_far -&gt; grug.open
([#4404](https://github.com/LazyVim/LazyVim/issues/4404))
([746ea8f](746ea8f1e6))
* **markdown-preview:** unknown function `mkdp#util#install`
([#4196](https://github.com/LazyVim/LazyVim/issues/4196))
([b892861](b892861bde))
* **ocaml:** get_language_id
([#4327](https://github.com/LazyVim/LazyVim/issues/4327))
([6dcd979](6dcd9794b1))
* **omnisharp:** use Go To Definition with fzf.lua
([#4260](https://github.com/LazyVim/LazyVim/issues/4260))
([39ca76c](39ca76c960))
* **toggle:** diagnostics enable/disable. See
[#4205](https://github.com/LazyVim/LazyVim/issues/4205)
([3dbace9](3dbace941e))
* **toggle:** make `diagnostics` compatible with nvim-0.9.5
([#4205](https://github.com/LazyVim/LazyVim/issues/4205))
([c012f85](c012f85959))
* **vue:** ensure css treesitter installed
([#4308](https://github.com/LazyVim/LazyVim/issues/4308))
([627215a](627215a72b))

---
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-09-18 20:46:29 +02:00
39ca76c960 fix(omnisharp): use Go To Definition with fzf.lua (#4260)
## Description

There was a problem with Omnisharp with fzf.lua enabled instead of
telescope. As discussed in #4258, this change makes Go To Definition
work with fzf.lua.

## Related Issue(s)

  - Fixes #4258 

## Checklist

- [x ] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-09-18 08:22:58 +02:00
627215a72b fix(vue): ensure css treesitter installed (#4308)
## Description

If css treesitter is not installed(the current), <style> in vue file
will use wrong commentstring, ts-comments.nvim or
nvim-ts-context-commentstring both. so ensure it's installed.

## Related Issue(s)

explained: [in
https://github.com/JoosepAlviste/nvim-ts-context-commentstring/issues/117](https://github.com/JoosepAlviste/nvim-ts-context-commentstring/issues/117#issuecomment-2287909324)
close https://github.com/LazyVim/LazyVim/issues/4292
2024-09-18 08:22:05 +02:00
6dcd9794b1 fix(ocaml): get_language_id (#4327)
## Description
This fixes the error users get from local function `get_language_id`. 

From looking into [nvim-lspconfig
ocamllsp](https://github.com/neovim/nvim-lspconfig/blob/master/lua/lspconfig/server_configurations/ocamllsp.lua)
and other googling around, namely [tjdevries config
files](9b790b90c1/lua/custom/plugins/lsp.lua (L108-L115))
and [another
one](e31c0d61fd/nvim/after/plugin/lspconfig.lua (L67)),
it seems that we can directly set these as filetypes foregoing the
mapping via the additional local function which would also need the
[nvim-lspconfig language_id
mapping](d4814330b2/lua/lspconfig/server_configurations/ocamllsp.lua (L3-L10)).

Please bear in mind I don't do any Ocaml, so it would be great if other
users who do Ocaml could test this PR.
<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

## Related Issue(s)
Closes #4326
<!--
  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-09-18 08:20:43 +02:00
86d4f14bc8 feat(cmp): better c-n and c-p mapping fallback. Fixes #4414 2024-09-18 08:20:01 +02:00
d67be9a9fb chore(build): auto-generate docs 2024-09-18 06:17:33 +00:00
ead5955bef feat(vscode): make use of vscode builtin terminal (#4392)
## Description

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

**I don't know how to properly handle cwd so it's implemented as a
simple toggle**

## Related Issue(s)

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

## Checklist

- [X] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-09-18 08:16:29 +02:00
4cb12312cf chore(build): auto-generate docs 2024-09-16 06:47:53 +00:00
746ea8f1e6 fix(grug): grug_far -> grug.open (#4404)
## Description

Just a very simple fix to use the updated method in grug to set the
options for the dependency. Just ran across the issue debuging search
and replace on my setup (was not the issue).

This is not breaking.  
## Related Issue(s)

N/A
## Screenshots
N/A

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-09-16 08:47:31 +02:00
ae17b321c7 fix(extra): make copilot-chat.lua fallback to the latest model (#4411)
## Description

CopilotChat upgraded to gpt-4o early in August
2c4d2954f9
but the LazyVim plugin is still running with opts of gpt-4. I thought
about changing model to the latest here, but I feel this means more
maintainability for an option which generally is expected to point to
the latest model, and the upstream opts of CopilotChat seem to keep up
with that already.

## Related Issue(s)
None

## Screenshots
None

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-09-16 08:46:52 +02:00
3dbace941e fix(toggle): diagnostics enable/disable. See #4205 2024-08-31 12:34:45 +02:00
c012f85959 fix(toggle): make diagnostics compatible with nvim-0.9.5 (#4205)
## Description
This makes `toggle.diagnostics` compatible with Neovim 0.9.5 (though not
sure about the metatable callables, since `set` there accepts a boolean
from `get` state).

Please make whatever changes you deem necessary or disregard as a whole
for a better approach I haven't been able to think of.
<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

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

## Screenshots

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

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-08-31 09:44:52 +02:00
b892861bde fix(markdown-preview): unknown function mkdp#util#install (#4196)
## Description
This fixes the problem when checking for updates and trying to build and
the user encounters the error `unknown function mkdp#util#install`.

As per https://github.com/iamcco/markdown-preview.nvim/pull/691
<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

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

## Screenshots

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

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-08-31 09:43:48 +02:00
5a0122b619 feat(persistence): added leader-qS to select a session 2024-08-31 09:27:14 +02:00
41a8f3a5fb feat(lazygit): allow user to override LazyVim config with custom file (#4367)
## Description
This takes into consideration an additional file, if it exists, to
extend `LG_CONFIG_FILE` environment variable, so that users can
overwrite easier default LazyVim options set for lazygit in
`lazygit-theme.yml`. It's not desirable to directly change
`lazygit-theme.yml` as the values are hardcoded and regenerated upon
colorscheme change.
<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

## Related Issue(s)
Fixes #4364. Ideally, the problem about `nvim-remote` on Windows should
be fixed on lazygit's side, so this is just kind of a hotfix in the
meantime. Feel free to disregard this if not desirable.
<!--
  If this PR fixes any issues, please link to the issue here.
  - Fixes #<issue_number>
-->

## Screenshots

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

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-08-31 09:18:20 +02:00
393b7e4f46 chore(build): auto-generate docs 2024-08-31 07:17:40 +00:00
1d2c0a5cf4 chore(markdown): markdown.nvim was renamed to render-markdown.nvim (#4259)
As described in
aeb5cec617
2024-08-31 09:16:45 +02:00
12818a6cb4 chore(main): release 12.38.2 (#4178)
🤖 I have created a release *beep* *boop*
---


##
[12.38.2](https://github.com/LazyVim/LazyVim/compare/v12.38.1...v12.38.2)
(2024-07-25)


### Bug Fixes

* **news:** pcall diag when showing news for older Neovim versions
([94bf4f9](94bf4f9324))

---
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-07-25 11:07:00 +02:00
deceafc0f9 chore(build): auto-generate docs 2024-07-25 08:56:05 +00:00
94bf4f9324 fix(news): pcall diag when showing news for older Neovim versions 2024-07-25 10:55:08 +02:00
bcbab77f0c chore(main): release 12.38.1 (#4167)
🤖 I have created a release *beep* *boop*
---


##
[12.38.1](https://github.com/LazyVim/LazyVim/compare/v12.38.0...v12.38.1)
(2024-07-24)


### Bug Fixes

* **autcmds:** added grug-far to close with q
([3282721](328272144c))

---
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-07-24 18:49:45 +02:00
328272144c fix(autcmds): added grug-far to close with q 2024-07-24 18:18:00 +02:00
71b2690582 chore(main): release 12.38.0 (#4158)
🤖 I have created a release *beep* *boop*
---


##
[12.38.0](https://github.com/LazyVim/LazyVim/compare/v12.37.0...v12.38.0)
(2024-07-24)


### Features

* **markdown:** markdown-render toggle
([c8d0faf](c8d0faf9b1))
* **markdown:** replace `headlines.nvim` by `markdown.nvim`
([#4139](https://github.com/LazyVim/LazyVim/issues/4139))
([264abdf](264abdf9d5))

---
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-07-24 08:30:15 +02:00
c8d0faf9b1 feat(markdown): markdown-render toggle 2024-07-24 08:21:36 +02:00
264abdf9d5 feat(markdown): replace headlines.nvim by markdown.nvim (#4139)
Okay, so
https://github.com/MeanderingProgrammer/markdown.nvim?tab=readme-ov-file
is a new kid on the block that I've been enjoying a lot. It replaces
headlines.nvim.

This new extra is a way for folks to try markdown.nvim effortlessly.

(Should I add here everything from the current markdown extra to make
this extra a complete drop-in replacement?)

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-07-24 08:02:56 +02:00
489a7a8e84 chore(main): release 12.37.0 (#4147)
🤖 I have created a release *beep* *boop*
---


##
[12.37.0](https://github.com/LazyVim/LazyVim/compare/v12.36.0...v12.37.0)
(2024-07-24)


### Features

* **catppuccin:** enable grug-far integration
([#4156](https://github.com/LazyVim/LazyVim/issues/4156))
([4bf6d85](4bf6d856a8))
* **elixir:** add elixirls code actions
([#4148](https://github.com/LazyVim/LazyVim/issues/4148))
([f94a059](f94a0591b3))


### Bug Fixes

* **dap:** don't mess up DAP adapters provided by nvim-dap-python
([#4141](https://github.com/LazyVim/LazyVim/issues/4141))
([940d7df](940d7df59a))
* **dap:** extend dap.configurations from .vscode/launch.json
([#4106](https://github.com/LazyVim/LazyVim/issues/4106))
([caf227d](caf227dd08))
* **grug-far:** use new transient option
([1c2be20](1c2be200c1))
* **keymaps:** leader-wd
([f0d8b8b](f0d8b8b293))
* **keymaps:** leader-wm
([391f506](391f506295))
* **news:** deprecated API
([f6cd4a3](f6cd4a38c6))

---
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-07-24 07:05:03 +02:00
391f506295 fix(keymaps): leader-wm 2024-07-24 07:03:45 +02:00
ec8de342d7 chore(build): auto-generate docs 2024-07-24 04:27:22 +00:00
EJ
4bf6d856a8 feat(catppuccin): enable grug-far integration (#4156)
## Description

This enables the recently added `grug-far` integration in catppuccin -
https://github.com/catppuccin/nvim/pull/735

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-07-24 06:26:27 +02:00
940d7df59a fix(dap): don't mess up DAP adapters provided by nvim-dap-python (#4141)
## Description

* mason-nvim-dap.nvim ships a `Python: Launch file` adapter which does
the same thing as `Launch file` of nvim-dap-python, providing both
doesn't make sense and confuses the users.
* mason-nvim-dap.nvim unexpectedly overrides nvim-dap-python's adapters
and breaks its venv detection. As a result, user programs are always
executed in mason debugpy venv rather than the activated one.


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

## Related Issue(s)

Fixes #3064

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

## Screenshots

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

## Checklist

- [X] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-07-23 21:27:29 +02:00
caf227dd08 fix(dap): extend dap.configurations from .vscode/launch.json (#4106)
## Description

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

This PR allows the nvim-dap module to read from vscode's launch.json and
add those configurations to the ones in nvim-dap.

## Related Issue(s)

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

## Screenshots

Before:

<img width="1137" alt="image"
src="https://github.com/user-attachments/assets/22978298-dbe1-44f5-92ac-c981197b22ae">



After:

<img width="1004" alt="image"
src="https://github.com/user-attachments/assets/3521b75e-6e32-40f4-9172-f52f39077441">


## Checklist

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

---------

Co-authored-by: Micah Halter <micah@mehalter.com>
2024-07-23 17:05:18 +02:00
f0d8b8b293 fix(keymaps): leader-wd 2024-07-23 08:29:08 +02:00
5727da6ff7 chore(build): auto-generate docs 2024-07-23 05:18:13 +00:00
f6cd4a38c6 fix(news): deprecated API 2024-07-23 07:17:18 +02:00
f94a0591b3 feat(elixir): add elixirls code actions (#4148)
This is a refactoring of #3846  with the changes:

- Use `Lazyvim.lsp.execute` on keymaps to make everything simpler;
- Remove expandMacro. 

Closes #3846

---------

Co-authored-by: Ahmed Kamal <ahmed@moon-i.com.au>
2024-07-23 00:11:30 +02:00
1c2be200c1 fix(grug-far): use new transient option 2024-07-22 23:26:03 +02:00
03968eb3f0 chore(main): release 12.36.0 (#4135)
🤖 I have created a release *beep* *boop*
---


##
[12.36.0](https://github.com/LazyVim/LazyVim/compare/v12.35.1...v12.36.0)
(2024-07-22)


### Features

* **grug-far:** no longer needed to call visual replace separately
([72d0cad](72d0cad353))

---
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-07-22 14:25:04 +02:00
5626d98d1c ci: update 2024-07-22 14:24:32 +02:00
3a87ce4afb chore(build): auto-generate docs 2024-07-22 06:39:25 +00:00
72d0cad353 feat(grug-far): no longer needed to call visual replace separately 2024-07-22 08:38:34 +02:00
8db2f3af39 chore(main): release 12.35.1 (#4131)
🤖 I have created a release *beep* *boop*
---


##
[12.35.1](https://github.com/LazyVim/LazyVim/compare/v12.35.0...v12.35.1)
(2024-07-21)


### Bug Fixes

* **grug-far:** only prefill files filter when file has an extension.
Closes [#4130](https://github.com/LazyVim/LazyVim/issues/4130)
([6411ab0](6411ab0897))

---
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-07-21 17:34:32 +02:00
6411ab0897 fix(grug-far): only prefill files filter when file has an extension. Closes #4130 2024-07-21 17:23:36 +02:00
fca038b433 chore(main): release 12.35.0 (#4128)
🤖 I have created a release *beep* *boop*
---


##
[12.35.0](https://github.com/LazyVim/LazyVim/compare/v12.34.0...v12.35.0)
(2024-07-21)


### Features

* **python:** default to new ruff instead of ruff_lsp
([#4126](https://github.com/LazyVim/LazyVim/issues/4126))
([61ce1cf](61ce1cfaaf))

---
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-07-21 15:53:07 +02:00
76bc7b4022 chore(build): auto-generate docs 2024-07-21 10:25:26 +00:00
61ce1cfaaf feat(python): default to new ruff instead of ruff_lsp (#4126)
## Description

Change default python ruff lsp from `ruff_lsp` to `ruff`. It is now
marked as stable. I have been using it for a few days without any
problems. I use python for relatively small to medium projects. Maybe
someone who is using python more rigorously has better feedback.

References:

https://github.com/astral-sh/ruff-lsp (see note)
https://github.com/astral-sh/ruff/releases/tag/0.5.3
https://docs.astral.sh/ruff/editors/setup/#neovim

Also the issue in https://github.com/LazyVim/LazyVim/pull/3057 has been
resolved. I tested it and I only get 1 `ruff server` process per nvim
instance. The processes close correctly when nvim is closed.

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-07-21 12:24:28 +02:00
43dbe0e60d chore(main): release 12.34.0 (#4121)
🤖 I have created a release *beep* *boop*
---


##
[12.34.0](https://github.com/LazyVim/LazyVim/compare/v12.33.0...v12.34.0)
(2024-07-20)


### Features

* **editor:** replace nvim-spectre with grug-far.nvim
([#4099](https://github.com/LazyVim/LazyVim/issues/4099))
([0d561a3](0d561a3226))
* **indent-blankline:** add which-key toggles
([#4122](https://github.com/LazyVim/LazyVim/issues/4122))
([a997152](a997152eb2))


### Bug Fixes

* **conform:** changes for new conform.nvim config
([eed91a3](eed91a3e4c))
* **toggle:** safe toggle get
([c8ab5d7](c8ab5d7554))


### Performance Improvements

* **core:** defer clipboard because xsel and pbcopy can be slow
([#4120](https://github.com/LazyVim/LazyVim/issues/4120))
([578f06e](578f06e140))

---
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-07-20 22:27:04 +02:00
a997152eb2 feat(indent-blankline): add which-key toggles (#4122)
## Description

Add which-key toggle mappings for toggling both the indention guides,
and also scope highlight on a per buffer basis.

## Screenshots


![2024-07-20_08-16](https://github.com/user-attachments/assets/7b282868-c035-4f71-97dd-5738cd953713)

## 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-07-20 22:14:33 +02:00
c8ab5d7554 fix(toggle): safe toggle get 2024-07-20 22:06:16 +02:00
0d561a3226 feat(editor): replace nvim-spectre with grug-far.nvim (#4099)
## Description

I'm considering to replace
[nvim-spectre](https://github.com/nvim-pack/nvim-spectre) with
[grug-far.nvim](https://github.com/MagicDuck/grug-far.nvim).

It has a better ui and I like the workflow better.

I won't merge this right away. I'm mostly looking for feedback on
whether this would be a good thing and whether the defaults option I've
added seem ok.

## Related Issue(s)

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

## Screenshots


![image](https://github.com/user-attachments/assets/bc44e35b-e033-4769-ad40-cdfe9e3482f4)

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-07-20 21:39:39 +02:00
eed91a3e4c fix(conform): changes for new conform.nvim config 2024-07-20 17:14:07 +02:00
3d1f961232 refactor: which-key mappings 2024-07-20 17:04:01 +02:00
6f91b406dd chore(build): auto-generate docs 2024-07-20 09:49:07 +00:00
578f06e140 perf(core): defer clipboard because xsel and pbcopy can be slow (#4120)
## Description

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

See [this](https://github.com/LazyVim/LazyVim/discussions/4112)
discussion

TLDR: 
Startup time performance is affected quite significantly when the
clipboard provider is `xsel`(linux) or `pbcopy`(macos). I expect an
improvement in these cases, especially on older pc's.

This PR resets `vim.opt.clipboard` after the `options` are loaded. Then,
on `VeryLazy`, the setting is restored.

I also tested with `yanky`.

Relevant prints:

1. Before resetting `vim.opt.clipboard` in `init`,
`vim.print(vim.opt.clipboard)` yields a table which will be captured:

```lua
--- fields
_name = "clipboard",
_value = "unnamedplus",
--- more fields
```

2. Set `vim.opt.clipboard = ""` and `vim.print(vim.opt.clipboard)`, also
yields a table:

```lua
--- fields
_name = "clipboard",
_value = "",
--- more fields
```


## Related Issue(s)

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

## Screenshots

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

## Checklist

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

Co-authored-by: abeldekat <abel@nomail.com>
2024-07-20 11:48:11 +02:00
64afb5f007 chore(main): release 12.33.0 (#4102)
🤖 I have created a release *beep* *boop*
---


##
[12.33.0](https://github.com/LazyVim/LazyVim/compare/v12.32.0...v12.33.0)
(2024-07-19)


### Features

* **extras:** improve ruby extra by letting user chose
([#3652](https://github.com/LazyVim/LazyVim/issues/3652))
([7839498](7839498108))
* **lang:** add Lean 4 support
([#4080](https://github.com/LazyVim/LazyVim/issues/4080))
([3e29fdf](3e29fdf478))
* **lang:** add OCaml
([#4079](https://github.com/LazyVim/LazyVim/issues/4079))
([a219e10](a219e105b0))


### Bug Fixes

* **ui:** trouble lualine component
([f9fdb35](f9fdb356f2))

---
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-07-19 11:50:05 +02:00
7839498108 feat(extras): improve ruby extra by letting user chose (#3652)
## What is this PR for?

Shopify started working on its own LSP
(https://github.com/Shopify/ruby-lsp) and it performs way better than
Solargraph which has a lot of limitations. This paired with sorbet gives
better IntelliSense when navigating the code.

This PR follows the same approach as Python and lets the user configure
through vim.g options the lsp and formatter for ruby, without overriding
any configuration.

## Does this PR fix an existing issue?

One caveat though is that RubyLsp does not work very well with NeoVim <
0.10 https://github.com/Shopify/ruby-lsp/blob/main/EDITORS.md#neovim

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-07-19 11:09:57 +02:00
3e29fdf478 feat(lang): add Lean 4 support (#4080)
## Description

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

Adds language support for lean, a popular proof assistant and theorem
prover.

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

Language Server

<img width="1510" alt="lsp"
src="https://github.com/user-attachments/assets/28c29cae-eca4-4dfa-a4a4-462551f5cfd8">

Lean Execution (infobox on the right)

<img width="1510" alt="goals"
src="https://github.com/user-attachments/assets/e195dbeb-70d6-4f09-90bf-dbe289423bec">

Keymaps

<img width="1510" alt="keymaps"
src="https://github.com/user-attachments/assets/2451c3d2-b855-4fb5-9d30-33305274c52c">

Many More Commands

<img width="1510" alt="lots of commands"
src="https://github.com/user-attachments/assets/e7b7eb1d-0f4e-4d3c-a58b-a87eb7e0319c">

## 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-07-19 09:38:55 +02:00
5795be3c19 chore(build): auto-generate docs 2024-07-19 07:34:55 +00:00
a219e105b0 feat(lang): add OCaml (#4079)
## Description

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

Adds an extra that adds language support for ocaml.

Adds LSP and completions. Fairly simple/small config.

## Related Issue(s)

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

None

## Screenshots

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

<img width="1510" alt="lsp ocaml"
src="https://github.com/user-attachments/assets/0e44c539-332c-415d-9225-bcbb61f37666">


## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-07-19 09:33:49 +02:00
f9fdb356f2 fix(ui): trouble lualine component 2024-07-18 15:45:53 +02:00
0daa957b3c chore(main): release 12.32.0 (#4086)
🤖 I have created a release *beep* *boop*
---


##
[12.32.0](https://github.com/LazyVim/LazyVim/compare/v12.31.0...v12.32.0)
(2024-07-18)


### Features

* **edgy:** added support for grug-far.nvim
([b1a4740](b1a47405b9))
* **terminal:** clear search highlight when opening a terminal
([#4090](https://github.com/LazyVim/LazyVim/issues/4090))
([b5290fd](b5290fd929))
* **toggle:** move toggle notifs to toggle function
([c1b76ee](c1b76ee235))


### Bug Fixes

* **autcmds:** desc for close_with_q
([d6561fd](d6561fd27c))
* **ui:** another typo
([b8bdebe](b8bdebe5be))
* **ui:** typo
([4ac249b](4ac249beaa))

---
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-07-18 10:48:31 +02:00
b8bdebe5be fix(ui): another typo 2024-07-18 10:42:02 +02:00
4ac249beaa fix(ui): typo 2024-07-18 09:30:56 +02:00
d2483f19ce feat(lualine): allow for trouble_lualine to be overriden on buffer (#4096)
## Description

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

Right now there is a default `vim.g.trouble_lualine` being set to
`true`, and only that variable is being checked when deciding if the
trouble output is being appended to the `lualine_c` for the lualine
plugin. This is normally nice in code files, where you can get output
like `packages/src/index.ts > myFunction` but in some filetypes, the
user may not wish for this. In particular, I found if you have files
with the `markdown` type that include long headers, then you can easily
lose the file name by it trying to include the headers in this location.

Considering that one of the `CONTRIBUTING.md` guidelines is `Ensure all
configurations are overridable by the user, using Lazy's specs.`, I
figured that allowing this to be overrideable at the user's discretion
could be a valuable feature.

This would allow the user to override this on file type by including an
autocmd like this in their `lua/config/autocmds.lua` or equivalent:

```lua
-- disable trouble symbols in lualine in text filetypes
vim.api.nvim_create_autocmd("FileType", {
  group = vim.api.nvim_create_augroup("disable_trouble_lualine", { clear = true }),
  pattern = { "text", "plaintex", "typst", "gitcommit", "markdown" },
  callback = function()
    vim.b.trouble_lualine = false
  end,
})
```

## Related Issue(s)

None

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

## Screenshots

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

## Checklist

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

---------

Co-authored-by: jpridemore-allegion <jeremy.pridemore@allegion.com>
2024-07-18 07:21:50 +02:00
87ef93e8a0 chore(build): auto-generate docs 2024-07-18 05:11:12 +00:00
b5290fd929 feat(terminal): clear search highlight when opening a terminal (#4090)
## Description

Often times when opening a terminal or lazygit when a search is active,
words in the terminal are highlighted. In my opinion this is rarely, if
not never intended. This attempts to fixes this behavior. The code of
`terminal.lua` is a bit beyond me, but I believe I have added it to the
right place.

## Related Issue(s)

N/A.

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-07-18 07:10:22 +02:00
d6561fd27c fix(autcmds): desc for close_with_q 2024-07-18 00:41:54 +02:00
b1a47405b9 feat(edgy): added support for grug-far.nvim 2024-07-18 00:21:19 +02:00
c1b76ee235 feat(toggle): move toggle notifs to toggle function 2024-07-17 15:07:04 +02:00
d263cf5dd1 chore(main): release 12.31.0 (#4061)
🤖 I have created a release *beep* *boop*
---


##
[12.31.0](https://github.com/LazyVim/LazyVim/compare/v12.30.0...v12.31.0)
(2024-07-17)


### Features

* **keymaps:** proxy leader-w to ctrl-w
([bab5440](bab54406dc))
* **R:** added new which-key group for new install feature
([#4078](https://github.com/LazyVim/LazyVim/issues/4078))
([5339aca](5339acacec))
* **toggle:** make toggles callable. Fixes
[#4081](https://github.com/LazyVim/LazyVim/issues/4081)
([150523b](150523b77b))
* **treesitter-context:** which-key toggle
([#4059](https://github.com/LazyVim/LazyVim/issues/4059))
([ab01350](ab0135093b))
* **which-key:** dynamic buffer mappings under leader-b
([8d9f2ad](8d9f2ad97e))
* **which-key:** dynamic window mappings under leader-w
([66bba78](66bba787b8))
* **which-key:** leader-w-space starts hydra mode for window mappings
([865bf15](865bf15f1c))

---
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-07-17 12:48:40 +02:00
fd2db9e5ee chore(build): auto-generate docs 2024-07-17 10:44:14 +00:00
8d9f2ad97e feat(which-key): dynamic buffer mappings under leader-b 2024-07-17 12:43:12 +02:00
66bba787b8 feat(which-key): dynamic window mappings under leader-w 2024-07-17 12:42:55 +02:00
865bf15f1c feat(which-key): leader-w-space starts hydra mode for window mappings 2024-07-17 12:42:29 +02:00
bab54406dc feat(keymaps): proxy leader-w to ctrl-w 2024-07-17 12:40:56 +02:00
60b10deeb0 style(toggle): types 2024-07-16 23:54:23 +02:00
150523b77b feat(toggle): make toggles callable. Fixes #4081 2024-07-16 23:34:27 +02:00
1ceac32652 chore(build): auto-generate docs 2024-07-16 16:35:40 +00:00
5339acacec feat(R): added new which-key group for new install feature (#4078)
## Description

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

A new feature was added to `r.nvim` that added a new key bind. This pr
adds that key bind (and group in case more are added) to the current
which-key config.

(I also removed a comment that I made previously for increasing the
width of the which-key window to fit the longer keybind descriptions,
something that eventually was taken out of the previous PR long ago)

## Related Issue(s)

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

None

## Screenshots

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

<img width="154" alt="Screenshot 2024-07-16 at 9 24 54 AM"
src="https://github.com/user-attachments/assets/70336846-cf42-458e-89f3-3e7cf1b94c3f">

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-07-16 18:34:51 +02:00
a1335e59e1 style: fix toggle desc 2024-07-15 23:56:07 +02:00
ab0135093b feat(treesitter-context): which-key toggle (#4059)
## Description

Add a which-key toggle for treesitter-context

## Screenshots


![image](https://github.com/user-attachments/assets/28c02607-a7e8-409c-a190-4fd2db85e8bb)

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-07-15 22:58:34 +02:00
dc8a3a139e chore(update): update repository (#4054)
Automated changes by
[create-pull-request](https://github.com/peter-evans/create-pull-request)
GitHub action

Co-authored-by: folke <292349+folke@users.noreply.github.com>
2024-07-15 17:09:19 +02:00
9eefc6a3aa chore(main): release 12.30.0 (#4036)
🤖 I have created a release *beep* *boop*
---


##
[12.30.0](https://github.com/LazyVim/LazyVim/compare/v12.29.2...v12.30.0)
(2024-07-15)


### Features

* **keymaps:** dynamic which-key icons/descriptions for toggles
([#4050](https://github.com/LazyVim/LazyVim/issues/4050))
([78cf032](78cf0320bf))
* **util.mini:** follow the user's mappings instead of hardcoded values
([#4043](https://github.com/LazyVim/LazyVim/issues/4043))
([8506cb5](8506cb5a98))


### Bug Fixes

* **lsp:** lsp keymaps. Fixes
[#4051](https://github.com/LazyVim/LazyVim/issues/4051)
([706ec4b](706ec4b6b6))
* **yanky:** enable yank history in visual mode
([#4048](https://github.com/LazyVim/LazyVim/issues/4048))
([6911327](6911327a5e))


### Performance Improvements

* **luasnip:** luasnip wasn't lazyloaded
([#4032](https://github.com/LazyVim/LazyVim/issues/4032))
([e80ed32](e80ed322a7))

---
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-07-15 15:49:29 +02:00
78cf0320bf feat(keymaps): dynamic which-key icons/descriptions for toggles (#4050)
## Description

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

## Related Issue(s)

- [ ] Closes #4025

## Screenshots


![image](https://github.com/user-attachments/assets/8453c23c-d560-490c-9f96-a22ea88f45fd)

## Checklist

- [ ] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-07-15 15:47:44 +02:00
706ec4b6b6 fix(lsp): lsp keymaps. Fixes #4051 2024-07-15 14:05:49 +02:00
6911327a5e fix(yanky): enable yank history in visual mode (#4048)
## Description

Being able to select from the yank history is useful if you want to
paste over something else by first selecting the stuff you want to
remove in visual mode.

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-07-15 11:48:58 +02:00
0f2d01dd01 chore(update): update repository (#4047)
Automated changes by
[create-pull-request](https://github.com/peter-evans/create-pull-request)
GitHub action

Co-authored-by: folke <292349+folke@users.noreply.github.com>
2024-07-15 11:19:44 +02:00
448e15862a chore(build): auto-generate docs 2024-07-15 07:07:24 +00:00
8506cb5a98 feat(util.mini): follow the user's mappings instead of hardcoded values (#4043)
Because I use the Colemak-DH keyboard layout, I have mapped 'i' to 'h'.
Therefore, the current mini.ai which_key prompts are inconsistent with
my keymap.


## Description

The names and prefixes used in mini.ai_whichkey() are hardcoded and
should follow the user's mappings.

## Related Issue(s)

No

## Screenshots

No

## Checklist

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

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2024-07-15 09:06:34 +02:00
e80ed322a7 perf(luasnip): luasnip wasn't lazyloaded (#4032)
## Description

this makes the extra luasnip lazy load at the same time as nvim cmp.
just putting `lazy = true` works because `nvim-cmp` when being loaded
with `InsertEnter` also load `cmp-luasnip`, which itself load `LUASNIP`.

you can see the problem in the following discussion
https://github.com/LazyVim/LazyVim/discussions/3966 where luasnip was
not lazy loaded when starting lazyvim. This was also loading nvim-cmp
and all its dep when starting lazyvim, which negatively impacted
performance.

## Related Issue(s)

https://github.com/LazyVim/LazyVim/discussions/3966

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2024-07-14 18:19:28 +02:00
29e285d882 style(persistence): remove unused option 2024-07-14 18:11:24 +02:00
b20be638b3 chore(main): release 12.29.2 (#4035)
🤖 I have created a release *beep* *boop*
---


##
[12.29.2](https://github.com/LazyVim/LazyVim/compare/v12.29.1...v12.29.2)
(2024-07-14)


### Bug Fixes

* **telescope:** better find_command. Fixes
[#4031](https://github.com/LazyVim/LazyVim/issues/4031)
([d39cdb0](d39cdb0596))

---
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-07-14 18:08:14 +02:00
d39cdb0596 fix(telescope): better find_command. Fixes #4031 2024-07-14 18:06:40 +02:00
86 changed files with 1593 additions and 1272 deletions

View File

@ -1,7 +1,6 @@
root = true
[*]
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 2

View File

@ -1,3 +1,3 @@
{
".": "12.29.1"
".": "13.1.0"
}

View File

@ -17,6 +17,8 @@ body:
options:
- label: I have read all the LazyVim docs
required: true
- label: I have updated the plugin to the latest version before submitting this issue
required: true
- label: I have searched the existing issues of LazyVim
required: true
- label: I have searched the existing issues of plugins related to this issue

View File

@ -5,6 +5,7 @@ on:
- cron: "30 1 * * *"
jobs:
ci:
stale:
if: contains(fromJSON('["folke", "LazyVim"]'), github.repository_owner)
uses: folke/github/.github/workflows/stale.yml@main
secrets: inherit

View File

@ -7,6 +7,7 @@ on:
- cron: "0 * * * *"
jobs:
ci:
update:
if: contains(fromJSON('["folke", "LazyVim"]'), github.repository_owner)
uses: folke/github/.github/workflows/update.yml@main
secrets: inherit

File diff suppressed because it is too large Load Diff

20
NEWS.md
View File

@ -1,7 +1,27 @@
# What's new?
## 13.x
- Big new release with a lot of changes and improvements!
- The biggest change is the move of a bunch of core features to
[snacks.nvim](https://github.com/folke/snacks.nvim) and fully
integrating it into **LazyVim**.
- I highly suggest having a look at the **snacks.nvim** documentation
to see all the new features and improvements. Most important changes:
- `Snacks.notifier` for notifications instead of `nvim-notify`
- `Snacks.terminal` is similar to `lazyterm`, but has more features
and creates bottom splits by default (similar to the `edgy` integrating)
## 12.x
- **Markdown Extra**: [headlines.nvim](https://github.com/lukas-reineke/headlines.nvim) has been removed in favor of [markdown.nvim](https://github.com/MeanderingProgrammer/markdown.nvim)
to spice up your markdown files.
- [nvim-spectre](https://github.com/nvim-pack/nvim-spectre) has been removed in favor of [grug-far.nvim](https://github.com/MagicDuck/grug-far.nvim).
**grug-far.nvim** has a great UI and feels more intuitive to use.
- This **news** is now also available on the website at [https://www.lazyvim.org/news](https://www.lazyvim.org/news)
- **prettier** extra now works for all prettier supported filetypes

View File

@ -115,7 +115,7 @@ There's a great video created by [@elijahmanor](https://github.com/elijahmanor)
[![Watch the video](https://img.youtube.com/vi/N93cTbtLCIM/hqdefault.jpg)](https://www.youtube.com/watch?v=N93cTbtLCIM)
[@dusty-phillips](https://github.com/dusty-phillips) is working on a book called
[@dusty-phillips](https://github.com/dusty-phillips) wrote a comprehensive book called
[LazyVim for Ambitious Developers](https://lazyvim-ambitious-devs.phillips.codes)
available for free online.

View File

@ -1,4 +1,4 @@
*LazyVim.txt* For Neovim Last change: 2024 July 14
*LazyVim.txt* For Neovim Last change: 2024 November 09
==============================================================================
Table of Contents *LazyVim-table-of-contents*
@ -102,8 +102,8 @@ Theres a great video created by @elijahmanor
<https://www.youtube.com/watch?v=N93cTbtLCIM>
@dusty-phillips <https://github.com/dusty-phillips> is working on a book called
LazyVim for Ambitious Developers
@dusty-phillips <https://github.com/dusty-phillips> wrote a comprehensive book
called LazyVim for Ambitious Developers
<https://lazyvim-ambitious-devs.phillips.codes> available for free online.

View File

@ -18,7 +18,7 @@ vim.api.nvim_create_autocmd({ "FocusGained", "TermClose", "TermLeave" }, {
vim.api.nvim_create_autocmd("TextYankPost", {
group = augroup("highlight_yank"),
callback = function()
vim.highlight.on_yank()
(vim.hl or vim.highlight).on_yank()
end,
})
@ -55,23 +55,34 @@ vim.api.nvim_create_autocmd("FileType", {
group = augroup("close_with_q"),
pattern = {
"PlenaryTestPopup",
"checkhealth",
"dbout",
"gitsigns-blame",
"grug-far",
"help",
"lspinfo",
"neotest-output",
"neotest-output-panel",
"neotest-summary",
"notify",
"qf",
"snacks_win",
"spectre_panel",
"startuptime",
"tsplayground",
"neotest-output",
"checkhealth",
"neotest-summary",
"neotest-output-panel",
"dbout",
"gitsigns.blame",
},
callback = function(event)
vim.bo[event.buf].buflisted = false
vim.keymap.set("n", "q", "<cmd>close<cr>", { buffer = event.buf, silent = true })
vim.schedule(function()
vim.keymap.set("n", "q", function()
vim.cmd("close")
pcall(vim.api.nvim_buf_delete, event.buf, { force = true })
end, {
buffer = event.buf,
silent = true,
desc = "Quit buffer",
})
end)
end,
})
@ -114,29 +125,3 @@ vim.api.nvim_create_autocmd({ "BufWritePre" }, {
vim.fn.mkdir(vim.fn.fnamemodify(file, ":p:h"), "p")
end,
})
vim.filetype.add({
pattern = {
[".*"] = {
function(path, buf)
return vim.bo[buf]
and vim.bo[buf].filetype ~= "bigfile"
and path
and vim.fn.getfsize(path) > vim.g.bigfile_size
and "bigfile"
or nil
end,
},
},
})
vim.api.nvim_create_autocmd({ "FileType" }, {
group = augroup("bigfile"),
pattern = "bigfile",
callback = function(ev)
vim.b.minianimate_disable = true
vim.schedule(function()
vim.bo[ev.buf].syntax = vim.filetype.match({ buf = ev.buf }) or ""
end)
end,
})

View File

@ -3,7 +3,7 @@ _G.LazyVim = require("lazyvim.util")
---@class LazyVimConfig: LazyVimOptions
local M = {}
M.version = "12.29.1" -- x-release-please-version
M.version = "13.1.0" -- x-release-please-version
LazyVim.config = M
---@class LazyVimOptions
@ -135,7 +135,7 @@ local defaults = {
}
M.json = {
version = 6,
version = 7,
path = vim.g.lazyvim_json or vim.fn.stdpath("config") .. "/lazyvim.json",
data = {
version = nil, ---@type string?
@ -161,6 +161,7 @@ end
---@type LazyVimOptions
local options
local lazy_clipboard
---@param opts? LazyVimOptions
function M.setup(opts)
@ -181,6 +182,9 @@ function M.setup(opts)
M.load("autocmds")
end
M.load("keymaps")
if lazy_clipboard ~= nil then
vim.opt.clipboard = lazy_clipboard
end
LazyVim.format.setup()
LazyVim.news.setup()
@ -285,6 +289,9 @@ function M.init()
-- this is needed to make sure options will be correctly applied
-- after installing missing plugins
M.load("options")
-- defer built-in clipboard handling: "xsel" and "pbcopy" can be slow
lazy_clipboard = vim.opt.clipboard
vim.opt.clipboard = ""
if vim.g.deprecation_warnings == false then
vim.deprecate = function() end

View File

@ -23,12 +23,12 @@ map("n", "<C-Left>", "<cmd>vertical resize -2<cr>", { desc = "Decrease Window Wi
map("n", "<C-Right>", "<cmd>vertical resize +2<cr>", { desc = "Increase Window Width" })
-- Move Lines
map("n", "<A-j>", "<cmd>m .+1<cr>==", { desc = "Move Down" })
map("n", "<A-k>", "<cmd>m .-2<cr>==", { desc = "Move Up" })
map("n", "<A-j>", "<cmd>execute 'move .+' . v:count1<cr>==", { desc = "Move Down" })
map("n", "<A-k>", "<cmd>execute 'move .-' . (v:count1 + 1)<cr>==", { desc = "Move Up" })
map("i", "<A-j>", "<esc><cmd>m .+1<cr>==gi", { desc = "Move Down" })
map("i", "<A-k>", "<esc><cmd>m .-2<cr>==gi", { desc = "Move Up" })
map("v", "<A-j>", ":m '>+1<cr>gv=gv", { desc = "Move Down" })
map("v", "<A-k>", ":m '<-2<cr>gv=gv", { desc = "Move Up" })
map("v", "<A-j>", ":<C-u>execute \"'<,'>move '>+\" . v:count1<cr>gv=gv", { desc = "Move Down" })
map("v", "<A-k>", ":<C-u>execute \"'<,'>move '<-\" . (v:count1 + 1)<cr>gv=gv", { desc = "Move Up" })
-- buffers
map("n", "<S-h>", "<cmd>bprevious<cr>", { desc = "Prev Buffer" })
@ -37,7 +37,12 @@ map("n", "[b", "<cmd>bprevious<cr>", { desc = "Prev Buffer" })
map("n", "]b", "<cmd>bnext<cr>", { desc = "Next Buffer" })
map("n", "<leader>bb", "<cmd>e #<cr>", { desc = "Switch to Other Buffer" })
map("n", "<leader>`", "<cmd>e #<cr>", { desc = "Switch to Other Buffer" })
map("n", "<leader>bd", LazyVim.ui.bufremove, { desc = "Delete Buffer" })
map("n", "<leader>bd", function()
Snacks.bufdelete()
end, { desc = "Delete Buffer" })
map("n", "<leader>bo", function()
Snacks.bufdelete.other()
end, { desc = "Delete Other Buffers" })
map("n", "<leader>bD", "<cmd>:bd<cr>", { desc = "Delete Buffer and Window" })
-- Clear search with <esc>
@ -115,38 +120,30 @@ map("n", "[w", diagnostic_goto(false, "WARN"), { desc = "Prev Warning" })
-- stylua: ignore start
-- toggle options
map("n", "<leader>uf", function() LazyVim.format.toggle() end, { desc = "Toggle Auto Format (Global)" })
map("n", "<leader>uF", function() LazyVim.format.toggle(true) end, { desc = "Toggle Auto Format (Buffer)" })
map("n", "<leader>us", function() LazyVim.toggle("spell") end, { desc = "Toggle Spelling" })
map("n", "<leader>uw", function() LazyVim.toggle("wrap") end, { desc = "Toggle Word Wrap" })
map("n", "<leader>uL", function() LazyVim.toggle("relativenumber") end, { desc = "Toggle Relative Line Numbers" })
map("n", "<leader>ul", function() LazyVim.toggle.number() end, { desc = "Toggle Line Numbers" })
map("n", "<leader>ud", function() LazyVim.toggle.diagnostics() end, { desc = "Toggle Diagnostics" })
local conceallevel = vim.o.conceallevel > 0 and vim.o.conceallevel or 3
map("n", "<leader>uc", function() LazyVim.toggle("conceallevel", false, {0, conceallevel}) end, { desc = "Toggle Conceal" })
if vim.lsp.buf.inlay_hint or vim.lsp.inlay_hint then
map( "n", "<leader>uh", function() LazyVim.toggle.inlay_hints() end, { desc = "Toggle Inlay Hints" })
LazyVim.format.snacks_toggle():map("<leader>uf")
LazyVim.format.snacks_toggle(true):map("<leader>uF")
Snacks.toggle.option("spell", { name = "Spelling"}):map("<leader>us")
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.treesitter():map("<leader>uT")
Snacks.toggle.option("background", { off = "light", on = "dark" , name = "Dark Background"}):map("<leader>ub")
if vim.lsp.inlay_hint then
Snacks.toggle.inlay_hints():map("<leader>uh")
end
map("n", "<leader>uT", function() if vim.b.ts_highlight then vim.treesitter.stop() else vim.treesitter.start() end end, { desc = "Toggle Treesitter Highlight" })
map("n", "<leader>ub", function() LazyVim.toggle("background", false, {"light", "dark"}) end, { desc = "Toggle Background" })
-- lazygit
map("n", "<leader>gg", function() LazyVim.lazygit( { cwd = LazyVim.root.git() }) end, { desc = "Lazygit (Root Dir)" })
map("n", "<leader>gG", function() LazyVim.lazygit() end, { desc = "Lazygit (cwd)" })
map("n", "<leader>gb", LazyVim.lazygit.blame_line, { desc = "Git Blame Line" })
map("n", "<leader>gB", LazyVim.lazygit.browse, { desc = "Git Browse" })
map("n", "<leader>gf", function()
local git_path = vim.api.nvim_buf_get_name(0)
LazyVim.lazygit({args = { "-f", vim.trim(git_path) }})
end, { desc = "Lazygit Current File History" })
map("n", "<leader>gl", function()
LazyVim.lazygit({ args = { "log" }, cwd = LazyVim.root.git() })
end, { desc = "Lazygit Log" })
map("n", "<leader>gL", function()
LazyVim.lazygit({ args = { "log" } })
end, { desc = "Lazygit Log (cwd)" })
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
-- quit
map("n", "<leader>qq", "<cmd>qa<cr>", { desc = "Quit All" })
@ -159,29 +156,21 @@ map("n", "<leader>uI", "<cmd>InspectTree<cr>", { desc = "Inspect Tree" })
map("n", "<leader>L", function() LazyVim.news.changelog() end, { desc = "LazyVim Changelog" })
-- floating terminal
local lazyterm = function() LazyVim.terminal(nil, { cwd = LazyVim.root() }) end
map("n", "<leader>ft", lazyterm, { desc = "Terminal (Root Dir)" })
map("n", "<leader>fT", function() LazyVim.terminal() end, { desc = "Terminal (cwd)" })
map("n", "<c-/>", lazyterm, { desc = "Terminal (Root Dir)" })
map("n", "<c-_>", lazyterm, { desc = "which_key_ignore" })
map("n", "<leader>fT", function() Snacks.terminal() end, { desc = "Terminal (cwd)" })
map("n", "<leader>ft", function() Snacks.terminal(nil, { cwd = LazyVim.root() }) end, { desc = "Terminal (Root Dir)" })
map("n", "<c-/>", function() Snacks.terminal(nil, { cwd = LazyVim.root() }) end, { desc = "Terminal (Root Dir)" })
map("n", "<c-_>", function() Snacks.terminal(nil, { cwd = LazyVim.root() }) end, { desc = "which_key_ignore" })
-- Terminal Mappings
map("t", "<esc><esc>", "<c-\\><c-n>", { desc = "Enter Normal Mode" })
map("t", "<C-h>", "<cmd>wincmd h<cr>", { desc = "Go to Left Window" })
map("t", "<C-j>", "<cmd>wincmd j<cr>", { desc = "Go to Lower Window" })
map("t", "<C-k>", "<cmd>wincmd k<cr>", { desc = "Go to Upper Window" })
map("t", "<C-l>", "<cmd>wincmd l<cr>", { desc = "Go to Right Window" })
map("t", "<C-/>", "<cmd>close<cr>", { desc = "Hide Terminal" })
map("t", "<c-_>", "<cmd>close<cr>", { desc = "which_key_ignore" })
-- windows
map("n", "<leader>ww", "<C-W>p", { desc = "Other Window", remap = true })
map("n", "<leader>wd", "<C-W>c", { desc = "Delete Window", remap = true })
map("n", "<leader>w-", "<C-W>s", { desc = "Split Window Below", remap = true })
map("n", "<leader>w|", "<C-W>v", { desc = "Split Window Right", remap = true })
map("n", "<leader>w", "<c-w>", { desc = "Windows", remap = true })
map("n", "<leader>-", "<C-W>s", { desc = "Split Window Below", remap = true })
map("n", "<leader>|", "<C-W>v", { desc = "Split Window Right", remap = true })
map("n", "<leader>wm", function() LazyVim.toggle.maximize() end, { desc = "Maximize Toggle" })
map("n", "<leader>wd", "<C-W>c", { desc = "Delete Window", remap = true })
LazyVim.ui.maximize():map("<leader>wm")
-- tabs
map("n", "<leader><tab>l", "<cmd>tablast<cr>", { desc = "Last Tab" })

View File

@ -18,35 +18,21 @@ vim.g.lazyvim_picker = "auto"
-- * a function with signature `function(buf) -> string|string[]`
vim.g.root_spec = { "lsp", { ".git", "lua" }, "cwd" }
-- LazyVim automatically configures lazygit:
-- * theme, based on the active colorscheme.
-- * editorPreset to nvim-remote
-- * enables nerd font icons
-- Set to false to disable.
vim.g.lazygit_config = true
-- Options for the LazyVim statuscolumn
vim.g.lazyvim_statuscolumn = {
folds_open = false, -- show fold sign when fold is open
folds_githl = false, -- highlight fold sign with git sign color
}
-- Optionally setup the terminal to use
-- This sets `vim.o.shell` and does some additional configuration for:
-- * pwsh
-- * powershell
-- LazyVim.terminal.setup("pwsh")
-- Set LSP servers to be ignored when used with `util.root.detectors.lsp`
-- for detecting the LSP root
vim.g.root_lsp_ignore = { "copilot" }
-- Hide deprecation warnings
vim.g.deprecation_warnings = false
-- Set filetype to `bigfile` for files larger than 1.5 MB
-- Only vim syntax will be enabled (with the correct filetype)
-- LSP, treesitter and other ft plugins will be disabled.
-- mini.animate will also be disabled.
vim.g.bigfile_size = 1024 * 1024 * 1.5 -- 1.5 MB
-- Show the current document symbols location from Trouble in lualine
-- You can disable this for a buffer by setting `vim.b.trouble_lualine = false`
vim.g.trouble_lualine = true
local opt = vim.opt
@ -84,6 +70,7 @@ opt.number = true -- Print line number
opt.pumblend = 10 -- Popup blend
opt.pumheight = 10 -- Maximum number of entries in a popup
opt.relativenumber = true -- Relative line numbers
opt.ruler = false -- Disable the default ruler
opt.scrolloff = 4 -- Lines of context
opt.sessionoptions = { "buffers", "curdir", "tabpages", "winsize", "help", "globals", "skiprtp", "folds" }
opt.shiftround = true -- Round indent
@ -95,11 +82,9 @@ opt.signcolumn = "yes" -- Always show the signcolumn, otherwise it would shift t
opt.smartcase = true -- Don't ignore case with capitals
opt.smartindent = true -- Insert indents automatically
opt.spelllang = { "en" }
opt.spelloptions:append("noplainbuffer")
opt.splitbelow = true -- Put new windows below current
opt.splitkeep = "screen"
opt.splitright = true -- Put new windows right of current
opt.statuscolumn = [[%!v:lua.require'lazyvim.util'.ui.statuscolumn()]]
opt.tabstop = 2 -- Number of spaces tabs count for
opt.termguicolors = true -- True color support
opt.timeoutlen = vim.g.vscode and 1000 or 300 -- Lower than default (1000) to quickly trigger which-key

View File

@ -33,6 +33,8 @@ return {
mapping = cmp.mapping.preset.insert({
["<C-b>"] = cmp.mapping.scroll_docs(-4),
["<C-f>"] = cmp.mapping.scroll_docs(4),
["<C-n>"] = cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Insert }),
["<C-p>"] = cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.Insert }),
["<C-Space>"] = cmp.mapping.complete(),
["<CR>"] = LazyVim.cmp.confirm({ select = auto_select }),
["<C-y>"] = LazyVim.cmp.confirm({ select = true }),
@ -83,6 +85,7 @@ return {
-- snippets
{
"nvim-cmp",
optional = true,
dependencies = {
{
"garymjr/nvim-snippets",
@ -102,26 +105,17 @@ return {
table.insert(opts.sources, { name = "snippets" })
end
end,
keys = {
{
"<Tab>",
function()
init = function()
-- Neovim enabled snippet navigation mappings by default in v0.11
if vim.fn.has("nvim-0.11") == 0 then
vim.keymap.set({ "i", "s" }, "<Tab>", function()
return vim.snippet.active({ direction = 1 }) and "<cmd>lua vim.snippet.jump(1)<cr>" or "<Tab>"
end,
expr = true,
silent = true,
mode = { "i", "s" },
},
{
"<S-Tab>",
function()
end, { expr = true, silent = true })
vim.keymap.set({ "i", "s" }, "<S-Tab>", function()
return vim.snippet.active({ direction = -1 }) and "<cmd>lua vim.snippet.jump(-1)<cr>" or "<S-Tab>"
end,
expr = true,
silent = true,
mode = { "i", "s" },
},
},
end, { expr = true, silent = true })
end
end,
},
-- auto pairs
@ -140,20 +134,6 @@ return {
-- better deal with markdown code blocks
markdown = true,
},
keys = {
{
"<leader>up",
function()
vim.g.minipairs_disable = not vim.g.minipairs_disable
if vim.g.minipairs_disable then
LazyVim.warn("Disabled auto pairs", { title = "Option" })
else
LazyVim.info("Enabled auto pairs", { title = "Option" })
end
end,
desc = "Toggle Auto Pairs",
},
},
config = function(_, opts)
LazyVim.mini.pairs(opts)
end,
@ -171,9 +151,6 @@ return {
"echasnovski/mini.ai",
event = "VeryLazy",
opts = function()
LazyVim.on_load("which-key.nvim", function()
vim.schedule(LazyVim.mini.ai_whichkey)
end)
local ai = require("mini.ai")
return {
n_lines = 500,
@ -197,6 +174,14 @@ return {
},
}
end,
config = function(_, opts)
require("mini.ai").setup(opts)
LazyVim.on_load("which-key.nvim", function()
vim.schedule(function()
LazyVim.mini.ai_whichkey(opts)
end)
end)
end,
},
{
@ -207,6 +192,7 @@ return {
library = {
{ path = "luvit-meta/library", words = { "vim%.uv" } },
{ path = "LazyVim", words = { "LazyVim" } },
{ path = "snacks.nvim", words = { "Snacks" } },
{ path = "lazy.nvim", words = { "LazyVim" } },
},
},
@ -216,6 +202,7 @@ return {
-- Add lazydev source to cmp
{
"hrsh7th/nvim-cmp",
optional = true,
opts = function(_, opts)
table.insert(opts.sources, { name = "lazydev", group_index = 0 })
end,

View File

@ -19,6 +19,7 @@ return {
cmp = true,
dashboard = true,
flash = true,
grug_far = true,
gitsigns = true,
headlines = true,
illuminate = true,
@ -49,5 +50,16 @@ return {
which_key = true,
},
},
specs = {
{
"akinsho/bufferline.nvim",
optional = true,
opts = function(_, opts)
if (vim.g.colors_name or ""):find("catppuccin") then
opts.highlights = require("catppuccin.groups.integrations.bufferline").get()
end
end,
},
},
},
}

View File

@ -105,7 +105,7 @@ return {
},
config = function(_, opts)
local function on_move(data)
LazyVim.lsp.on_rename(data.source, data.destination)
Snacks.rename.on_rename_file(data.source, data.destination)
end
local events = require("neo-tree.events")
@ -128,13 +128,25 @@ return {
-- search/replace in multiple files
{
"nvim-pack/nvim-spectre",
build = false,
cmd = "Spectre",
opts = { open_cmd = "noswapfile vnew" },
-- stylua: ignore
"MagicDuck/grug-far.nvim",
opts = { headerMaxWidth = 80 },
cmd = "GrugFar",
keys = {
{ "<leader>sr", function() require("spectre").open() end, desc = "Replace in Files (Spectre)" },
{
"<leader>sr",
function()
local grug = require("grug-far")
local ext = vim.bo.buftype == "" and vim.fn.expand("%:e")
grug.open({
transient = true,
prefills = {
filesFilter = ext and ext ~= "" and "*." .. ext or nil,
},
})
end,
mode = { "n", "v" },
desc = "Search and Replace",
},
},
},
@ -169,21 +181,36 @@ return {
{
mode = { "n", "v" },
{ "<leader><tab>", group = "tabs" },
{ "<leader>b", group = "buffer" },
{ "<leader>c", group = "code" },
{ "<leader>f", group = "file/find" },
{ "<leader>g", group = "git" },
{ "<leader>gh", group = "hunks" },
{ "<leader>q", group = "quit/session" },
{ "<leader>s", group = "search" },
{ "<leader>u", group = "ui" },
{ "<leader>w", group = "windows" },
{ "<leader>x", group = "diagnostics/quickfix" },
{ "<leader>u", group = "ui", icon = { icon = "󰙵 ", color = "cyan" } },
{ "<leader>x", group = "diagnostics/quickfix", icon = { icon = "󱖫 ", color = "green" } },
{ "[", group = "prev" },
{ "]", group = "next" },
{ "g", group = "goto" },
{ "gs", group = "surround" },
{ "z", group = "fold" },
{
"<leader>b",
group = "buffer",
expand = function()
return require("which-key.extras").expand.buf()
end,
},
{
"<leader>w",
group = "windows",
proxy = "<c-w>",
expand = function()
return require("which-key.extras").expand.win()
end,
},
-- better descriptions
{ "gx", desc = "Open with system app" },
},
},
},
@ -193,7 +220,14 @@ return {
function()
require("which-key").show({ global = false })
end,
desc = "Buffer Local Keymaps (which-key)",
desc = "Buffer Keymaps (which-key)",
},
{
"<c-w><space>",
function()
require("which-key").show({ keys = "<c-w>", loop = true })
end,
desc = "Window Hydra Mode (which-key)",
},
},
config = function(_, opts)

View File

@ -23,7 +23,6 @@ return {
local user = vim.env.USER or "User"
user = user:sub(1, 1):upper() .. user:sub(2)
return {
model = "gpt-4",
auto_insert_mode = true,
show_help = true,
question_header = "" .. user .. " ",
@ -74,7 +73,9 @@ return {
},
config = function(_, opts)
local chat = require("CopilotChat")
require("CopilotChat.integrations.cmp").setup()
if pcall(require, "cmp") then
require("CopilotChat.integrations.cmp").setup()
end
vim.api.nvim_create_autocmd("BufEnter", {
pattern = "copilot-chat",

View File

@ -80,4 +80,46 @@ return {
})
end,
},
{
"saghen/blink.cmp",
optional = true,
specs = {
{
"zbirenbaum/copilot.lua",
event = "InsertEnter",
opts = {
suggestion = {
enabled = true,
auto_trigger = true,
keymap = { accept = false },
},
},
},
},
opts = {
windows = {
ghost_text = {
enabled = false,
},
},
keymap = {
["<Tab>"] = {
function(cmp)
if cmp.is_in_snippet() then
return cmp.accept()
elseif require("copilot.suggestion").is_visible() then
LazyVim.create_undo()
require("copilot.suggestion").accept()
return true
else
return cmp.select_and_accept()
end
end,
"snippet_forward",
"fallback",
},
},
},
},
}

View File

@ -2,6 +2,7 @@ return {
-- Tabnine cmp source
{
"nvim-cmp",
optional = true,
dependencies = {
{
"tzachar/cmp-tabnine",

View File

@ -0,0 +1,90 @@
return {
{
"hrsh7th/nvim-cmp",
enabled = false,
},
{
"saghen/blink.cmp",
version = "*",
opts_extend = { "sources.completion.enabled_providers" },
dependencies = {
"rafamadriz/friendly-snippets",
-- add blink.compat to dependencies
-- { "saghen/blink.compat", opts = {} },
},
event = "InsertEnter",
---@module 'blink.cmp'
---@type blink.cmp.Config
opts = {
highlight = {
-- 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",
windows = {
autocomplete = {
-- draw = "reversed",
winblend = vim.o.pumblend,
},
documentation = {
auto_show = true,
},
ghost_text = {
enabled = true,
},
},
-- experimental auto-brackets support
accept = { auto_brackets = { enabled = true } },
-- experimental signature help support
-- trigger = { signature_help = { enabled = true } }
sources = {
completion = {
-- remember to enable your providers here
enabled_providers = { "lsp", "path", "snippets", "buffer" },
},
},
keymap = {
preset = "enter",
},
},
},
-- add icons
{
"saghen/blink.cmp",
opts = function(_, opts)
opts.kind_icons = LazyVim.config.icons.kinds
end,
},
-- lazydev
{
"saghen/blink.cmp",
opts = {
sources = {
completion = {
-- add lazydev to your completion providers
enabled_providers = { "lazydev" },
},
providers = {
lsp = {
-- dont show LuaLS require statements when lazydev has items
fallback_for = { "lazydev" },
},
lazydev = {
name = "LazyDev",
module = "lazydev.integrations.blink",
},
},
},
},
},
}

View File

@ -1,6 +1,7 @@
return {
{
"L3MON4D3/LuaSnip",
lazy = true,
build = (not LazyVim.is_win())
and "echo 'NOTE: jsregexp is optional, so not a big deal if it fails to build'; make install_jsregexp"
or nil,

View File

@ -17,6 +17,7 @@ return {
vim.cmd([[YankyRingHistory]])
end
end,
mode = { "n", "x" },
desc = "Open Yank History",
},
-- stylua: ignore

View File

@ -1,11 +1,17 @@
---@param config {args?:string[]|fun():string[]?}
---@param config {type?:string, args?:string[]|fun():string[]?}
local function get_args(config)
local args = type(config.args) == "function" and (config.args() or {}) or config.args or {}
local args = type(config.args) == "function" and (config.args() or {}) or config.args or {} --[[@as string[] | string ]]
local args_str = type(args) == "table" and table.concat(args, " ") or args --[[@as string]]
config = vim.deepcopy(config)
---@cast args string[]
config.args = function()
local new_args = vim.fn.input("Run with args: ", table.concat(args, " ")) --[[@as string]]
return vim.split(vim.fn.expand(new_args) --[[@as string]], " ")
local new_args = vim.fn.expand(vim.fn.input("Run with args: ", args_str)) --[[@as string]]
if config.type and config.type == "java" then
---@diagnostic disable-next-line: return-type-mismatch
return new_args
end
return require("dap.utils").splitstr(new_args)
end
return config
end
@ -30,7 +36,7 @@ return {
{ "<leader>d", "", desc = "+debug", mode = {"n", "v"} },
{ "<leader>dB", function() require("dap").set_breakpoint(vim.fn.input('Breakpoint condition: ')) end, desc = "Breakpoint Condition" },
{ "<leader>db", function() require("dap").toggle_breakpoint() end, desc = "Toggle Breakpoint" },
{ "<leader>dc", function() require("dap").continue() end, desc = "Continue" },
{ "<leader>dc", function() require("dap").continue() end, desc = "Run/Continue" },
{ "<leader>da", function() require("dap").continue({ before = get_args }) end, desc = "Run with Args" },
{ "<leader>dC", function() require("dap").run_to_cursor() end, desc = "Run to Cursor" },
{ "<leader>dg", function() require("dap").goto_() end, desc = "Go to Line (No Execute)" },

View File

@ -120,17 +120,17 @@ return {
months,
},
typescript = {
augend.integer.alias.decimal, -- nonnegative and negative decimal number
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, -- nonnegative and negative decimal number
augend.integer.alias.decimal_int, -- nonnegative and negative decimal number
augend.constant.alias.bool, -- boolean value (true <-> false)
},
css = {
augend.integer.alias.decimal, -- nonnegative and negative decimal number
augend.integer.alias.decimal_int, -- nonnegative and negative decimal number
augend.hexcolor.new({
case = "lower",
}),
@ -142,11 +142,11 @@ return {
augend.misc.alias.markdown_header,
},
json = {
augend.integer.alias.decimal, -- nonnegative and negative decimal number
augend.integer.alias.decimal_int, -- nonnegative and negative decimal number
augend.semver.alias.semver, -- versioning (v1.1.2)
},
lua = {
augend.integer.alias.decimal, -- nonnegative and negative decimal number
augend.integer.alias.decimal_int, -- nonnegative and negative decimal number
augend.constant.alias.bool, -- boolean value (true <-> false)
augend.constant.new({
elements = { "and", "or" },
@ -155,7 +155,7 @@ return {
}),
},
python = {
augend.integer.alias.decimal, -- nonnegative and negative decimal number
augend.integer.alias.decimal_int, -- nonnegative and negative decimal number
capitalized_boolean,
logical_alias,
},

View File

@ -15,6 +15,21 @@ return {
config = function(_, opts)
require("illuminate").configure(opts)
Snacks.toggle({
name = "Illuminate",
get = function()
return not require("illuminate.engine").is_paused()
end,
set = function(enabled)
local m = require("illuminate")
if enabled then
m.resume()
else
m.pause()
end
end,
}):map("<leader>ux")
local function map(key, dir, buffer)
vim.keymap.set("n", key, function()
require("illuminate")["goto_" .. dir .. "_reference"](false)

View File

@ -48,7 +48,7 @@ return {
local map_split = function(buf_id, lhs, direction, close_on_file)
local rhs = function()
local new_target_window
local cur_target_window = require("mini.files").get_target_window()
local cur_target_window = require("mini.files").get_explorer_state().target_window
if cur_target_window ~= nil then
vim.api.nvim_win_call(cur_target_window, function()
vim.cmd("belowright " .. direction .. " split")
@ -104,7 +104,7 @@ return {
vim.api.nvim_create_autocmd("User", {
pattern = "MiniFilesActionRename",
callback = function(event)
LazyVim.lsp.on_rename(event.data.from, event.data.to)
Snacks.rename.on_rename_file(event.data.from, event.data.to)
end,
})
end,

View File

@ -30,14 +30,7 @@ return {
optional = true,
opts = function(_, opts)
if not vim.g.trouble_lualine then
table.insert(opts.sections.lualine_c, {
function()
return require("nvim-navic").get_location()
end,
cond = function()
return package.loaded["nvim-navic"] and require("nvim-navic").is_available()
end,
})
table.insert(opts.sections.lualine_c, { "navic", color_correction = "dynamic" })
end
end,
},

View File

@ -4,8 +4,13 @@ if lazyvim_docs then
vim.g.lazyvim_picker = "telescope"
end
local have_make = vim.fn.executable("make") == 1
local have_cmake = vim.fn.executable("cmake") == 1
local build_cmd ---@type string?
for _, cmd in ipairs({ "make", "cmake", "gmake" }) do
if vim.fn.executable(cmd) == 1 then
build_cmd = cmd
break
end
end
---@type LazyPicker
local picker = {
@ -63,9 +68,9 @@ return {
dependencies = {
{
"nvim-telescope/telescope-fzf-native.nvim",
build = have_make and "make"
build = (build_cmd ~= "cmake") and "make"
or "cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build",
enabled = have_make or have_cmake,
enabled = build_cmd ~= nil,
config = function(plugin)
LazyVim.on_load("telescope.nvim", function()
local ok, err = pcall(require("telescope").load_extension, "fzf")
@ -94,7 +99,11 @@ return {
{ "<leader>:", "<cmd>Telescope command_history<cr>", desc = "Command History" },
{ "<leader><space>", LazyVim.pick("files"), desc = "Find Files (Root Dir)" },
-- find
{ "<leader>fb", "<cmd>Telescope buffers sort_mru=true sort_lastused=true<cr>", desc = "Buffers" },
{
"<leader>fb",
"<cmd>Telescope buffers sort_mru=true sort_lastused=true ignore_current_buffer=true<cr>",
desc = "Buffers",
},
{ "<leader>fc", LazyVim.pick.config_files(), desc = "Find Config File" },
{ "<leader>ff", LazyVim.pick("files"), desc = "Find Files (Root Dir)" },
{ "<leader>fF", LazyVim.pick("files", { root = false }), desc = "Find Files (cwd)" },
@ -165,6 +174,20 @@ return {
LazyVim.pick("find_files", { hidden = true, default_text = line })()
end
local function find_command()
if 1 == vim.fn.executable("rg") then
return { "rg", "--files", "--color", "never", "-g", "!.git" }
elseif 1 == vim.fn.executable("fd") then
return { "fd", "--type", "f", "--color", "never", "-E", ".git" }
elseif 1 == vim.fn.executable("fdfind") then
return { "fdfind", "--type", "f", "--color", "never", "-E", ".git" }
elseif 1 == vim.fn.executable("find") and vim.fn.has("win32") == 0 then
return { "find", ".", "-type", "f" }
elseif 1 == vim.fn.executable("where") then
return { "where", "/r", ".", "*" }
end
end
return {
defaults = {
prompt_prefix = "",
@ -200,7 +223,7 @@ return {
},
pickers = {
find_files = {
find_command = { "fd", "--type", "f", "--color", "never", "-E", ".git" },
find_command = find_command,
hidden = true,
},
},

View File

@ -70,7 +70,8 @@ return {
opts = function(_, opts)
opts.formatters_by_ft = opts.formatters_by_ft or {}
for _, ft in ipairs(supported) do
opts.formatters_by_ft[ft] = { "prettier" }
opts.formatters_by_ft[ft] = opts.formatters_by_ft[ft] or {}
table.insert(opts.formatters_by_ft[ft], "prettier")
end
opts.formatters = opts.formatters or {}

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