addet correct edit function

This commit is contained in:
pika 2024-08-17 21:38:48 +02:00
parent 0000f5203c
commit 4fac477dc6

View file

@ -13,98 +13,95 @@ local function setup_open_file_indicators()
end end
end end
-- Update open_buffers initially
update_open_buffers()
-- Set up autocmds to update open_buffers and refresh Neo-tree
local group = vim.api.nvim_create_augroup("NeoTreeOpenFileIndicator", { clear = true })
vim.api.nvim_create_autocmd({"BufAdd", "BufDelete", "BufWipeout"}, {
group = group,
callback = function()
update_open_buffers()
if package.loaded["neo-tree.sources.manager"] then
require("neo-tree.sources.manager").refresh("filesystem")
end
end,
})
-- Custom component to display open file indicator -- Custom component to display open file indicator
local function open_file_indicator(config, node, state) local function open_file_indicator(config, node, state)
local result = require("neo-tree.sources.common.components").icon(config, node, state) local result = require("neo-tree.sources.common.components").icon(config, node, state)
if node.type == "file" and open_buffers[node:get_id()] then if node.type == "file" and open_buffers[node:get_id()] then
result.text = result.text .. " 󱞇" result.text = result.text .. "󱞇 "
end end
return result return result
end end
return { return open_file_indicator
update_open_buffers = update_open_buffers,
open_file_indicator = open_file_indicator
}
end end
return { return {
{ {
"nvim-neo-tree/neo-tree.nvim", "nvim-neo-tree/neo-tree.nvim",
opts = { opts = function()
sources = { "filesystem", "buffers", "git_status" }, return {
open_files_do_not_replace_types = { "terminal", "Trouble", "trouble", "qf", "Outline" }, sources = { "filesystem", "buffers", "git_status" },
close_if_last_window = false, open_files_do_not_replace_types = { "terminal", "Trouble", "trouble", "qf", "Outline" },
popup_border_style = "rounded", close_if_last_window = false,
enable_git_status = true, popup_border_style = "rounded",
enable_diagnostics = true, enable_git_status = true,
filesystem = { enable_diagnostics = true,
bind_to_cwd = false, filesystem = {
follow_current_file = { enabled = true }, bind_to_cwd = false,
use_libuv_file_watcher = true, follow_current_file = { enabled = true },
components = { use_libuv_file_watcher = true,
icon = setup_open_file_indicators().open_file_indicator, components = {
}, icon = setup_open_file_indicators(),
},
window = {
mappings = {
["l"] = "open",
["h"] = "close_node",
["<space>"] = "none",
["Y"] = {
function(state)
local node = state.tree:get_node()
local path = node:get_id()
vim.fn.setreg("+", path, "c")
end,
desc = "Copy Path to Clipboard",
},
["O"] = {
function(state)
require("lazy.util").open(state.tree:get_node().path, { system = true })
end,
desc = "Open with System Application",
},
["P"] = { "toggle_preview", config = { use_float = false } },
},
},
default_component_configs = {
indent = {
with_expanders = true,
expander_collapsed = "",
expander_expanded = "",
expander_highlight = "NeoTreeExpander",
},
git_status = {
symbols = {
unstaged = "󰄱",
staged = "󰱒",
}, },
}, },
window = {
mappings = {
["l"] = "open",
["h"] = "close_node",
["<space>"] = "none",
["Y"] = {
function(state)
local node = state.tree:get_node()
local path = node:get_id()
vim.fn.setreg("+", path, "c")
end,
desc = "Copy Path to Clipboard",
},
["O"] = {
function(state)
require("lazy.util").open(state.tree:get_node().path, { system = true })
end,
desc = "Open with System Application",
},
["P"] = { "toggle_preview", config = { use_float = false } },
},
},
default_component_configs = {
indent = {
with_expanders = true,
expander_collapsed = "",
expander_expanded = "",
expander_highlight = "NeoTreeExpander",
},
git_status = {
symbols = {
unstaged = "󰄱",
staged = "󰱒",
},
},
}
} }
}, end,
branch = "v3.x", branch = "v3.x",
dependencies = { dependencies = {
"nvim-lua/plenary.nvim", "nvim-lua/plenary.nvim",
"nvim-tree/nvim-web-devicons", "nvim-tree/nvim-web-devicons",
"3rd/image.nvim", "3rd/image.nvim",
}, },
config = function(_, opts)
local indicators = setup_open_file_indicators()
-- Set up autocmds to update open_buffers and refresh Neo-tree
local group = vim.api.nvim_create_augroup("NeoTreeOpenFileIndicator", { clear = true })
vim.api.nvim_create_autocmd({"BufAdd", "BufDelete", "BufWipeout"}, {
group = group,
callback = function()
indicators.update_open_buffers()
if package.loaded["neo-tree.sources.manager"] then
require("neo-tree.sources.manager").refresh("filesystem")
end
end,
})
require("neo-tree").setup(opts)
end,
} }
} }