Commit graph

2946 commits

Author SHA1 Message Date
Folke Lemaitre
4b69a6ed29
docs: remove video from readme, since it's outdated 2025-10-20 16:11:03 +02:00
Folke Lemaitre
899533a101
fix(blink): added work-around back for unsupported native snippets 2025-10-20 14:34:01 +02:00
Folke Lemaitre
3ffb471c18
fix(treesitter): added buf to treesitter start just to be sure 2025-10-20 14:34:01 +02:00
github-actions[bot]
70e316d41c
chore(main): release 15.10.0 (#6647)
🤖 I have created a release *beep* *boop*
---


##
[15.10.0](https://github.com/LazyVim/LazyVim/compare/v15.9.0...v15.10.0)
(2025-10-20)


### Features

* **ai:** add avante.nvim for a better AI experience
([#4440](https://github.com/LazyVim/LazyVim/issues/4440))
([2682ce0](2682ce0ab9))
* **extra:** allow users to add custom bundles through
opts.init_options.bundles to jdtls
([#6265](https://github.com/LazyVim/LazyVim/issues/6265))
([faeb24b](faeb24ba95))
* **extras:** add Dart language
([#4749](https://github.com/LazyVim/LazyVim/issues/4749))
([90f84e7](90f84e7e75))
* **extras:** added ember lang support
([#6203](https://github.com/LazyVim/LazyVim/issues/6203))
([ac4cce0](ac4cce0f2f))
* **extras:** added twig language
([#5464](https://github.com/LazyVim/LazyVim/issues/5464))
([a6eb51e](a6eb51e5b5))
* **extras:** ai: add `claudecode.nvim`
([#6229](https://github.com/LazyVim/LazyVim/issues/6229))
([e7a3e80](e7a3e80ee1))
* **extras:** automatically update lazyvim.json for renamed or
deprecated extras
([37ecd06](37ecd06fad))
* **extras:** renamed extra omnisharp -> dotnet + added fautocomplete
to lspconfig
([1b2e6e8](1b2e6e8986))
* **extras:** utils: add `gh.nvim`
([#6250](https://github.com/LazyVim/LazyVim/issues/6250))
([8db9c75](8db9c75e8d))
* **go:** add linting with golangci-lint
([#6311](https://github.com/LazyVim/LazyVim/issues/6311))
([248876a](248876adb6))
* **haskell:** update `haskell-tools` version and add formatters +
linters ([#6230](https://github.com/LazyVim/LazyVim/issues/6230))
([82382f4](82382f455a))
* **lang/fsharp:** add F# support to omnisharp extra
([#6538](https://github.com/LazyVim/LazyVim/issues/6538))
([80a980a](80a980ab00))
* **lang:** add neotest config for PHP tests
([#5958](https://github.com/LazyVim/LazyVim/issues/5958))
([9b077c7](9b077c7a8e))
* **lang:** add solidity language support
([#4742](https://github.com/LazyVim/LazyVim/issues/4742))
([2cd46d4](2cd46d42ba))
* **lang:** add Typst language support
([#4042](https://github.com/LazyVim/LazyVim/issues/4042))
([645846b](645846be5c))
* **lang:** julia support
([#6231](https://github.com/LazyVim/LazyVim/issues/6231))
([5d186c0](5d186c009a))
* **lang:** nix add `statix` linter
([#6244](https://github.com/LazyVim/LazyVim/issues/6244))
([2a866f6](2a866f6c8c))
* **sidekick:** added sidekick cli status to lualine
([16917db](16917db94a))


### Bug Fixes

* **extras.lang:** fix Scala extra by using nvimMetals only
([#5726](https://github.com/LazyVim/LazyVim/issues/5726))
([f118dca](f118dca334))
* **fzf-lua:** added some missing keymaps similar to snacks picker.
Closes [#6036](https://github.com/LazyVim/LazyVim/issues/6036). Closes
[#5830](https://github.com/LazyVim/LazyVim/issues/5830)
([69a5744](69a5744803))
* **helm:** broken helm highlighting
([#5335](https://github.com/LazyVim/LazyVim/issues/5335))
([4d0d87f](4d0d87f626))
* **keymap:** remove select mode remaps of printable characters
([#6296](https://github.com/LazyVim/LazyVim/issues/6296))
([83468be](83468be350))
* **tailwind:** additional settings
([#5266](https://github.com/LazyVim/LazyVim/issues/5266))
([d2f9885](d2f9885d6b))
* **telescope:** sync keymaps with snacks picker + added some that were
missing
([1a08e9f](1a08e9f50f))
* **twig:** correct mason url
([9d345de](9d345dec44))
* **typescript:** better default pwa-node DAP config. Closes
[#6386](https://github.com/LazyVim/LazyVim/issues/6386)
([e4d3432](e4d34328f2))
* **typescript:** support chrome, node and msedge dap adapters
([#6649](https://github.com/LazyVim/LazyVim/issues/6649))
([0b65d33](0b65d33d85))
* **util.project:** different mapping on dashboard than
`snacks.projects`
([#5737](https://github.com/LazyVim/LazyVim/issues/5737))
([e389447](e38944799e))


### Reverts

* "feat(extra): allow users to add custom bundles through
opts.init_options.bundles to jdtls
([#6265](https://github.com/LazyVim/LazyVim/issues/6265))"
([#6650](https://github.com/LazyVim/LazyVim/issues/6650))
([a582f00](a582f00447))

---
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>
2025-10-20 14:30:38 +02:00
Jose Storopoli
e7a3e80ee1
feat(extras): ai: add claudecode.nvim (#6229)
## Description

Adds [`claudecode.nvim`](https://github.com/coder/claudecode.nvim) which
integrates Claude Code into NeoVim using snacks terminal.

I've been using this config for a while now and I think it's time to
upstream to LazyVim. The configurations are the recommended ones from
the plugin's README.

## Related Issue(s)

None

## Screenshots

![CleanShot 2025-07-05 at 06 58
15@2x](https://github.com/user-attachments/assets/23f8de5c-654e-470d-b814-0bf318ceb2b2)


## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-10-20 13:37:58 +02:00
qw457812
a582f00447
revert: "feat(extra): allow users to add custom bundles through opts.init_options.bundles to jdtls (#6265)" (#6650)
Fixes:

```
Failed to run `config` for nvim-jdtls

...im/lazy/LazyVim/lua/lazyvim/plugins/extras/lang/java.lua:165: attempt to index field 'jdtls' (a function value)

  - /LazyVim/lua/lazyvim/plugins/extras/lang/java.lua:165 _in_ **config**
  - ~/.local/share/bob/nightly/share/nvim/runtime/filetype.lua:36
  - vim/shared.lua:0
  - ~/.local/share/bob/nightly/share/nvim/runtime/filetype.lua:35
  - vim/_editor.lua:0 _in_ **cmd**
  - /snacks.nvim/lua/snacks/picker/actions.lua:115 _in_ **fn**
  - /snacks.nvim/lua/snacks/win.lua:339
```

`init_options.bundles` already can be overridden by `opts.jdtls`, see:
https://github.com/LazyVim/LazyVim/pull/6265#issuecomment-3203831504 for
example.

## Description

Reverts the commit, which breaks `opts.jdtls` defined here:


faeb24ba95/lua/lazyvim/plugins/extras/lang/java.lua (L185-L185)

## Related Issue(s)

#6265 

## Screenshots

None.

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-10-20 12:50:54 +02:00
Alexey Svirshchevskiy
0b65d33d85
fix(typescript): support chrome, node and msedge dap adapters (#6649)
## Description
Add support for `chrome`, `node` and `msedge` configs for dap
typescript.

## Related Issue(s)
https://github.com/LazyVim/LazyVim/pull/6328

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-10-20 12:25:13 +02:00
Zapan Gao
faeb24ba95
feat(extra): allow users to add custom bundles through opts.init_options.bundles to jdtls (#6265)
Allow users to add custom bundles through opts.init_options.bundles to
jdtls with lang java extra is on.
2025-10-20 11:49:08 +02:00
Julian Visser
ac4cce0f2f
feat(extras): added ember lang support (#6203)
## Description

Added support for
[emberjs](https://guides.emberjs.com/release/getting-started/).

-
[nvim-lspconfig/ember](https://github.com/neovim/nvim-lspconfig/blob/master/lsp/ember.lua)
- Uses prettier to format glimmer files

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-10-20 11:45:57 +02:00
Jarryd Tilbrook
9b077c7a8e
feat(lang): add neotest config for PHP tests (#5958)
## Description

Similar to some other languages (this closely follows the Go lang
extra), this adds neotest runners for the major PHP test runners:
PHPUnit and Pest.

Both work together, trying to use Pest if available and falling back to
PHPUnit which is a decent approach for the PHP ecosystem.

I read CONTRIBUTING.md which differs from the way the Go lang extra has
implemented a neotest adapters and opted to follow that instead. Ie.
adapters
have been added as dependencies instead of a separate spec with
`lazy=true`. Let me know if you want that changed.

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-10-20 11:40:56 +02:00
Stanislav Zeman
90f84e7e75
feat(extras): add Dart language (#4749)
## Description

This PR add Dart language support to **extras** section.

## Testing

I checked that:
- the LSP correctly loads on Dart files and provides suggestions and
highlights errors
- `treesitter` parses the Dart language tree and highlights the code
- `conform` correctly formats Dart files using the built-in formatter
- `neotest` is capable of running Dart tests

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-10-20 11:27:52 +02:00
Folke Lemaitre
f4b08bb604
refactor(solidity): no need for opts to be a function 2025-10-20 11:24:28 +02:00
pugud
2cd46d42ba
feat(lang): add solidity language support (#4742)
## Description

### Summary

This PR adds comprehensive support for Solidity development in Neovim
using LazyVim. The following updates were made to streamline Solidity
development:
### Changes

1. **Solidity File Type Detection**
- Configured LazyVim to recognize Solidity projects by detecting
`foundry.toml`, `hardhat.config.js`, and `hardhat.config.ts` files.
2. **Treesitter Support for Solidity**
- Added `solidity` to the list of languages ensured by
`nvim-treesitter`, providing syntax highlighting and better code
structure understanding.
3. **Language Server Protocol (LSP) Setup**
- Configured `nvim-lspconfig` to support `solidity_ls` as the LSP for
Solidity files.
- Set up `root_dir` detection based on project files or a `.git`
directory to enable proper LSP functioning in Solidity projects.
4. **Solidity Formatter**
- Integrated `forge_fmt` as a formatter for Solidity files using
`conform.nvim`, which utilizes `forge fmt` to format code.
    
### Why use `forge fmt` instead of Prettier?

- **Prettier's Solidity support requires extra plugins**: Prettier does
not have native Solidity support and depends on
`prettier-plugin-solidity`. Even with
`vim.g.lazyvim_prettier_needs_config = false`, formatting won't work
unless a `.prettierrc` file is configured, creating unnecessary
complexity.
- **`forge fmt` is the native tool for Solidity development**: `Forge`
is a widely used tool within the Solidity ecosystem, especially when
working with Foundry. It provides built-in formatting with no extra
dependencies, making it simpler and more efficient to integrate.
- **Hardhat uses `prettier-plugin-solidity`**: For users of Hardhat,
`prettier-plugin-solidity` is required for code formatting. However, the
integration with Prettier might add complexity, while `forge fmt`
simplifies the process.
- **Future customization**: We may allow users to choose between
`prettier-plugin-solidity` and `forge fmt` for formatting in the future,
depending on their preferred tools.
    
  
### Testing

- Confirmed that Solidity files are detected and syntax-highlighted by
Treesitter.
- Verified LSP functionality for Solidity, including code navigation and
error detection.
- Tested `forge_fmt` for automatic code formatting on Solidity files.
### Motivation

These changes provide a smoother and more robust Solidity development
experience in Lazyvim, including syntax highlighting, code navigation,
and automatic formatting.

## Related Issue(s)
https://github.com/LazyVim/LazyVim/issues/1901

## 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>
2025-10-20 11:20:05 +02:00
Bahaa Mohamed
248876adb6
feat(go): add linting with golangci-lint (#6311)
## Description

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

Add Go linting support using
[golangci-lint](https://github.com/golangci/golangci-lint) and
nvim-lint.

- Installs golangci-lint via Mason.
- Configures nvim-lint to run it on Go files.

This improves the Go development experience by running a fast, popular
linter automatically

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

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-10-20 02:12:20 -07:00
snailed
4d0d87f626
fix(helm): broken helm highlighting (#5335)
## Description

This PR replaces the towolf/vim-helm plugin with a newer, lua
implementation of the plugin. This fixes syntax highlighting and makes
the workaround for the ftdetect/lsp load order superfluous.

## Related Issue(s)

  - Fixes #5334 

## Checklist

- [X] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-10-20 11:09:29 +02:00
Torbjørn Vatn
d2f9885d6b
fix(tailwind): additional settings (#5266)
Make it possible to define your own tailwind settings in opts, and merge
them with the default, additional Phoenix settings in tailwind.lua

## Description

Add the possibility to add your own tailwind settings in opts and have
them deep merged into the default `opts.settings`

I needed this for configuring support for tailwind when coding on a
[htmgo](https://htmgo.dev/docs/misc/tailwind-intellisense) project in
Neovim.

E.g.
```lua
return {
  "neovim/nvim-lspconfig",
  opts = {
    servers = {
      tailwindcss = {
        filetypes_include = { "go" },
        settings = {
          tailwindCSS = {
            includeLanguages = {
              go = "html",
            },
            experimental = {
              classRegex = {
                { "Class\\(([^)]*)\\)", '["`]([^"`]*)["`]' },
                { "ClassX\\(([^)]*)\\)", '["`]([^"`]*)["`]' },
                { "ClassIf\\(([^)]*)\\)", '["`]([^"`]*)["`]' },
                { "Classes\\(([^)]*)\\)", '["`]([^"`]*)["`]' },
              },
            },
          },
        },
      },
    },
  },
}
```

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-10-20 11:07:12 +02:00
Folke Lemaitre
9d345dec44
fix(twig): correct mason url 2025-10-20 10:55:37 +02:00
Folke Lemaitre
64377ba4de
test: detect old refs to plugins in extras 2025-10-20 10:55:05 +02:00
George Guimarães
2682ce0ab9
feat(ai): add avante.nvim for a better AI experience (#4440)
I switched over to https://github.com/yetone/avante.nvim and I think
this is the best experience in terms of UI and easiness to add patches
to your code.

I'm recommending it to everyone.

~~However, I couldn't make render-markdown to work on Avante. It seems
that my spec here is running before the one defined in
extras/lang/markdown.lua and getting overwritten even though I added
`optional = true`. I'll try to dig in deeper, but if someone has any
pointers, I'd appreciate it.~~

  - Fixes #4394

---------

Co-authored-by: PatMulligan <43773168+PatMulligan@users.noreply.github.com>
Co-authored-by: Iordanis Petkakis <12776461+dpetka2001@users.noreply.github.com>
Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
2025-10-20 01:47:17 -07:00
Jose Storopoli
5d186c009a
feat(lang): julia support (#6231)
## Description

- Another take on #4436.
- Adds LSP
- Adds cmp and blink.cmp for LaTeX symbols

## Related Issue(s)

#5455 

## Screenshots

![CleanShot 2025-07-05 at 08 05
01@2x](https://github.com/user-attachments/assets/36a6e5ac-2632-4a33-af9e-674b7f1b750d)

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-10-20 10:24:12 +02:00
Vo Quang Chien
645846be5c
feat(lang): add Typst language support (#4042)
## Description

This pull request introduces robust support for the
[Typst](https://github.com/typst/typst) language in LazyVim, enhancing
the Typst editing experience with several integrated tools:

1. **LSP Support**: Integrate with
[tinymist](https://github.com/Myriad-Dreamin/tinymist) provides
comprehensive LSP support.
2. **Code Formatting**: Integrate with
[typstyle](https://github.com/Enter-tainer/typstyle) for code
formatting.
3. **Preview Support**: Added
[typst-preview.nvim](https://github.com/chomosuke/typst-preview.nvim)
for live preview of Typst documents.

## Checklist

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

---------

Co-authored-by: Jose Storopoli <jose@storopoli.io>
Co-authored-by: Stefan Boca <45266795+stefanboca@users.noreply.github.com>
Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
2025-10-20 10:23:30 +02:00
Halibut Git Wiz
a6eb51e5b5
feat(extras): added twig language (#5464)
## Description

Adds Twig templates language support as en extra.

Explanation for the tools choices:
- Linter/formatter: Twigcs and Twig-cs-fixer both follow the [coding
standards](https://twig.symfony.com/doc/3.x/coding_standards.html)
recommended by the Symfony Project, maintainers of Twig.
- LSP: I don't know it Twiggy is considered a standard in the community.
I picked it because it's the only server specific to Twig. The other
options are HTML servers that also include support for several templates
languages. I've been using it for a while and it works fine. It adds
much needed snippets (Twig syntax involves tags that are difficult to
type on most keyboards) and does not conflict with Twigcs diagnostics.

## Checklist

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

---------

Co-authored-by: tw <tw@pretexx.fr>
2025-10-20 10:19:38 +02:00
Jose Storopoli
82382f455a
feat(haskell): update haskell-tools version and add formatters + linters (#6230)
## Description

- Updates `haskell-tools` to use the recommended version in the plugin's
README
- Adds `ormolu` as a formatter
- Adds keybindings for `haskell-tools` that does not conflict with
LazyVim's defaults.

## Related Issue(s)

-
https://github.com/LazyVim/LazyVim/discussions/3325#discussioncomment-9562683:
adds `ormolu` formatter.
- https://github.com/LazyVim/LazyVim/pull/2052#issuecomment-2881764491:
@mrcjkb keeps getting bug reports because the version is still in `3`
and should be updated to `6`.

## 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>
Co-authored-by: Claude <noreply@anthropic.com>
2025-10-20 01:17:31 -07:00
Jose Storopoli
8db9c75e8d
feat(extras): utils: add gh.nvim (#6250)
## Description

Adds [`gh.nvim`](https://github.com/ldelossa/gh.nvim) to the extras.

`gh.nvim` brings a way richer reviewer interface to NeoVim by supporting
LSP and treesitter natively in review diff buffers.
I've been using successfully for a couple weeks instead of `Octo.nvim`.

## Related Issue(s)

None

## Screenshots

<img width="580" height="760" alt="CleanShot 2025-07-13 at 08 02 10@2x"
src="https://github.com/user-attachments/assets/ebee1a54-1c3e-4248-8a09-eba65c838351"
/>


## 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>
2025-10-20 00:47:54 -07:00
Yiqian Liu
83468be350
fix(keymap): remove select mode remaps of printable characters (#6296)
## Description

Most of the "visual mode" mappings use "v" instead of "x", and therefore
also affect select mode.
If the key is a printable character, it is now unusable in select mode.
This is most prominent with `<leader>`, which is space by default, a
printable character.

The most common use of select mode is when it is automatically triggered
by snippets. Currently, trying to type space, g, <, >, etc. as the first
character of a snippet field will trigger their bind instead of actually
inserting the character.

I cannot currently think of any good reason why anyone would rely on
using select mode to execute any of these mapped actions.

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-10-20 00:10:08 -07:00
Watson Dinh
f118dca334
fix(extras.lang): fix Scala extra by using nvimMetals only (#5726)
## Description
Scala lang Extra should NOT be configured via `neovim/nvim-lspconfig`.
This PR removes `neovim/nvim-lspconfig` config and replace it by
`nvim-metals` only. From [nvim-metals
README.md](https://github.com/scalameta/nvim-metals): _"NOTE: This
plugin works without needing to install neovim/nvim-lspconfig. If you
have it installed for other languages, that's not a problem, but make
sure you do not have Metals configured through nvim-lspconfig while
using this plugin"_

## Related Issue(s)

No specific issue, this is attempt to follow users guide of Scala nvim
plugin : https://github.com/scalameta/nvim-metals

## Screenshots

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-10-20 09:04:35 +02:00
Thomas Ung
8c5cc77107
docs(fr): add readme in french (#5300)
## Description

Contribution for https://github.com/LazyVim/LazyVim/discussions/506


## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-10-20 00:01:17 -07:00
Grzegorz Aleksander Klementowski
d27e7adb53
Added Polish translation of README (README-PL.md) (#5816)
Added Polish translation of README (README-PL.md):

<div align="center">
<img
src="https://user-images.githubusercontent.com/292349/213446185-2db63fd5-8c84-459c-9f04-e286382d6e80.png">
</div>

<hr>

<h4 align="center">
  <a href="https://lazyvim.github.io/installation">Install</a>
  ·
  <a href="https://lazyvim.github.io/configuration">Configure</a>
  ·
  <a href="https://lazyvim.github.io">Docs</a>
</h4>

<div align="center"><p>
    <a href="https://github.com/LazyVim/LazyVim/releases/latest">
<img alt="Latest release"
src="https://img.shields.io/github/v/release/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=C9CBFF&logoColor=D9E0EE&labelColor=302D41&include_prerelease&sort=semver"
/>
    </a>
    <a href="https://github.com/LazyVim/LazyVim/pulse">
<img alt="Last commit"
src="https://img.shields.io/github/last-commit/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=8bd5ca&logoColor=D9E0EE&labelColor=302D41"/>
    </a>
    <a href="https://github.com/LazyVim/LazyVim/blob/main/LICENSE">
<img alt="License"
src="https://img.shields.io/github/license/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=ee999f&logoColor=D9E0EE&labelColor=302D41"
/>
    </a>
    <a href="https://github.com/LazyVim/LazyVim/stargazers">
<img alt="Stars"
src="https://img.shields.io/github/stars/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=c69ff5&logoColor=D9E0EE&labelColor=302D41"
/>
    </a>
    <a href="https://github.com/LazyVim/LazyVim/issues">
<img alt="Issues"
src="https://img.shields.io/github/issues/LazyVim/LazyVim?style=for-the-badge&logo=bilibili&color=F5E0DC&logoColor=D9E0EE&labelColor=302D41"
/>
    </a>
    <a href="https://github.com/LazyVim/LazyVim">
<img alt="Repo Size"
src="https://img.shields.io/github/repo-size/LazyVim/LazyVim?color=%23DDB6F2&label=SIZE&logo=codesandbox&style=for-the-badge&logoColor=D9E0EE&labelColor=302D41"
/>
    </a>
    <a href="https://twitter.com/intent/follow?screen_name=folke">
<img alt="follow on Twitter"
src="https://img.shields.io/twitter/follow/folke?style=for-the-badge&logo=twitter&color=8aadf3&logoColor=D9E0EE&labelColor=302D41"
/>
    </a>
</div>

LazyVim to konfiguracja Neovim oparta na [💤
lazy.nvim](https://github.com/folke/lazy.nvim)
która ułatwia dostosowywanie i rozszerzanie konfiguracji.
Zamiast wybierać między rozpoczynaniem od zera a używaniem gotowej
dystrybucji, LazyVim oferuje najlepsze z obu światów – elastyczność
pozwalającą na dostosowanie konfiguracji do własnych potrzeb oraz wygodę
wstępnie skonfigurowanego środowiska.


![image](https://user-images.githubusercontent.com/292349/211285846-0b7bb3bf-0462-4029-b64c-4ee1d037fc1c.png)


![image](https://user-images.githubusercontent.com/292349/213447056-92290767-ea16-430c-8727-ce994c93e9cc.png)

##  Funkcje

- 🔥 Przekształć Neovim w pełnoprawne IDE
- 💤 Łatwo dostosowuj i rozszerzaj swoją konfigurację dzięki
[lazy.nvim](https://github.com/folke/lazy.nvim)
- 🚀 Niezwykle szybkie działanie
- 🧹 Przemyślane domyślne ustawienia opcji, autocmd i skrótów
klawiszowych
- 📦 Zawiera bogaty zestaw wstępnie skonfigurowanych wtyczek gotowych do
użycia

## ️ Wymagania

- Neovim >= **0.9.0** (musi być skompilowany z **LuaJIT**)
- Git >= **2.19.0** (dla obsługi częściowego klonowania repozytoriów)
- [Nerd Font](https://www.nerdfonts.com/) **_(opcjonalnie)_**
- Kompilator **C** wymagany dla `nvim-treesitter`. Szczegóły
[tutaj](https://github.com/nvim-treesitter/nvim-treesitter#requirements)

## 🚀 Pierwsze kroki

Szablon startowy dla **LazyVim** znajdziesz
[tutaj](https://github.com/LazyVim/starter)

<details><summary>Wypróbuj z Dockerem</summary>

```sh
docker run -w /root -it --rm alpine:edge sh -uelic '
  apk add git lazygit fzf curl neovim ripgrep alpine-sdk --update
  git clone https://github.com/LazyVim/starter ~/.config/nvim
  cd ~/.config/nvim
  nvim
'
```

</details>

<details><summary>Zainstaluj <a
href="https://github.com/LazyVim/starter">Starter LazyVim</a></summary>

- Wykonaj kopię zapasową swoich obecnych plików Neovim:

  ```sh
  mv ~/.config/nvim ~/.config/nvim.bak
  mv ~/.local/share/nvim ~/.local/share/nvim.bak
  ```

- Sklonuj repozytorium startowe:

  ```sh
  git clone https://github.com/LazyVim/starter ~/.config/nvim
  ```

- Usuń folder `.git`, aby później móc dodać własne repozytorium:

  ```sh
  rm -rf ~/.config/nvim/.git
  ```

- Uruchom Neovim!

  ```sh
  nvim
  ```

W plikach znajdziesz komentarze, które pomogą Ci dostosować **LazyVim**.

</details>

---

[@elijahmanor](https://github.com/elijahmanor) stworzył świetne wideo z
przewodnikiem, jak zacząć.

[![Obejrzyj
wideo](https://img.youtube.com/vi/N93cTbtLCIM/hqdefault.jpg)](https://www.youtube.com/watch?v=N93cTbtLCIM)

[@dusty-phillips](https://github.com/dusty-phillips) napisał obszerną
książkę
[LazyVim for Ambitious
Developers](https://lazyvim-ambitious-devs.phillips.codes),
która jest dostępna za darmo online.

## 📂 Struktura plików

Pliki w katalogu `config` są automatycznie ładowane w odpowiednim
momencie,
więc nie musisz ich ręcznie dołączać.
**LazyVim** zawiera zestaw domyślnych plików konfiguracyjnych,
które zostaną załadowane **_przed_** Twoimi własnymi. Szczegóły
znajdziesz
[tutaj](https://github.com/LazyVim/LazyVim/tree/main/lua/lazyvim/config).

Możesz dodać własne specyfikacje wtyczek w katalogu `lua/plugins/`.
Wszystkie pliki w tym folderze zostaną automatycznie załadowane przez
[lazy.nvim](https://github.com/folke/lazy.nvim).

<pre>
~/.config/nvim
├── lua
│   ├── config
│   │   ├── autocmds.lua
│   │   ├── keymaps.lua
│   │   ├── lazy.lua
│   │   └── options.lua
│   └── plugins
│       ├── spec1.lua
│       ├── **
│       └── spec2.lua
└── init.lua
</pre>

## ⚙️ Konfiguracja

Zapoznaj się z [dokumentacją](https://lazyvim.github.io).
2025-10-19 23:59:40 -07:00
Iordanis Petkakis
e38944799e
fix(util.project): different mapping on dashboard than snacks.projects (#5737)
## Description
Different mapping and description to not be confused with
`snacks.projects`.
<!-- Describe the big picture of your changes to communicate to the
maintainers
  why we should accept this pull request. -->

## Related Issue(s)
Fixes #5736 
<!--
  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.
2025-10-20 08:52:12 +02:00
Folke Lemaitre
1b2e6e8986
feat(extras): renamed extra omnisharp -> dotnet + added fautocomplete to lspconfig 2025-10-20 08:47:38 +02:00
Folke Lemaitre
37ecd06fad
feat(extras): automatically update lazyvim.json for renamed or deprecated extras 2025-10-20 08:46:45 +02:00
Folke Lemaitre
d44f8bf317
test: fix mason in extra tests 2025-10-20 08:36:01 +02:00
Christoph Schmidpeter
80a980ab00
feat(lang/fsharp): add F# support to omnisharp extra (#6538)
## Description
Extend the existing C#/VB setup to support F# development with
formatting, LSP, and debugging integration.

- Extend recommended filetypes and roots to include F#
- Ensure Treesitter installs the `fsharp` parser
- Add Fantomas formatter in none-ls and Conform
- Ensure Mason installs fsautocomplete and fantomas
- Extend DAP configurations to include `fsharp`

⚠️ For debugging/neotest to work, this PR should be merged together with
[#6540](https://github.com/LazyVim/LazyVim/pull/6540),
which switches Omnisharp extras from `neotest-dotnet` to
`neotest-vstest`.

## Related Issue(s)

N/A

## Screenshots

### Without PR

Sample code:
<img width="1485" height="934" alt="2025-09-27-224704_hyprshot"
src="https://github.com/user-attachments/assets/40993ae2-c7eb-458a-bca9-6e77a1fad323"
/>

### With PR

`:ConformInfo`
<img width="1280" height="573" alt="image"
src="https://github.com/user-attachments/assets/b417fce7-8eb5-4ccc-8bd4-c554060bf9a0"
/>

`:NullLsInfo`
<img width="732" height="544" alt="image"
src="https://github.com/user-attachments/assets/5275e16b-353f-4776-b130-09ec27fde90b"
/>

Sample code before formatting:
<img width="1953" height="1228" alt="2025-09-27-224729_hyprshot"
src="https://github.com/user-attachments/assets/870b17c7-2473-4151-9ccc-23b70d9fbc42"
/>

Sample code after formatting (using Fantomas formatter):
<img width="1930" height="1216" alt="2025-09-27-224752_hyprshot"
src="https://github.com/user-attachments/assets/3b589c2e-b7b2-4fbf-bef7-0aabda586536"
/>

DAP/Neotest debugging the sample code: 
<img width="2548" height="1461" alt="image"
src="https://github.com/user-attachments/assets/b70a9498-041e-48c8-8e7c-78a828d0e17d"
/>



## Attachments
[Sample Project ZIP
Archive](https://github.com/user-attachments/files/22576868/FsSample.zip)

```
sudo pacman -S --needed curl unzip dotnet-sdk # or whatever package manger is on system
curl -O -L "https://github.com/user-attachments/files/22576868/FsSample.zip"
unzip FsSample.zip
cd FsSample
dotnet build  # restoring/building fixes LSP errors 
```     

## Checklist

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

Co-authored-by: Christoph Schmidpeter <christoph.schmidpeter@gmail.com>
2025-10-20 08:02:50 +02:00
Folke Lemaitre
38df28f28c
style: formatting 2025-10-20 07:53:39 +02:00
XTY
0dc41dfe9a
refactor(vscode): reimplement terminal integration and unify calls to extension API (#6076)
## Description

This PR proposes the following changes to the VS Code extra:
- Re-implement the VS Code terminal integration (broken since
[`2f46974`](2f4697443c (diff-f878104b5415a79ed4bb9036974722cad911327fdd46994e04f5065ff90e9a55)),
see comment referenced below)
- Unify calls to the [extension
API](https://github.com/vscode-neovim/vscode-neovim/tree/v1.18.21?tab=readme-ov-file#%EF%B8%8F-api)
- Fully adopt the Lua API in favour of the deprecated Vim script
functions (see [deprecation
notice](https://github.com/vscode-neovim/vscode-neovim/tree/v1.18.21?tab=readme-ov-file#vimscript))
  - Centralise `require("vscode")` calls

## Related Issue(s)

- Fixes
https://github.com/LazyVim/LazyVim/pull/4392#issuecomment-2881395017

## 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>
2025-10-20 07:36:15 +02:00
Jose Storopoli
2a866f6c8c
feat(lang): nix add statix linter (#6244)
## Description

Adds [`statix`](https://github.com/oppiliappan/statix) linter to
`lang/nix.lua` using `nvim-lint`

## Related Issue(s)

None

## Screenshots


## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-10-20 07:20:47 +02:00
Folke Lemaitre
e4d34328f2
fix(typescript): better default pwa-node DAP config. Closes #6386 2025-10-20 07:19:18 +02:00
Folke Lemaitre
1a08e9f50f
fix(telescope): sync keymaps with snacks picker + added some that were missing 2025-10-20 07:04:55 +02:00
folke
c3c2ff465b chore(build): auto-generate docs 2025-10-20 05:02:32 +00:00
Folke Lemaitre
69a5744803
fix(fzf-lua): added some missing keymaps similar to snacks picker. Closes #6036. Closes #5830 2025-10-20 07:01:27 +02:00
Folke Lemaitre
16917db94a
feat(sidekick): added sidekick cli status to lualine 2025-10-19 22:53:32 +02:00
github-actions[bot]
42840b2ffb
chore(main): release 15.9.0 (#6643)
🤖 I have created a release *beep* *boop*
---


##
[15.9.0](https://github.com/LazyVim/LazyVim/compare/v15.8.1...v15.9.0)
(2025-10-19)


### Features

* **docker:** associate 'Containerfile' with 'dockerfile' filetype
([#5974](https://github.com/LazyVim/LazyVim/issues/5974))
([97af4a2](97af4a23bc))
* **extras.rest:** add keymap for changing environment
([#5678](https://github.com/LazyVim/LazyVim/issues/5678))
([1da659d](1da659db4a))
* **java:** enable `blink.cmp` capabilities to show signature
documentation ([#5218](https://github.com/LazyVim/LazyVim/issues/5218))
([9618e32](9618e327ed))
* **lang/omnisharp:** switch neotest adapter to vstest
([#6540](https://github.com/LazyVim/LazyVim/issues/6540))
([4086d44](4086d44a0b))
* **neotest:** extra keymap to attach to a test
([#6198](https://github.com/LazyVim/LazyVim/issues/6198))
([66e927f](66e927fd9d))


### Bug Fixes

* **blink:** remove snippet expand override (no longer needed). Closes
[#6044](https://github.com/LazyVim/LazyVim/issues/6044)
([336e2c3](336e2c3ea6))
* **chezmoi:** add `hidden=false` to fzf picker
([#6095](https://github.com/LazyVim/LazyVim/issues/6095))
([1aa1b59](1aa1b59a7e))
* **copilot-chat:** use up to date config for chat headers
([#6543](https://github.com/LazyVim/LazyVim/issues/6543))
([2c5eef7](2c5eef7df7))
* **extras/rust:** fix config key for files.exclude
([#5664](https://github.com/LazyVim/LazyVim/issues/5664))
([762a34d](762a34d5ad))
* **extras:** adjust switch source/header shortcut
([#6567](https://github.com/LazyVim/LazyVim/issues/6567))
([b36b858](b36b8589b6))
* **extras:** remove procMacro ignored
([#6117](https://github.com/LazyVim/LazyVim/issues/6117))
([4a3702e](4a3702e050))
* **lang.omnisharp:** update CSharpier command and arguments for Mason
compatibility ([#6156](https://github.com/LazyVim/LazyVim/issues/6156))
([dfebe70](dfebe70b8d))
* **lang.rust:** rust-analyzer hanging on root scanned
([#6178](https://github.com/LazyVim/LazyVim/issues/6178))
([7bf8c22](7bf8c22c56))
* **latex:** ensure tex extra installs latex tree-sitter parser
([#6357](https://github.com/LazyVim/LazyVim/issues/6357))
([ae74622](ae74622e66))
* **mini.animate:** schedule the toggle mapping to correctly take effect
([#6483](https://github.com/LazyVim/LazyVim/issues/6483))
([bd23357](bd233579a6))
* **sql:** fix autocomplete when `omni` is used as a `blink.cmp` source
([#5652](https://github.com/LazyVim/LazyVim/issues/5652))
([f6f72b9](f6f72b90d4))
* **treesitter:** attach textobject keymaps to existing buffers on load.
Closes [#6642](https://github.com/LazyVim/LazyVim/issues/6642). Closes
[#6639](https://github.com/LazyVim/LazyVim/issues/6639)
([92a7728](92a7728732))
* **typescript:** make_position_params with offset encoding.
([#6277](https://github.com/LazyVim/LazyVim/issues/6277))
([22152e9](22152e958f))
* **ui:** ignore sidekick_terminal in mini-indentscope
([#6619](https://github.com/LazyVim/LazyVim/issues/6619))
([f0b32b5](f0b32b5955))
* **util:** add some kulala keymaps back to global
([#5960](https://github.com/LazyVim/LazyVim/issues/5960))
([a16739e](a16739e332))
* **vscode:** don't sync undo/redo with vscode
([#5957](https://github.com/LazyVim/LazyVim/issues/5957))
([706ec44](706ec4443a))

---
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>
2025-10-19 13:00:52 +02:00
Folke Lemaitre
c460e97d2b
style: format 2025-10-19 12:57:09 +02:00
Lawrence Ho
9618e327ed
feat(java): enable blink.cmp capabilities to show signature documentation (#5218)
## Description

Enable `blink.cmp` capabilities to show Java signature documentation
during completion.
See also: https://github.com/Saghen/blink.cmp/issues/151

## 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.
2025-10-19 12:55:38 +02:00
Igor Guerrero
f6f72b90d4
fix(sql): fix autocomplete when omni is used as a blink.cmp source (#5652)
## Description

I was trying the `omni` source with `blink.cmp` and I had an error which
you can read more about in this `nvim-compe` issue:
https://github.com/hrsh7th/nvim-compe/issues/286 but the message keeps
showing up after setting that to `syntax` so I mark the default plugin
as loaded, and it works as expected, I think there are more items
returned but I cannot confirm that :).

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-10-19 12:54:41 +02:00
Jarryd Tilbrook
a16739e332
fix(util): add some kulala keymaps back to global (#5960)
## Description

Some kulala keymaps are useful to access globally, such as the
scratchpad. However, #4467 #4574 added all of them to http filetypes
only

This adds the scratchpad and replay last to global keymaps

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-10-19 12:53:46 +02:00
Michael Nikitochkin
97af4a23bc
feat(docker): associate 'Containerfile' with 'dockerfile' filetype (#5974)
## Description

'Containerfile' [1] is a supported alternative name for container build
definitions. It is recognized by Docker and other container tools, and
can help clarify intent in multi-container repositories or
non-Docker-specific setups.

[1]:
https://github.com/containers/common/blob/main/docs/Containerfile.5.md

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-10-19 12:47:59 +02:00
Kian Kasad
7038687b20
chore(python): use debugpy-adapter executable for nvim-dap-python (#6080)
## Description

Uses a less hacky and now officially-supported way of getting the
debugpy DAP adapter path for nvim-dap-python.

Since https://github.com/mfussenegger/nvim-dap-python/pull/184,
nvim-dap-python can start the debugpy adapter using the
`debugpy-adapter` executable. Since
[Mason](f7c1c2fde2/packages/debugpy/package.yaml (L17))
and [now debugpy itself](https://github.com/microsoft/debugpy/pull/1870)
provide this executable, there's no need to get the `python` executable
from debugpy's venv.

I've gone with just `"debugpy-adapter"` rather than
`LazyVim.get_pkg_path("debugpy", "debugpy-adapter")` so that a
system-wide installation of debugpy can also be used.

## 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.
2025-10-19 12:47:17 +02:00
CaueDosAnjos
dfebe70b8d
fix(lang.omnisharp): update CSharpier command and arguments for Mason compatibility (#6156)
## Description
This PR updates the CSharpier integration in LazyVim to reflect changes
in how Mason installs the formatter.

Previously, Mason installed CSharpier as the `dotnet-csharpier` binary,
which allowed running it without additional arguments. Now, Mason
installs it simply as `csharpier`, requiring the explicit format
argument for it to work correctly.

This change updates the formatter command and arguments accordingly to
ensure compatibility with the latest Mason installation and CSharpier
CLI behavior.

## Changes
Replaced `dotnet-csharpier` with `csharpier` as the executable command.

Added the required `format` argument to the command invocation.

## Related Issue(s)
Fixes #6155

## Checklist
I have read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
2025-10-19 12:46:46 +02:00
Folke Lemaitre
336e2c3ea6
fix(blink): remove snippet expand override (no longer needed). Closes #6044 2025-10-19 12:45:07 +02:00