2023-10-12 14:38:25 +02:00
# What's new?
2024-12-12 13:41:14 +01:00
## 14.x
Big new release with a lot of changes and improvements!
Two new plugins have been added, and a lot of plugins have been replaced.
With these changes, default **LazyVim** is now just `34` plugins.
### Added Plugins
- [fzf-lua ](https://github.com/ibhagwan/fzf-lua ) as a replacement for [telescope.nvim ](https://github.com/nvim-telescope/telescope.nvim )
- to use **telescope.nvim** instead, enable the `ui.telescope` extra
- [blink.cmp ](https://github.com/saghm/blink.cmp ) as a replacement for [nvim-cmp ](https://github.com/hrsh7th/nvim-cmp )
- to use **nvim-cmp** instead, enable the `nvim-cmp` extra
### Removed Plugins
- [dressing.nvim ](https://github.com/stevearc/dressing.nvim ) (replaced with [fzf-lua ](https://github.com/ibhagwan/fzf-lua ) and [snacks.input ](https://github.com/folke/snacks.nvim ))
- [telescope-fzf-native.nvim ](https://github.com/nvim-telescope/telescope-fzf-native.nvim ) (replaced with [fzf-lua ](https://github.com/ibhagwan/fzf-lua ))
- [telescope.nvim ](https://github.com/nvim-telescope/telescope.nvim ) (replaced with [fzf-lua ](https://github.com/ibhagwan/fzf-lua ))
- [indent-blankline.nvim ](https://github.com/lukas-reineke/indent-blankline.nvim ) (replaced with [snacks.indent ](https://github.com/Folke/snacks.nvim ))
- to use **indent-blankline.nvim** instead, enable the `indent-blankline` extra
- [nvim-cmp ](https://github.com/hrsh7th/nvim-cmp ) (replaced with [blink ](https://github.com/Saghen/blink.cmp ))
- [nvim-snippets ](https://github.com/hrsh7th/vim-vsnip ) (replaced with [blink ](https://github.com/Saghen/blink.cmp ))
- [cmp-buffer ](https://github.com/hrsh7th/cmp-buffer ) (replaced with [blink ](https://github.com/Saghen/blink.cmp ))
- [cmp-nvim-lsp ](https://github.com/hrsh7th/cmp-nvim-lsp ) (replaced with [blink ](https://github.com/Saghen/blink.cmp ))
- [cmp-path ](https://github.com/hrsh7th/cmp-path ) (replaced with [blink ](https://github.com/Saghen/blink.cmp ))
### Changes
- added [`snacks.input` ](https://github.com/folke/snacks.nvim/blob/main/docs/input.md )
- added [`snacks.scroll` ](https://github.com/folke/snacks.nvim/blob/main/docs/scroll.md )
- added [`snacks.indent` ](https://github.com/folke/snacks.nvim/blob/main/docs/indent.md )
- added [`snacks.scope` ](https://github.com/folke/snacks.nvim/blob/main/docs/scope.md )
- added [`snacks.dim` ](https://github.com/folke/snacks.nvim/blob/main/docs/dim.md )
- added [`snacks.zen` ](https://github.com/folke/snacks.nvim/blob/main/docs/zen.md )
- changed default [`which-key` ](https://github.com/folke/which-key.nvim ) preset to `helix`
- drop `LazyVim.ui.fg` in favor of [`Snacks.util.color` ](https://github.com/folke/snacks.nvim/blob/main/docs/util.md )
To disable **all animations** , add the following to your `options.lua` :
```lua
vim.g.snacks_animate = false
```
### Keymaps
- `<leader>z` to toggle [zen mode ](https://github.com/folke/snacks.nvim/blob/main/docs/zen.md )
- `<leader>Z` to toggle [zoom mode ](https://github.com/folke/snacks.nvim/blob/main/docs/zen.md )
- `<leader>uD` to toggle [dimming ](https://github.com/folke/snacks.nvim/blob/main/docs/dim.md )
- `<leader>ua` to toggle [animations ](https://github.com/folke/snacks.nvim/blob/main/docs/animate.md )
- `<leader>uS` to toggle [scroll ](https://github.com/folke/snacks.nvim/blob/main/docs/scroll.md )
- `<leader>ug` to toggle [indent guides ](https://github.com/folke/snacks.nvim/blob/main/docs/indent.md )
- [`snacks.profiler` ](https://github.com/folke/snacks.nvim/blob/main/docs/profiler.md ) keymaps under `<leader>dp`
---
2024-11-07 15:54:47 +01:00
## 13.x
2024-11-18 23:32:49 +01:00
- **LazyVim** now uses `Snacks.dashboard` as the default dashboard.
Check the [docs ](https://github.com/folke/snacks.nvim/blob/main/docs/dashboard.md ),
for more information and examples.
- A new [dashboard-nvim ](https://github.com/nvimdev/dashboard-nvim ) extra
is available for those who prefer the old dashboard.
2024-11-07 15:54:47 +01:00
- 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)
2024-12-12 13:41:14 +01:00
---
2024-06-08 00:11:24 +02:00
## 12.x
2024-05-16 21:06:45 +02:00
2024-07-23 23:02:56 -07:00
- **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.
2024-07-20 21:39:39 +02:00
- [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.
2024-06-07 23:59:06 +02:00
- This **news** is now also available on the website at [https://www.lazyvim.org/news ](https://www.lazyvim.org/news )
2024-06-07 23:54:57 +02:00
- **prettier** extra now works for all prettier supported filetypes
and will be enabled for astro/svelte extra if you have a proper
config file with the correct prettier plugin
- **New Language Support:** SQL, Clojure, Thrift, Elm, Gleam, Angular,
NuShell, Svelte, Kotlin, Astro, Toml and PHP
2024-06-08 00:11:24 +02:00
- **New Extras:** `copilot-chat` , `git` , `octo` , `inc-rename` and `neogen`
2024-06-07 23:54:57 +02:00
- The **typescript** extra now uses `vtsls` instead of `tsserver`
2024-06-08 00:11:24 +02:00
- **Neovim >= 0.10** now uses the much faster [lazydev.nvim ](https://github.com/folke/lazydev.nvim )
instead of `neodev.nvim`
- moved `neoconf.nvim` to extras. Project specific LSP settings
can be done with a `.lazy.lua` file instead.
2024-12-12 13:41:14 +01:00
---
2024-06-08 00:11:24 +02:00
## 11.x
2024-06-07 23:54:57 +02:00
- **Keymaps:**
- `<leader>gB` to open the current repo in the browser
- `gco` and `gcO` to add a comment below or above the current line
- `<leader>wm` to toggle window maximize
- **lazydev.nvim:** faster alternative to `neodev.nvim`
- **Options:** Added `linebreak=true` to default options.
2024-05-18 21:52:16 +02:00
- `mini.ai` is back as a default plugin! Removing it was a mistake.
It's a great plugin that enhances the native text objects.
2024-05-18 14:53:20 +02:00
- `:LazyExtras` now has multiple new sections:
- **Enabled**: extras that are currently enabled
- **Recommended Languages**: language extras recommended for the current buffer / directory
- **Recommended Plugins**: extras that are recommended for most users
- **Plugins**: other plugin extras
- **Languages**: other language extras
2024-05-17 10:10:28 +02:00
- new option `vim.g.deprecation_warnings` to disable deprecation warnings
2024-05-19 00:23:37 -07:00
Defaults to `false` . To enable deprecation warnings, set it to `true` in your `options.lua`
2024-05-17 10:10:28 +02:00
- `vim-illuminate` move to extras
Document highlights now use native lsp functionality by default
2024-05-16 21:06:45 +02:00
Since Neovim 0.10 has been released, I've been working on a new version of **LazyVim**
that is fully compatible with all the latest Neovim features.
Additionally, some core plugins have been moved to extras.
2024-05-17 17:23:11 +10:00
- `native snippets` are now the default on Neovim 0.10
2024-05-16 21:06:45 +02:00
Older versions of Neovim will use the new `luasnip` extra.
- `native comments` are now the default on Neovim 0.10
Older versions of Neovim will use the new `mini-comment` extra.
`nvim-ts-context-commentstring` has been integrated in the native comments.
2024-05-16 21:23:29 +02:00
- `inlay hints` have been in **LazyVim** for a while, but are now
2024-05-16 23:02:26 +03:00
enabled by default. To disable them:
2024-05-16 21:23:29 +02:00
```lua
{
"nvim-lspconfig",
opts = {
2024-05-16 23:02:26 +03:00
inlay_hints = { enabled = false },
2024-05-16 21:23:29 +02:00
}
}
```
2024-05-16 21:06:45 +02:00
- plugins moved to extras:
- `mini.surround`
- `mini.indentscope` scopes are now also highlighted with `indent-blankline`
- `nvim-treesitter-context`
2024-12-12 13:41:14 +01:00
---
2023-10-12 14:38:25 +02:00
## 10.x
2024-03-28 23:41:54 +01:00
- added new extra for [mini.diff ](https://github.com/echasnovski/mini.nvim/blob/main/readmes/mini-diff.md )
This is a plugin similar to gitsigns but with a neat diff overlay
that can be toggled with `<leader>go` .
2024-03-28 22:11:51 +01:00
- **trouble.nvim** has been rewritten from scratch and is now in beta.
I've added a new extra for it (`trouble-v3` ) for those of you who want to try it out.
You can find the updated docs [here ](https://github.com/folke/trouble.nvim/tree/dev )
2024-03-26 19:53:38 +01:00
- The **lazygit** integration now configures:
- the theme based on the colorscheme
- nerd font icons (v3)
- editor preset is set to `nvim-remote` for better interop with Neovim
- The option `vim.g.lazygit_theme` was renamed to `vim.g.lazygit_config`
2024-03-26 12:43:03 +01:00
- **lazygit** now automatically uses the colors of your current colorscheme.
This is enabled by default. To disable, add the below to your `options.lua` :
```lua
2024-03-26 19:53:38 +01:00
vim.g.lazygit_config = false
2024-03-26 12:43:03 +01:00
```
- Added support for `basedpyright` to the **python** extra.
Enable in your `options.lua` with:
```lua
vim.g.lazyvim_python_lsp = "basedpyright"
```
Be aware that `basedpyright` is still in development and
may not work exactly the same as `pyright` .
2023-10-12 21:47:31 +02:00
- User extras under `lua/plugins/extras` can now also be managed
with **LazyExtras**
2023-10-12 14:38:25 +02:00
- `nvim-ts-autotag` is now included by default
- `nvim-treesitter-context` is now included by default
- Added extra for `symbols-outline.nvim`
- Added extra for `aerial.nvim`
- `nvim-navic` has been removed. If you want to keep using `nvim-navic` ,
you can enable the **editor.navic** extra
- New `:LazyExtras` command for managing **LazyVim** extras
- Improved **formatting** :
- **LazyVim** can now work with multiple formatters. Types:
- **primary**: only one primary formatter can be active at a time.
_(conform, none-ls, LSP)_
- **secondary**: multiple secondary formatters can be active _(eslint, ...)_
- **LazyVim** automatically selects the primary formatter based on the
current available sources and priorities.
- New `:LazyFormat` command for formatting the current selection or buffer
- New `:LazyFormatInfo` command for displaying the active formatters
for the current buffer
- Auto-formatting can be disabled with:
```lua
vim.g.autoformat = false -- globally
vim.b.autoformat = false -- buffer-local
```
- `none-ls.nvim` is no longer installed by default
- `conform.nvim` is now the default formatter
- `nvim-lint` is now the default linter
- If you want to keep using `none-ls.nvim` ,
you can enable the **lsp.none-ls** extra
- `dashboard.nvim` is the new default dashboard plugin
- If you want to keep using `alpha.nvim` , you can enable the **ui.alpha** extra
- Improved **root detection** :
- New `:LazyRoot` command that shows info about the root dir detection
- Configurable with `vim.g.root_spec`
```lua
-- LazyVim root dir detection
-- Each entry can be:
-- * the name of a detector function like `lsp` or `cwd`
-- * a pattern or array of patterns like `.git` or `lua` .
-- * a function with signature `function(buf) -> string|string[]`
vim.g.root_spec = { "lsp", { ".git", "lua" }, "cwd" }
-- To disable root detection set to just "cwd"
vim.g.root_spec = { "cwd" }
```