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({ 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 = true, hide_gitignored = false, hide_by_name = { "__pycache__", }, }, 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, }, }, })