Merge branch 'main' into main

This commit is contained in:
Vladimir Shvets 2025-02-04 17:13:39 +07:00 committed by GitHub
commit f6d7895cff
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 135 additions and 11 deletions

View file

@ -1,3 +1,3 @@
{ {
".": "14.8.0" ".": "14.9.0"
} }

View file

@ -1,5 +1,33 @@
# Changelog # Changelog
## [14.9.0](https://github.com/LazyVim/LazyVim/compare/v14.8.0...v14.9.0) (2025-01-30)
### Features
* **markdown:** added markdown support for codecompanion ([e9db488](https://github.com/LazyVim/LazyVim/commit/e9db488acaa04f1a9eca6d022e57fed4271b8af8))
* **snacks.picker:** added <leader>si to search icons ([#5460](https://github.com/LazyVim/LazyVim/issues/5460)) ([eea52be](https://github.com/LazyVim/LazyVim/commit/eea52be3447502dde77d9e6fa75fd597a0b5a86a))
* **snacks.picker:** added <leader>su to search undotree ([#5447](https://github.com/LazyVim/LazyVim/issues/5447)) ([332b320](https://github.com/LazyVim/LazyVim/commit/332b32080c52727a16db90e06989caa0c378caa1))
* **snacks.picker:** added `leader-fB` to find any buffer (including hidden & nofile) ([83bf636](https://github.com/LazyVim/LazyVim/commit/83bf6360a1f28a3fc1afe31ae300247fc01c7a90))
* **snacks.picker:** added `leader-sp` to search for plugin spec ([7cf4185](https://github.com/LazyVim/LazyVim/commit/7cf4185dc4d1fe49ad004d33a6703603fb4500ff))
* **snacks.picker:** added alt-c to toggle between cwd/root dir ([6be7c4f](https://github.com/LazyVim/LazyVim/commit/6be7c4fee4fb755ff07f7bcc13eac96e1d8c279a))
* **snacks.picker:** flash.nvim integration ([5d24aa6](https://github.com/LazyVim/LazyVim/commit/5d24aa63111af68fbada8c97fedb75b07b8c3c92))
* **snacks.picker:** use snacks picker for notifications when enabled ([01a70cc](https://github.com/LazyVim/LazyVim/commit/01a70cc60ed2760afc819510177fb8d12a371b25))
* **snacks:** extra for snacks explorer (replacement for neo-tree) ([e20d9af](https://github.com/LazyVim/LazyVim/commit/e20d9afcbc980510093a3753a3991d8c934cbb75))
* **snippets:** an extra for mini.snippets ([#5274](https://github.com/LazyVim/LazyVim/issues/5274)) ([8b4e6ff](https://github.com/LazyVim/LazyVim/commit/8b4e6ff70d682cad3b1f4999623c3f0ac639fa82))
### Bug Fixes
* **keymaps:** remove unneeded and ambiguous `<leader>w` keymap ([#5459](https://github.com/LazyVim/LazyVim/issues/5459)) ([132986a](https://github.com/LazyVim/LazyVim/commit/132986a624b49bf740161d90ce94f16dd5ea5883))
* **luasnip:** schedule `jump` to be compatible with blink, nvim-cmp still works after change ([#5470](https://github.com/LazyVim/LazyVim/issues/5470)) ([0350934](https://github.com/LazyVim/LazyVim/commit/0350934d56579f3e6a9d40fa47313b2970d74772))
* **root:** pass args to root.get ([dc8512f](https://github.com/LazyVim/LazyVim/commit/dc8512fce1ec1cd4b0ca52d1077b2ed3894d51c8))
* **snacks.picker:** flash integration ([b5cd0d0](https://github.com/LazyVim/LazyVim/commit/b5cd0d0e27081be3ef1905475a0fe541b7661870))
* **snacks.picker:** snacks => flash ([3de7b24](https://github.com/LazyVim/LazyVim/commit/3de7b24cf6ed844772ea047476a400c56d5f4b42))
* **snacks:** use `Snacks.picker` for recent files ([#5485](https://github.com/LazyVim/LazyVim/issues/5485)) ([f0d2629](https://github.com/LazyVim/LazyVim/commit/f0d2629bd859eeac343999b0fe145f9beb227c4a))
* **sql:** better nvim-cmp check. Closes [#5188](https://github.com/LazyVim/LazyVim/issues/5188) ([1e83b4f](https://github.com/LazyVim/LazyVim/commit/1e83b4f843f88678189df81b1c88a400c53abdbc))
* **vscode:** diabled some snacks plugins. Fixes [#5364](https://github.com/LazyVim/LazyVim/issues/5364) ([c7a7ab5](https://github.com/LazyVim/LazyVim/commit/c7a7ab51129692927ae47f4e57ce22d10d48467e))
## [14.8.0](https://github.com/LazyVim/LazyVim/compare/v14.7.0...v14.8.0) (2025-01-20) ## [14.8.0](https://github.com/LazyVim/LazyVim/compare/v14.7.0...v14.8.0) (2025-01-20)

View file

@ -1,4 +1,4 @@
*LazyVim.txt* For Neovim Last change: 2025 January 23 *LazyVim.txt* For Neovim Last change: 2025 February 02
============================================================================== ==============================================================================
Table of Contents *LazyVim-table-of-contents* Table of Contents *LazyVim-table-of-contents*

View file

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

View file

@ -182,7 +182,6 @@ map("t", "<C-/>", "<cmd>close<cr>", { desc = "Hide Terminal" })
map("t", "<c-_>", "<cmd>close<cr>", { desc = "which_key_ignore" }) map("t", "<c-_>", "<cmd>close<cr>", { desc = "which_key_ignore" })
-- windows -- windows
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>s", { desc = "Split Window Below", remap = true })
map("n", "<leader>|", "<C-W>v", { desc = "Split Window Right", remap = true }) map("n", "<leader>|", "<C-W>v", { desc = "Split Window Right", remap = true })
map("n", "<leader>wd", "<C-W>c", { desc = "Delete Window", remap = true }) map("n", "<leader>wd", "<C-W>c", { desc = "Delete Window", remap = true })

View file

@ -5,11 +5,12 @@ return {
"zbirenbaum/copilot.lua", "zbirenbaum/copilot.lua",
cmd = "Copilot", cmd = "Copilot",
build = ":Copilot auth", build = ":Copilot auth",
event = "InsertEnter", event = "BufReadPost",
opts = { opts = {
suggestion = { suggestion = {
enabled = not vim.g.ai_cmp, enabled = not vim.g.ai_cmp,
auto_trigger = true, auto_trigger = true,
hide_during_completion = vim.g.ai_cmp,
keymap = { keymap = {
accept = false, -- handled by nvim-cmp / blink.cmp accept = false, -- handled by nvim-cmp / blink.cmp
next = "<M-]>", next = "<M-]>",

View file

@ -30,7 +30,9 @@ return {
opts = function() opts = function()
LazyVim.cmp.actions.snippet_forward = function() LazyVim.cmp.actions.snippet_forward = function()
if require("luasnip").jumpable(1) then if require("luasnip").jumpable(1) then
require("luasnip").jump(1) vim.schedule(function()
require("luasnip").jump(1)
end)
return true return true
end end
end end

View file

@ -61,7 +61,7 @@ return {
{ "L3MON4D3/LuaSnip", optional = true, enabled = false }, { "L3MON4D3/LuaSnip", optional = true, enabled = false },
-- add mini.snippets -- add mini.snippets
desc = "mini.snippets(beta), a plugin to manage and expand snippets (alternative for luasnip)", desc = "Manage and expand snippets (alternative to Luasnip)",
{ {
"echasnovski/mini.snippets", "echasnovski/mini.snippets",
event = "InsertEnter", -- don't depend on other plugins to load... event = "InsertEnter", -- don't depend on other plugins to load...

View file

@ -0,0 +1,25 @@
return {
{ "nvim-neo-tree/neo-tree.nvim", enabled = false },
{
"folke/snacks.nvim",
opts = { explorer = {} },
keys = {
{
"<leader>fe",
function()
Snacks.explorer({ cwd = LazyVim.root() })
end,
desc = "Explorer Snacks (root dir)",
},
{
"<leader>fE",
function()
Snacks.explorer()
end,
desc = "Explorer Snacks (cwd)",
},
{ "<leader>e", "<leader>fe", desc = "Explorer Snacks (root dir)", remap = true },
{ "<leader>E", "<leader>fE", desc = "Explorer Snacks (cwd)", remap = true },
},
},
}

View file

@ -60,6 +60,7 @@ return {
{ "<leader>/", LazyVim.pick("grep"), desc = "Grep (Root Dir)" }, { "<leader>/", LazyVim.pick("grep"), desc = "Grep (Root Dir)" },
{ "<leader>:", function() Snacks.picker.command_history() end, desc = "Command History" }, { "<leader>:", function() Snacks.picker.command_history() end, desc = "Command History" },
{ "<leader><space>", LazyVim.pick("files"), desc = "Find Files (Root Dir)" }, { "<leader><space>", LazyVim.pick("files"), desc = "Find Files (Root Dir)" },
{ "<leader>n", function() Snacks.picker.notifications() end, desc = "Notification History" },
-- find -- find
{ "<leader>fb", function() Snacks.picker.buffers() end, desc = "Buffers" }, { "<leader>fb", function() Snacks.picker.buffers() end, desc = "Buffers" },
{ "<leader>fB", function() Snacks.picker.buffers({ hidden = true, nofile = true }) end, desc = "Buffers (all)" }, { "<leader>fB", function() Snacks.picker.buffers({ hidden = true, nofile = true }) end, desc = "Buffers (all)" },
@ -68,7 +69,7 @@ return {
{ "<leader>fF", LazyVim.pick("files", { root = false }), desc = "Find Files (cwd)" }, { "<leader>fF", LazyVim.pick("files", { root = false }), desc = "Find Files (cwd)" },
{ "<leader>fg", function() Snacks.picker.git_files() end, desc = "Find Files (git-files)" }, { "<leader>fg", function() Snacks.picker.git_files() end, desc = "Find Files (git-files)" },
{ "<leader>fr", LazyVim.pick("oldfiles"), desc = "Recent" }, { "<leader>fr", LazyVim.pick("oldfiles"), desc = "Recent" },
{ "<leader>fR", LazyVim.pick("oldfiles", { filter = { cwd = true }}), desc = "Recent (cwd)" }, { "<leader>fR", function() Snacks.picker.recent({ filter = { cwd = true }}) end, desc = "Recent (cwd)" },
{ "<leader>fp", function() Snacks.picker.projects() end, desc = "Projects" }, { "<leader>fp", function() Snacks.picker.projects() end, desc = "Projects" },
-- git -- git
{ "<leader>gc", function() Snacks.picker.git_log() end, desc = "Git Log" }, { "<leader>gc", function() Snacks.picker.git_log() end, desc = "Git Log" },
@ -109,7 +110,11 @@ return {
if LazyVim.has("trouble.nvim") then if LazyVim.has("trouble.nvim") then
return vim.tbl_deep_extend("force", opts or {}, { return vim.tbl_deep_extend("force", opts or {}, {
picker = { picker = {
actions = require("trouble.sources.snacks").actions, actions = {
trouble_open = function(...)
return require("trouble.sources.snacks").actions.trouble_open.action(...)
end,
},
win = { win = {
input = { input = {
keys = { keys = {
@ -152,4 +157,45 @@ return {
{ "<leader>sT", function () Snacks.picker.todo_comments({ keywords = { "TODO", "FIX", "FIXME" } }) end, desc = "Todo/Fix/Fixme" }, { "<leader>sT", function () Snacks.picker.todo_comments({ keywords = { "TODO", "FIX", "FIXME" } }) end, desc = "Todo/Fix/Fixme" },
}, },
}, },
{
"folke/flash.nvim",
optional = true,
specs = {
{
"folke/snacks.nvim",
opts = {
picker = {
win = {
input = {
keys = {
["<a-s>"] = { "flash", mode = { "n", "i" } },
["s"] = { "flash" },
},
},
},
actions = {
flash = function(picker)
require("flash").jump({
pattern = "^",
label = { after = { 0, 0 } },
search = {
mode = "search",
exclude = {
function(win)
return vim.bo[vim.api.nvim_win_get_buf(win)].filetype ~= "snacks_picker_list"
end,
},
},
action = function(match)
local idx = picker.list:row2idx(match.pos[1])
picker.list:_move(idx, true, true)
end,
})
end,
},
},
},
},
},
},
} }

View file

@ -108,7 +108,7 @@ return {
enabled = false, enabled = false,
}, },
}, },
ft = { "markdown", "norg", "rmd", "org" }, ft = { "markdown", "norg", "rmd", "org", "codecompanion" },
config = function(_, opts) config = function(_, opts)
require("render-markdown").setup(opts) require("render-markdown").setup(opts)
Snacks.toggle({ Snacks.toggle({

View file

@ -37,6 +37,9 @@ return {
highlight = "Directory", highlight = "Directory",
text_align = "left", text_align = "left",
}, },
{
filetype = "snacks_layout_box",
},
}, },
---@param opts bufferline.IconFetcherOpts ---@param opts bufferline.IconFetcherOpts
get_element_icon = function(opts) get_element_icon = function(opts)
@ -278,7 +281,13 @@ return {
}, },
-- stylua: ignore -- stylua: ignore
keys = { keys = {
{ "<leader>n", function() Snacks.notifier.show_history() end, desc = "Notification History" }, { "<leader>n", function()
if Snacks.config.picker and Snacks.config.picker.enabled then
Snacks.picker.notifications()
else
Snacks.notifier.show_history()
end
end, desc = "Notification History" },
{ "<leader>un", function() Snacks.notifier.hide() end, desc = "Dismiss All Notifications" }, { "<leader>un", function() Snacks.notifier.hide() end, desc = "Dismiss All Notifications" },
}, },
}, },
@ -316,4 +325,18 @@ return {
}, },
}, },
}, },
{
"folke/snacks.nvim",
opts = function(_, opts)
if not opts.picker then
return
end
table.insert(opts.dashboard.preset.keys, 3, {
icon = "",
key = "p",
desc = "Projects",
action = ":lua Snacks.picker.projects()",
})
end,
},
} }