From 7b76e24923ce1493f95db7d065709d181c6a23f4 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 18 Sep 2025 17:26:26 +0000 Subject: [PATCH] fix: preserve diff foldmethod in LSP and treesitter fold configs Co-authored-by: folke <292349+folke@users.noreply.github.com> --- lua/lazyvim/plugins/lsp/init.lua | 7 +++++-- lua/lazyvim/plugins/treesitter.lua | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/lua/lazyvim/plugins/lsp/init.lua b/lua/lazyvim/plugins/lsp/init.lua index 95b7385c..9b5ca7b5 100644 --- a/lua/lazyvim/plugins/lsp/init.lua +++ b/lua/lazyvim/plugins/lsp/init.lua @@ -147,8 +147,11 @@ return { if opts.folds.enabled then LazyVim.lsp.on_supports_method("textDocument/foldingRange", function(client, buffer) local win = vim.api.nvim_get_current_win() - vim.wo[win][0].foldexpr = "v:lua.vim.lsp.foldexpr()" - vim.wo[win][0].foldmethod = "expr" + -- Don't overwrite diff foldmethod as plugins like octo.nvim rely on it + if vim.wo[win][0].foldmethod ~= "diff" then + vim.wo[win][0].foldexpr = "v:lua.vim.lsp.foldexpr()" + vim.wo[win][0].foldmethod = "expr" + end end) end diff --git a/lua/lazyvim/plugins/treesitter.lua b/lua/lazyvim/plugins/treesitter.lua index a7ef7ed8..2bdbcaf8 100644 --- a/lua/lazyvim/plugins/treesitter.lua +++ b/lua/lazyvim/plugins/treesitter.lua @@ -100,8 +100,11 @@ return { -- folds if vim.tbl_get(opts, "folds", "enable") ~= false then - vim.wo.foldmethod = "expr" - vim.wo.foldexpr = "v:lua.LazyVim.treesitter.foldexpr()" + -- Don't overwrite diff foldmethod as plugins like octo.nvim rely on it + if vim.wo.foldmethod ~= "diff" then + vim.wo.foldmethod = "expr" + vim.wo.foldexpr = "v:lua.LazyVim.treesitter.foldexpr()" + end end end, })