return { 'nvim-neo-tree/neo-tree.nvim', cmd = 'Neotree', keys = { { '\\', 'Neotree reveal', desc = 'NeoTree' }, }, dependencies = { 'nvim-lua/plenary.nvim', -- 'nvim-tree/nvim-web-devicons', -- not strictly required, but recommended 'nvim-tree/nvim-web-devicons', 'MunifTanjim/nui.nvim', }, opts = { window = { -- see https://github.com/MunifTanjim/nui.nvim/tree/main/lua/nui/popup for -- possible options. These can also be functions that return these options. position = 'float', -- left, right, float, current width = 40, -- applies to left and right positions popup = { -- settings that apply to float position only size = { height = '80%', width = '50%', }, position = '50%', -- 50% means center it -- you can also specify border here, if you want a different setting from -- the global popup_border_style. }, enable_git_status = false, -- Mappings for tree window. See `:h nep-tree-mappings` for a list of built-in commands. -- You can also create your own commands by providing a function instead of a string. mappings = { [''] = 'toggle_node', ['<2-LeftMouse>'] = 'open', [''] = 'open', ['s'] = 'open_split', ['v'] = 'open_vsplit', ['C'] = 'close_node', ['z'] = 'close_all_nodes', ['R'] = 'refresh', ['a'] = 'add', ['A'] = 'add_directory', ['d'] = 'delete', ['r'] = 'rename', ['y'] = 'copy_to_clipboard', ['x'] = 'cut_to_clipboard', ['p'] = 'paste_from_clipboard', ['c'] = 'copy', -- takes text input for destination ['m'] = 'move', -- takes text input for destination ['q'] = 'close_window', }, }, filesystem = { filtered_items = { hide_dotfiles = false, hide_gitignored = false, }, hijack_netrw_behavior = 'disabled', }, source_selector = { winbar = true, statusline = false } } }