From 7942348e98eab325fe284f7e9afa4192b2273011 Mon Sep 17 00:00:00 2001 From: Oscar Wallberg Date: Sun, 13 Apr 2025 23:10:48 +0200 Subject: [PATCH] feat: add neo-tree --- lua/plugins/neo-tree.lua | 92 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 lua/plugins/neo-tree.lua diff --git a/lua/plugins/neo-tree.lua b/lua/plugins/neo-tree.lua new file mode 100644 index 0000000..d5f7451 --- /dev/null +++ b/lua/plugins/neo-tree.lua @@ -0,0 +1,92 @@ +local function toggle_neo_tree() + require("neo-tree.command").execute({ + action = "show", + position = "left", + toggle = true, + reveal = true, + }) +end + +---@type LazyPluginSpec +return { + "nvim-neo-tree/neo-tree.nvim", + branch = "v3.x", + dependencies = { + "nvim-lua/plenary.nvim", + "MunifTanjim/nui.nvim", + }, + lazy = false, + keys = { + { + "tt", + toggle_neo_tree, + }, + }, + ---@type neotree.Config? + opts = { + sources = { + "filesystem", + "git_status", + }, + close_if_last_window = true, + default_component_configs = { + diagnostics = { + symbols = { + hint = "H", + info = "I", + warn = "W", + error = "E", + }, + }, + indent = { + with_markers = false, + }, + ---@diagnostic disable-next-line: missing-fields + icon = { + provider = function(icon, _, _) + icon.text = "" + end, + }, + modified = { + symbol = "[+] ", + highlight = "NeoTreeModified", + }, + name = { + use_git_status_colors = false, + highlight_opened_files = true, + }, + git_status = { + symbols = { + added = "A", + deleted = "D", + modified = "M", + renamed = "R", + untracked = "?", + ignored = "", + unstaged = "", + staged = "+", + conflict = "!", + }, + }, + }, + window = { + mappings = { + [""] = "open", + }, + }, + filesystem = { + check_gitignore_in_search = false, + filtered_items = { + show_hidden_count = false, + hide_dotfiles = false, + hide_gitignored = false, + hide_by_name = { ".git" }, + }, + follow_current_file = { + enabled = true, + }, + hijack_netrw_behavior = "disabled", + }, + }, + init = toggle_neo_tree, +}