{ config, ... }: let inherit (config.myvim) icons; inherit (config.myvim.mkKey) mkKeymap wKeyObj; in { plugins.neo-tree = { enable = true; settings = { sources = [ "filesystem" "buffers" "git_status" "document_symbols" ]; add_blank_line_at_top = false; filesystem = { bind_to_cwd = false; follow_current_file = { enabled = true; }; }; default_component_configs = { indent = { with_expanders = true; expander_collapsed = "󰅂"; expander_expanded = "󰅀"; expander_highlight = "NeoTreeExpander"; }; git_status = with icons.git; { symbols = { added = "${Added}"; conflict = "${Conflict}"; deleted = "${Deleted}"; ignored = "${Ignored}"; modified = "${Modified}"; renamed = "${Renamed}"; staged = "${Staged}"; unstaged = "${Unstaged}"; untracked = "${Untracked}"; }; }; }; }; }; wKeyList = [ (wKeyObj [ "e" "󰙅" "Neotree" ]) ]; keymaps = [ (mkKeymap "n" "e" "Neotree toggle" "Open/Close Neotree") ]; }