my-nvim-setup/lua/plugins/nvimtree.lua

98 lines
3.4 KiB
Lua
Raw Normal View History

2021-06-25 18:36:17 +01:00
local M = {}
2021-06-25 18:36:17 +01:00
M.config = function()
local g = vim.g
2021-03-07 14:22:30 +00:00
2021-06-25 18:36:17 +01:00
vim.o.termguicolors = true
2021-04-02 06:36:20 +01:00
2021-06-25 18:36:17 +01:00
g.nvim_tree_side = "left"
g.nvim_tree_width = 25
g.nvim_tree_ignore = {".git", "node_modules", ".cache"}
2021-07-01 07:25:38 +01:00
g.nvim_tree_gitignore = 1
g.nvim_tree_auto_ignore_ft = {"dashboard"} -- don't open tree on specific fiypes.
2021-06-25 18:36:17 +01:00
g.nvim_tree_auto_open = 0
2021-07-01 07:25:38 +01:00
g.nvim_tree_auto_close = 0 -- closes tree when it's the last window
g.nvim_tree_quit_on_open = 0 -- closes tree when file's opened
2021-06-25 18:36:17 +01:00
g.nvim_tree_follow = 1
g.nvim_tree_indent_markers = 1
g.nvim_tree_hide_dotfiles = 1
g.nvim_tree_git_hl = 1
2021-07-01 07:25:38 +01:00
g.nvim_tree_highlight_opened_files = 0
2021-06-25 18:36:17 +01:00
g.nvim_tree_root_folder_modifier = ":t"
g.nvim_tree_tab_open = 0
g.nvim_tree_allow_resize = 1
2021-07-01 07:25:38 +01:00
g.nvim_tree_add_trailing = 0 -- append a trailing slash to folder names
g.nvim_tree_disable_netrw = 1
g.nvim_tree_hijack_netrw = 0
g.nvim_tree_update_cwd = 1
2021-03-07 14:22:30 +00:00
2021-06-25 18:36:17 +01:00
g.nvim_tree_show_icons = {
git = 1,
folders = 1,
files = 1
2021-07-01 07:25:38 +01:00
-- folder_arrows= 1
2021-03-13 01:23:02 +00:00
}
2021-06-25 18:36:17 +01:00
g.nvim_tree_icons = {
default = "",
symlink = "",
git = {
unstaged = "",
staged = "",
unmerged = "",
renamed = "",
untracked = "",
deleted = "",
ignored = ""
},
folder = {
2021-07-01 07:25:38 +01:00
-- disable indent_markers option to get arrows working or if you want both arrows and indent then just add the arrow icons in front ofthe default and opened folders below!
-- arrow_open = "",
-- arrow_closed = "",
2021-06-25 18:36:17 +01:00
default = "",
open = "",
2021-07-01 07:25:38 +01:00
empty = "", -- 
2021-06-25 18:36:17 +01:00
empty_open = "",
2021-07-01 07:25:38 +01:00
symlink = "",
symlink_open = ""
2021-06-25 18:36:17 +01:00
}
2021-03-13 01:23:02 +00:00
}
2021-03-07 14:22:30 +00:00
2021-06-25 18:36:17 +01:00
local tree_cb = require "nvim-tree.config".nvim_tree_callback
2021-06-01 19:45:55 +01:00
2021-06-25 18:36:17 +01:00
g.nvim_tree_bindings = {
2021-07-01 07:25:38 +01:00
{key = {"<CR>", "o", "<2-LeftMouse>"}, cb = tree_cb("edit")},
{key = {"<2-RightMouse>", "<C-}>"}, cb = tree_cb("cd")},
{key = "<C-v>", cb = tree_cb("vsplit")},
{key = "<C-x>", cb = tree_cb("split")},
{key = "<C-t>", cb = tree_cb("tabnew")},
{key = "<", cb = tree_cb("prev_sibling")},
{key = ">", cb = tree_cb("next_sibling")},
{key = "P", cb = tree_cb("parent_node")},
{key = "<BS>", cb = tree_cb("close_node")},
{key = "<S-CR>", cb = tree_cb("close_node")},
{key = "<Tab>", cb = tree_cb("preview")},
{key = "K", cb = tree_cb("first_sibling")},
{key = "J", cb = tree_cb("last_sibling")},
{key = "I", cb = tree_cb("toggle_ignored")},
{key = "H", cb = tree_cb("toggle_dotfiles")},
{key = "R", cb = tree_cb("refresh")},
{key = "a", cb = tree_cb("create")},
{key = "d", cb = tree_cb("remove")},
{key = "r", cb = tree_cb("rename")},
{key = "<C->", cb = tree_cb("full_rename")},
{key = "x", cb = tree_cb("cut")},
{key = "c", cb = tree_cb("copy")},
{key = "p", cb = tree_cb("paste")},
{key = "y", cb = tree_cb("copy_name")},
{key = "Y", cb = tree_cb("copy_path")},
{key = "gy", cb = tree_cb("copy_absolute_path")},
{key = "[c", cb = tree_cb("prev_git_item")},
{key = "}c", cb = tree_cb("next_git_item")},
{key = "-", cb = tree_cb("dir_up")},
{key = "q", cb = tree_cb("close")},
{key = "g?", cb = tree_cb("toggle_help")}
2021-06-25 18:36:17 +01:00
}
end
return M