mirror of
https://github.com/LazyVim/LazyVim.git
synced 2026-07-25 14:01:06 +00:00
Merge branch 'LazyVim:main' into main
This commit is contained in:
commit
501165a3f4
14 changed files with 151 additions and 77 deletions
2
.github/.release-please-manifest.json
vendored
2
.github/.release-please-manifest.json
vendored
|
|
@ -1,3 +1,3 @@
|
||||||
{
|
{
|
||||||
".": "13.4.0"
|
".": "13.5.0"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
19
CHANGELOG.md
19
CHANGELOG.md
|
|
@ -1,5 +1,24 @@
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## [13.5.0](https://github.com/LazyVim/LazyVim/compare/v13.4.0...v13.5.0) (2024-11-18)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **copilot-chat:** remove call to nvim-cmp integration ([#4822](https://github.com/LazyVim/LazyVim/issues/4822)) ([af95531](https://github.com/LazyVim/LazyVim/commit/af9553135da3c42ff83824db0f9dfaaa9ad5973f))
|
||||||
|
* **snacks:** use `snacks.dashboard` as the default dashboard. moved `dashboard-nvim` to extras ([#4832](https://github.com/LazyVim/LazyVim/issues/4832)) ([a07db1a](https://github.com/LazyVim/LazyVim/commit/a07db1a72334bf6550683d5f9132d806febed1cd))
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **lualine:** dont show statusline on snacks_dashboard ([33557ae](https://github.com/LazyVim/LazyVim/commit/33557ae68b76954df0288603f39b3f0181bada52))
|
||||||
|
* **tabnine:** dont call CmpTabnineHub in build. Fixes [#4828](https://github.com/LazyVim/LazyVim/issues/4828) ([6dcf5d7](https://github.com/LazyVim/LazyVim/commit/6dcf5d7159d13a21d3148779b5b80048573fcdf1))
|
||||||
|
|
||||||
|
|
||||||
|
### Performance Improvements
|
||||||
|
|
||||||
|
* **ui:** never show folds on dashboards ([0352f94](https://github.com/LazyVim/LazyVim/commit/0352f944c34a3aa8a949102a2fe2ded7a1da3cd0))
|
||||||
|
|
||||||
## [13.4.0](https://github.com/LazyVim/LazyVim/compare/v13.3.1...v13.4.0) (2024-11-16)
|
## [13.4.0](https://github.com/LazyVim/LazyVim/compare/v13.3.1...v13.4.0) (2024-11-16)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
7
NEWS.md
7
NEWS.md
|
|
@ -2,6 +2,13 @@
|
||||||
|
|
||||||
## 13.x
|
## 13.x
|
||||||
|
|
||||||
|
- **LazyVim** now uses `Snacks.dashboard` as the default dashboard.
|
||||||
|
Check the [docs](https://github.com/folke/snacks.nvim/blob/main/docs/dashboard.md),
|
||||||
|
for more information and examples.
|
||||||
|
|
||||||
|
- A new [dashboard-nvim](https://github.com/nvimdev/dashboard-nvim) extra
|
||||||
|
is available for those who prefer the old dashboard.
|
||||||
|
|
||||||
- Big new release with a lot of changes and improvements!
|
- Big new release with a lot of changes and improvements!
|
||||||
|
|
||||||
- The biggest change is the move of a bunch of core features to
|
- The biggest change is the move of a bunch of core features to
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
*LazyVim.txt* For Neovim Last change: 2024 November 16
|
*LazyVim.txt* For Neovim Last change: 2024 November 18
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
Table of Contents *LazyVim-table-of-contents*
|
Table of Contents *LazyVim-table-of-contents*
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ _G.LazyVim = require("lazyvim.util")
|
||||||
---@class LazyVimConfig: LazyVimOptions
|
---@class LazyVimConfig: LazyVimOptions
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
M.version = "13.4.0" -- x-release-please-version
|
M.version = "13.5.0" -- x-release-please-version
|
||||||
LazyVim.config = M
|
LazyVim.config = M
|
||||||
|
|
||||||
---@class LazyVimOptions
|
---@class LazyVimOptions
|
||||||
|
|
|
||||||
|
|
@ -66,9 +66,6 @@ return {
|
||||||
},
|
},
|
||||||
config = function(_, opts)
|
config = function(_, opts)
|
||||||
local chat = require("CopilotChat")
|
local chat = require("CopilotChat")
|
||||||
if pcall(require, "cmp") then
|
|
||||||
require("CopilotChat.integrations.cmp").setup()
|
|
||||||
end
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd("BufEnter", {
|
vim.api.nvim_create_autocmd("BufEnter", {
|
||||||
pattern = "copilot-chat",
|
pattern = "copilot-chat",
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,6 @@ return {
|
||||||
"tzachar/cmp-tabnine",
|
"tzachar/cmp-tabnine",
|
||||||
build = {
|
build = {
|
||||||
LazyVim.is_win() and "pwsh -noni .\\install.ps1" or "./install.sh",
|
LazyVim.is_win() and "pwsh -noni .\\install.ps1" or "./install.sh",
|
||||||
":CmpTabnineHub",
|
|
||||||
},
|
},
|
||||||
dependencies = "hrsh7th/nvim-cmp",
|
dependencies = "hrsh7th/nvim-cmp",
|
||||||
opts = {
|
opts = {
|
||||||
|
|
|
||||||
|
|
@ -122,6 +122,25 @@ return {
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
-- blink.cmp integration
|
||||||
|
{
|
||||||
|
"saghen/blink.cmp",
|
||||||
|
optional = true,
|
||||||
|
opts = {
|
||||||
|
sources = {
|
||||||
|
completion = {
|
||||||
|
enabled_providers = { "dadbod" },
|
||||||
|
},
|
||||||
|
providers = {
|
||||||
|
dadbod = { name = "Dadbod", module = "vim_dadbod_completion.blink" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
dependencies = {
|
||||||
|
"kristijanhusak/vim-dadbod-completion",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
-- Linters & formatters
|
-- Linters & formatters
|
||||||
{
|
{
|
||||||
"williamboman/mason.nvim",
|
"williamboman/mason.nvim",
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
return {
|
return {
|
||||||
|
|
||||||
{ "nvimdev/dashboard-nvim", enabled = false },
|
{ "folke/snacks.nvim", opts = { dashboard = { enabled = false } } },
|
||||||
{ "echasnovski/mini.starter", enabled = false },
|
|
||||||
-- Dashboard. This runs when neovim starts, and is what displays
|
-- Dashboard. This runs when neovim starts, and is what displays
|
||||||
-- the "LAZYVIM" banner.
|
-- the "LAZYVIM" banner.
|
||||||
{
|
{
|
||||||
|
|
|
||||||
68
lua/lazyvim/plugins/extras/ui/dashboard-nvim.lua
Normal file
68
lua/lazyvim/plugins/extras/ui/dashboard-nvim.lua
Normal file
|
|
@ -0,0 +1,68 @@
|
||||||
|
return {
|
||||||
|
{ "folke/snacks.nvim", opts = { dashboard = { enabled = false } } },
|
||||||
|
{
|
||||||
|
"nvimdev/dashboard-nvim",
|
||||||
|
lazy = false, -- As https://github.com/nvimdev/dashboard-nvim/pull/450, dashboard-nvim shouldn't be lazy-loaded to properly handle stdin.
|
||||||
|
opts = function()
|
||||||
|
local logo = [[
|
||||||
|
██╗ █████╗ ███████╗██╗ ██╗██╗ ██╗██╗███╗ ███╗ Z
|
||||||
|
██║ ██╔══██╗╚══███╔╝╚██╗ ██╔╝██║ ██║██║████╗ ████║ Z
|
||||||
|
██║ ███████║ ███╔╝ ╚████╔╝ ██║ ██║██║██╔████╔██║ z
|
||||||
|
██║ ██╔══██║ ███╔╝ ╚██╔╝ ╚██╗ ██╔╝██║██║╚██╔╝██║ z
|
||||||
|
███████╗██║ ██║███████╗ ██║ ╚████╔╝ ██║██║ ╚═╝ ██║
|
||||||
|
╚══════╝╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═══╝ ╚═╝╚═╝ ╚═╝
|
||||||
|
]]
|
||||||
|
|
||||||
|
logo = string.rep("\n", 8) .. logo .. "\n\n"
|
||||||
|
|
||||||
|
local opts = {
|
||||||
|
theme = "doom",
|
||||||
|
hide = {
|
||||||
|
-- this is taken care of by lualine
|
||||||
|
-- enabling this messes up the actual laststatus setting after loading a file
|
||||||
|
statusline = false,
|
||||||
|
},
|
||||||
|
config = {
|
||||||
|
header = vim.split(logo, "\n"),
|
||||||
|
-- stylua: ignore
|
||||||
|
center = {
|
||||||
|
{ action = 'lua LazyVim.pick()()', desc = " Find File", icon = " ", key = "f" },
|
||||||
|
{ action = "ene | startinsert", desc = " New File", icon = " ", key = "n" },
|
||||||
|
{ action = 'lua LazyVim.pick("oldfiles")()', desc = " Recent Files", icon = " ", key = "r" },
|
||||||
|
{ action = 'lua LazyVim.pick("live_grep")()', desc = " Find Text", icon = " ", key = "g" },
|
||||||
|
{ action = 'lua LazyVim.pick.config_files()()', desc = " Config", icon = " ", key = "c" },
|
||||||
|
{ action = 'lua require("persistence").load()', desc = " Restore Session", icon = " ", key = "s" },
|
||||||
|
{ action = "LazyExtras", desc = " Lazy Extras", icon = " ", key = "x" },
|
||||||
|
{ action = "Lazy", desc = " Lazy", icon = " ", key = "l" },
|
||||||
|
{ action = function() vim.api.nvim_input("<cmd>qa<cr>") end, desc = " Quit", icon = " ", key = "q" },
|
||||||
|
},
|
||||||
|
footer = function()
|
||||||
|
local stats = require("lazy").stats()
|
||||||
|
local ms = (math.floor(stats.startuptime * 100 + 0.5) / 100)
|
||||||
|
return { "⚡ Neovim loaded " .. stats.loaded .. "/" .. stats.count .. " plugins in " .. ms .. "ms" }
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, button in ipairs(opts.config.center) do
|
||||||
|
button.desc = button.desc .. string.rep(" ", 43 - #button.desc)
|
||||||
|
button.key_format = " %s"
|
||||||
|
end
|
||||||
|
|
||||||
|
-- open dashboard after closing lazy
|
||||||
|
if vim.o.filetype == "lazy" then
|
||||||
|
vim.api.nvim_create_autocmd("WinClosed", {
|
||||||
|
pattern = tostring(vim.api.nvim_get_current_win()),
|
||||||
|
once = true,
|
||||||
|
callback = function()
|
||||||
|
vim.schedule(function()
|
||||||
|
vim.api.nvim_exec_autocmds("UIEnter", { group = "dashboard" })
|
||||||
|
end)
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
return opts
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
@ -1,8 +1,7 @@
|
||||||
-- start screen
|
-- start screen
|
||||||
return {
|
return {
|
||||||
-- disable alpha
|
-- disable alpha
|
||||||
{ "goolord/alpha-nvim", enabled = false },
|
{ "folke/snacks.nvim", opts = { dashboard = { enabled = false } } },
|
||||||
{ "nvimdev/dashboard-nvim", enabled = false },
|
|
||||||
|
|
||||||
-- enable mini.starter
|
-- enable mini.starter
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -30,11 +30,9 @@ return {
|
||||||
opts = function()
|
opts = function()
|
||||||
---@type snacks.Config
|
---@type snacks.Config
|
||||||
return {
|
return {
|
||||||
|
bigfile = { enabled = true },
|
||||||
notifier = { enabled = true },
|
notifier = { enabled = true },
|
||||||
quickfile = { enabled = true },
|
quickfile = { enabled = true },
|
||||||
bigfile = { enabled = true },
|
|
||||||
words = { enabled = true },
|
|
||||||
toggle = { map = LazyVim.safe_keymap_set },
|
|
||||||
statuscolumn = { enabled = false }, -- we set this in options.lua
|
statuscolumn = { enabled = false }, -- we set this in options.lua
|
||||||
terminal = {
|
terminal = {
|
||||||
win = {
|
win = {
|
||||||
|
|
@ -46,6 +44,8 @@ return {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
toggle = { map = LazyVim.safe_keymap_set },
|
||||||
|
words = { enabled = true },
|
||||||
}
|
}
|
||||||
end,
|
end,
|
||||||
keys = {
|
keys = {
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,7 @@ return {
|
||||||
options = {
|
options = {
|
||||||
theme = "auto",
|
theme = "auto",
|
||||||
globalstatus = vim.o.laststatus == 3,
|
globalstatus = vim.o.laststatus == 3,
|
||||||
disabled_filetypes = { statusline = { "dashboard", "alpha", "ministarter" } },
|
disabled_filetypes = { statusline = { "dashboard", "alpha", "ministarter", "snacks_dashboard" } },
|
||||||
},
|
},
|
||||||
sections = {
|
sections = {
|
||||||
lualine_a = { "mode" },
|
lualine_a = { "mode" },
|
||||||
|
|
@ -307,68 +307,31 @@ return {
|
||||||
{ "MunifTanjim/nui.nvim", lazy = true },
|
{ "MunifTanjim/nui.nvim", lazy = true },
|
||||||
|
|
||||||
{
|
{
|
||||||
"nvimdev/dashboard-nvim",
|
"folke/snacks.nvim",
|
||||||
lazy = false, -- As https://github.com/nvimdev/dashboard-nvim/pull/450, dashboard-nvim shouldn't be lazy-loaded to properly handle stdin.
|
opts = {
|
||||||
opts = function()
|
dashboard = {
|
||||||
local logo = [[
|
preset = {
|
||||||
|
header = [[
|
||||||
██╗ █████╗ ███████╗██╗ ██╗██╗ ██╗██╗███╗ ███╗ Z
|
██╗ █████╗ ███████╗██╗ ██╗██╗ ██╗██╗███╗ ███╗ Z
|
||||||
██║ ██╔══██╗╚══███╔╝╚██╗ ██╔╝██║ ██║██║████╗ ████║ Z
|
██║ ██╔══██╗╚══███╔╝╚██╗ ██╔╝██║ ██║██║████╗ ████║ Z
|
||||||
██║ ███████║ ███╔╝ ╚████╔╝ ██║ ██║██║██╔████╔██║ z
|
██║ ███████║ ███╔╝ ╚████╔╝ ██║ ██║██║██╔████╔██║ z
|
||||||
██║ ██╔══██║ ███╔╝ ╚██╔╝ ╚██╗ ██╔╝██║██║╚██╔╝██║ z
|
██║ ██╔══██║ ███╔╝ ╚██╔╝ ╚██╗ ██╔╝██║██║╚██╔╝██║ z
|
||||||
███████╗██║ ██║███████╗ ██║ ╚████╔╝ ██║██║ ╚═╝ ██║
|
███████╗██║ ██║███████╗ ██║ ╚████╔╝ ██║██║ ╚═╝ ██║
|
||||||
╚══════╝╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═══╝ ╚═╝╚═╝ ╚═╝
|
╚══════╝╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═══╝ ╚═╝╚═╝ ╚═╝
|
||||||
]]
|
]],
|
||||||
|
---@param keys snacks.dashboard.Item[]
|
||||||
logo = string.rep("\n", 8) .. logo .. "\n\n"
|
keys = function(keys)
|
||||||
|
-- add LazyExtra before Lazy
|
||||||
local opts = {
|
for k, key in ipairs(keys) do
|
||||||
theme = "doom",
|
if key.action == ":Lazy" then
|
||||||
hide = {
|
key.key = "l" -- we don't have multiple panes, so `l` is free
|
||||||
-- this is taken care of by lualine
|
table.insert(keys, k, { icon = " ", desc = "Lazy Extras", action = ":LazyExtras", key = "x" })
|
||||||
-- enabling this messes up the actual laststatus setting after loading a file
|
break
|
||||||
statusline = false,
|
end
|
||||||
},
|
end
|
||||||
config = {
|
|
||||||
header = vim.split(logo, "\n"),
|
|
||||||
-- stylua: ignore
|
|
||||||
center = {
|
|
||||||
{ action = 'lua LazyVim.pick()()', desc = " Find File", icon = " ", key = "f" },
|
|
||||||
{ action = "ene | startinsert", desc = " New File", icon = " ", key = "n" },
|
|
||||||
{ action = 'lua LazyVim.pick("oldfiles")()', desc = " Recent Files", icon = " ", key = "r" },
|
|
||||||
{ action = 'lua LazyVim.pick("live_grep")()', desc = " Find Text", icon = " ", key = "g" },
|
|
||||||
{ action = 'lua LazyVim.pick.config_files()()', desc = " Config", icon = " ", key = "c" },
|
|
||||||
{ action = 'lua require("persistence").load()', desc = " Restore Session", icon = " ", key = "s" },
|
|
||||||
{ action = "LazyExtras", desc = " Lazy Extras", icon = " ", key = "x" },
|
|
||||||
{ action = "Lazy", desc = " Lazy", icon = " ", key = "l" },
|
|
||||||
{ action = function() vim.api.nvim_input("<cmd>qa<cr>") end, desc = " Quit", icon = " ", key = "q" },
|
|
||||||
},
|
|
||||||
footer = function()
|
|
||||||
local stats = require("lazy").stats()
|
|
||||||
local ms = (math.floor(stats.startuptime * 100 + 0.5) / 100)
|
|
||||||
return { "⚡ Neovim loaded " .. stats.loaded .. "/" .. stats.count .. " plugins in " .. ms .. "ms" }
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
for _, button in ipairs(opts.config.center) do
|
|
||||||
button.desc = button.desc .. string.rep(" ", 43 - #button.desc)
|
|
||||||
button.key_format = " %s"
|
|
||||||
end
|
|
||||||
|
|
||||||
-- open dashboard after closing lazy
|
|
||||||
if vim.o.filetype == "lazy" then
|
|
||||||
vim.api.nvim_create_autocmd("WinClosed", {
|
|
||||||
pattern = tostring(vim.api.nvim_get_current_win()),
|
|
||||||
once = true,
|
|
||||||
callback = function()
|
|
||||||
vim.schedule(function()
|
|
||||||
vim.api.nvim_exec_autocmds("UIEnter", { group = "dashboard" })
|
|
||||||
end)
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end
|
|
||||||
|
|
||||||
return opts
|
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,8 +15,12 @@ function M.foldexpr()
|
||||||
if vim.bo[buf].filetype == "" then
|
if vim.bo[buf].filetype == "" then
|
||||||
return "0"
|
return "0"
|
||||||
end
|
end
|
||||||
|
if vim.bo[buf].filetype:find("dashboard") then
|
||||||
|
vim.b[buf].ts_folds = false
|
||||||
|
else
|
||||||
vim.b[buf].ts_folds = pcall(vim.treesitter.get_parser, buf)
|
vim.b[buf].ts_folds = pcall(vim.treesitter.get_parser, buf)
|
||||||
end
|
end
|
||||||
|
end
|
||||||
return vim.b[buf].ts_folds and vim.treesitter.foldexpr() or "0"
|
return vim.b[buf].ts_folds and vim.treesitter.foldexpr() or "0"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue