52 lines
1.4 KiB
Lua
52 lines
1.4 KiB
Lua
-- 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<CR>', 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',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|