From bdca1e95ff97348501a715bd6aa5977422a27969 Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Mon, 17 Jun 2024 20:06:54 +0200 Subject: [PATCH] fix(edgy): only enable edgy neo-tree when needed. Fixes #3697. Closes #3703 --- lua/lazyvim/plugins/extras/ui/edgy.lua | 68 +++++++++++++------------- 1 file changed, 35 insertions(+), 33 deletions(-) diff --git a/lua/lazyvim/plugins/extras/ui/edgy.lua b/lua/lazyvim/plugins/extras/ui/edgy.lua index 95b2ccf1cd..bdafb66254 100644 --- a/lua/lazyvim/plugins/extras/ui/edgy.lua +++ b/lua/lazyvim/plugins/extras/ui/edgy.lua @@ -53,26 +53,7 @@ return { { title = "Neotest Output", ft = "neotest-output-panel", size = { height = 15 } }, }, left = { - { - title = "Neo-Tree", - ft = "neo-tree", - filter = function(buf) - return vim.b[buf].neo_tree_source == "filesystem" - end, - pinned = true, - open = function() - require("neo-tree.command").execute({ dir = LazyVim.root() }) - end, - size = { height = 0.5 }, - }, { title = "Neotest Summary", ft = "neotest-summary" }, - { - title = "Neo-Tree Other", - ft = "neo-tree", - filter = function(buf) - return vim.b[buf].neo_tree_source ~= nil - end, - }, -- "neo-tree", }, keys = { @@ -95,22 +76,43 @@ return { }, } - -- only add neo-tree sources if they are enabled in config - local neotree_opts = LazyVim.opts("neo-tree.nvim") - local neotree_sources = { buffers = "top", git_status = "right" } + if LazyVim.has("neo-tree.nvim") then + table.insert(opts.left, 1, { + title = "Neo-Tree", + ft = "neo-tree", + filter = function(buf) + return vim.b[buf].neo_tree_source == "filesystem" + end, + pinned = true, + open = function() + require("neo-tree.command").execute({ dir = LazyVim.root() }) + end, + size = { height = 0.5 }, + }) + -- only add neo-tree sources if they are enabled in config + local neotree_opts = LazyVim.opts("neo-tree.nvim") + local neotree_sources = { buffers = "top", git_status = "right" } - for source, pos in pairs(neotree_sources) do - if vim.list_contains(neotree_opts.sources, source) then - table.insert(opts.left, 3, { - title = "Neo-Tree " .. source:gsub("_", " "), - ft = "neo-tree", - filter = function(buf) - return vim.b[buf].neo_tree_source == source - end, - pinned = true, - open = "Neotree position=" .. pos .. " " .. source, - }) + for source, pos in pairs(neotree_sources) do + if vim.list_contains(neotree_opts.sources or {}, source) then + table.insert(opts.left, { + title = "Neo-Tree " .. source:gsub("_", " "), + ft = "neo-tree", + filter = function(buf) + return vim.b[buf].neo_tree_source == source + end, + pinned = true, + open = "Neotree position=" .. pos .. " " .. source, + }) + end end + table.insert(opts.left, { + title = "Neo-Tree Other", + ft = "neo-tree", + filter = function(buf) + return vim.b[buf].neo_tree_source ~= nil + end, + }) end for _, pos in ipairs({ "top", "bottom", "left", "right" }) do