refactor(extras.ui): simplify neo-tree related logic in edgy extra (#3738)

Refactor neo-tree related logic

## What is this PR for?
Simplification of `neo-tree` related logic in `edgy.lua`

## Does this PR fix an existing issue?
No, but it may prevent future issues with `edgy` if `neo-tree` source
configuration changes.

## Checklist

- [x] I've read the
[CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md)
guidelines.
This commit is contained in:
Gobinda Goshwami
2024-06-23 11:08:41 +06:00
committed by GitHub
parent b45d4ed62c
commit 19e366277b

View File

@ -77,42 +77,27 @@ return {
}
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 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
local pos = {
filesystem = "left",
buffers = "top",
git_status = "right",
document_symbols = "bottom",
diagnostics = "bottom",
}
local sources = LazyVim.opts("neo-tree.nvim").sources or {}
for i, v in ipairs(sources) do
table.insert(opts.left, i, {
title = "Neo-Tree " .. v:gsub("_", " "):gsub("^%l", string.upper),
ft = "neo-tree",
filter = function(buf)
return vim.b[buf].neo_tree_source == v
end,
pinned = true,
open = function()
vim.cmd(("Neotree show position=%s %s dir=%s"):format(pos[v] or "bottom", v, LazyVim.root()))
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