diff --git a/.github/.release-please-manifest.json b/.github/.release-please-manifest.json index 350a6875..27277755 100644 --- a/.github/.release-please-manifest.json +++ b/.github/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "15.12.2" + ".": "15.13.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index d81a5b74..24045345 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # Changelog +## [15.13.0](https://github.com/LazyVim/LazyVim/compare/v15.12.2...v15.13.0) (2025-11-01) + + +### Features + +* **snacks:** `snacks.gh` integration. Enabled by default, unless the `util.octo` extra is enabled. ([5e981f9](https://github.com/LazyVim/LazyVim/commit/5e981f9a8cd75eb6f49756e188411037b82b8045)) + + +### Bug Fixes + +* **treesitter:** remove node requirement ([6b52a30](https://github.com/LazyVim/LazyVim/commit/6b52a3059e52eed062b6ff3f56e70cffcbf879fe)) + ## [15.12.2](https://github.com/LazyVim/LazyVim/compare/v15.12.1...v15.12.2) (2025-10-26) diff --git a/lua/lazyvim/config/init.lua b/lua/lazyvim/config/init.lua index 5e56a073..562a0687 100644 --- a/lua/lazyvim/config/init.lua +++ b/lua/lazyvim/config/init.lua @@ -3,7 +3,7 @@ _G.LazyVim = require("lazyvim.util") ---@class LazyVimConfig: LazyVimOptions local M = {} -M.version = "15.12.2" -- x-release-please-version +M.version = "15.13.0" -- x-release-please-version LazyVim.config = M ---@class LazyVimOptions @@ -34,7 +34,9 @@ local defaults = { dots = "󰇘", }, ft = { - octo = "", + octo = " ", + gh = " ", + ["markdown.gh"] = " ", }, dap = { Stopped = { "󰁕 ", "DiagnosticWarn", "DapStoppedLine" }, diff --git a/lua/lazyvim/plugins/extras/editor/snacks_picker.lua b/lua/lazyvim/plugins/extras/editor/snacks_picker.lua index 48eea01a..6220bfdf 100644 --- a/lua/lazyvim/plugins/extras/editor/snacks_picker.lua +++ b/lua/lazyvim/plugins/extras/editor/snacks_picker.lua @@ -73,9 +73,13 @@ return { { "fp", function() Snacks.picker.projects() end, desc = "Projects" }, -- git { "gd", function() Snacks.picker.git_diff() end, desc = "Git Diff (hunks)" }, - { "gD", function() Snacks.picker.git_diff({ base = "origin" }) end, desc = "Git Diff (origin)" }, + { "gD", function() Snacks.picker.git_diff({ base = "origin", group = true }) end, desc = "Git Diff (origin)" }, { "gs", function() Snacks.picker.git_status() end, desc = "Git Status" }, { "gS", function() Snacks.picker.git_stash() end, desc = "Git Stash" }, + { "gi", function() Snacks.picker.gh_issue() end, desc = "GitHub Issues (open)" }, + { "gI", function() Snacks.picker.gh_issue({ state = "all" }) end, desc = "GitHub Issues (all)" }, + { "gp", function() Snacks.picker.gh_pr() end, desc = "GitHub Pull Requests (open)" }, + { "gP", function() Snacks.picker.gh_pr({ state = "all" }) end, desc = "GitHub Pull Requests (all)" }, -- Grep { "sb", function() Snacks.picker.lines() end, desc = "Buffer Lines" }, { "sB", function() Snacks.picker.grep_buffers() end, desc = "Grep Open Buffers" }, diff --git a/lua/lazyvim/plugins/extras/util/octo.lua b/lua/lazyvim/plugins/extras/util/octo.lua index d3316f5e..5637b8fd 100644 --- a/lua/lazyvim/plugins/extras/util/octo.lua +++ b/lua/lazyvim/plugins/extras/util/octo.lua @@ -3,6 +3,16 @@ return { -- depends on the git extra for highlighting and auto-completion of github issues/prs { import = "lazyvim.plugins.extras.lang.git" }, + { + "folke/snacks.nvim", + keys = { -- disable conflicting keymaps + { "gi", false }, + { "gI", false }, + { "gp", false }, + { "gP", false }, + }, + }, + -- Octo { "pwntester/octo.nvim", diff --git a/lua/lazyvim/plugins/treesitter.lua b/lua/lazyvim/plugins/treesitter.lua index 7fee6c38..4497ff1c 100644 --- a/lua/lazyvim/plugins/treesitter.lua +++ b/lua/lazyvim/plugins/treesitter.lua @@ -171,8 +171,14 @@ return { for method, keymaps in pairs(moves) do for key, query in pairs(keymaps) do - local desc = query:gsub("@", ""):gsub("%..*", "") - desc = desc:sub(1, 1):upper() .. desc:sub(2) + local queries = type(query) == "table" and query or { query } + local parts = {} + for _, q in ipairs(queries) do + local part = q:gsub("@", ""):gsub("%..*", "") + part = part:sub(1, 1):upper() .. part:sub(2) + table.insert(parts, part) + end + local desc = table.concat(parts, " or ") desc = (key:sub(1, 1) == "[" and "Prev " or "Next ") .. desc desc = desc .. (key:sub(2, 2) == key:sub(2, 2):upper() and " End" or " Start") if not (vim.wo.diff and key:find("[cC]")) then