local status_ok, neotree = pcall(require, "neo-tree") if not status_ok then return end vim.g.neo_tree_remove_legacy_commands = true neotree.setup({ close_if_last_window = true, open_files_do_not_replace_filetypes = { "terminal", "trouble", "qf", "starter" }, -- when opening files, do not use windows containing these filetypes popup_border_style = "rounded", default_component_configs = { indent = { padding = 0, with_expanders = false, }, icon = { folder_closed = "", folder_open = "", folder_empty = "", default = "", }, git_status = { symbols = { added = "", deleted = "", modified = "", renamed = "➜", untracked = "★", ignored = "◌", unstaged = "✗", staged = "✓", conflict = "", }, }, }, window = { width = 40, mappings = { ["o"] = "open", ["Z"] = "expand_all_nodes", }, }, filesystem = { filtered_items = { visible = false, hide_dotfiles = false, hide_gitignored = false, hide_by_name = { "__pycache__", ".git", }, }, follow_current_file = true, hijack_netrw_behavior = "open_current", use_libuv_file_watcher = true, }, git_status = { window = { position = "float", }, }, event_handlers = { { event = "neo_tree_buffer_enter", handler = function(_) vim.opt_local.signcolumn = "auto" end, }, }, })