-- Neo-tree is a Neovim plugin to browse the file system -- https://github.com/nvim-neo-tree/neo-tree.nvim return { 'nvim-neo-tree/neo-tree.nvim', version = '*', dependencies = { 'nvim-lua/plenary.nvim', 'nvim-tree/nvim-web-devicons', -- not strictly required, but recommended 'MunifTanjim/nui.nvim', }, lazy = false, keys = { { 'e', ':Neotree reveal', desc = 'NeoTree reveal', silent = true }, }, opts = { filesystem = { bind_to_cwd = true, commands = { avante_add_files = function(state) local node = state.tree:get_node() local filepath = node:get_id() local relative_path = require('avante.utils').relative_path(filepath) local sidebar = require('avante').get() local open = sidebar:is_open() -- ensure avante sidebar is open if not open then require('avante.api').ask() sidebar = require('avante').get() end sidebar.file_selector:add_selected_file(relative_path) -- remove neo tree buffer if not open then sidebar.file_selector:remove_selected_file 'neo-tree filesystem [1]' end end, }, window = { mappings = { ['e'] = 'close_window', [''] = { 'open', config = { open_command = 'tabnew', }, }, ['oa'] = 'avante_add_files', }, }, }, }, }