-- 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, -- neo-tree will lazily load itself cmd = 'Neotree', keys = { { '\\', ':Neotree reveal', desc = 'NeoTree reveal', silent = true }, }, opts = { filesystem = { 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, }, hijack_netrw_behavior = 'open_default', window = { mappings = { ['\\'] = 'close_window', ['oa'] = 'avante_add_files', }, }, }, }, }