return { 'nvim-neo-tree/neo-tree.nvim', branch = 'v3.x', dependencies = { 'nvim-lua/plenary.nvim', 'nvim-tree/nvim-web-devicons', 'MunifTanjim/nui.nvim', }, config = function() -- Setup -- require('neo-tree').setup({ close_if_last_window = false, enable_git_status = true, enable_diagnostics = true, name = { trailing_slash = false, use_git_status_colors = true, highlight = 'NeoTreeFileName', }, git_status = { symbols = { -- Git Change type Icon -- added = '✚', modified = '', deleted = '✖', renamed = '󰁕', -- Git Status type Icon -- untracked = '', ignored = '', unstaged = '󰄱', staged = '', conflict = '', }, }, symlink_target = { enabled = false, }, filesystem = { hijack_netrw_behavior = 'open_default', }, -- Keybinding -- window = { mappings = { [''] = 'open', }, }, }) -- Dignostic Icons -- vim.fn.sign_define('DiagnosticSignError', { text = ' ', texthl = 'DiagnosticSignError', }) vim.fn.sign_define('DiagnosticSignWarn', { text = ' ', texthl = 'DiagnosticSignWarn', }) vim.fn.sign_define('DiagnosticSignInfo', { text = ' ', texthl = 'DiagnosticSignInfo', }) vim.fn.sign_define('DiagnosticSignHint', { text = '󰌵', texthl = 'DiagnosticSignHint', }) -- Keybinding -- vim.keymap.set( 'n', 'ft', ':Neotree toggle reveal left', { desc = 'Toggle File Tree' } ) vim.keymap.set( 'n', 'fo', ':Neotree buffers reveal float', { desc = 'Show Open Files' } ) end, }