|
@@ -1,74 +1,75 @@
|
|
|
--- --if not package.loaded['nvim-tree.view'] then
|
|
|
--- -- return
|
|
|
--- --end
|
|
|
---
|
|
|
local M = {}
|
|
|
local status_ok, nvim_tree_config = pcall(require, "nvim-tree.config")
|
|
|
if not status_ok then
|
|
|
return
|
|
|
end
|
|
|
--
|
|
|
+M.config = function()
|
|
|
+ O.plugin.nvimtree = {
|
|
|
+ side = "left",
|
|
|
+ show_icons = {
|
|
|
+ git = 1,
|
|
|
+ folders = 1,
|
|
|
+ files = 1,
|
|
|
+ folder_arrows = 1,
|
|
|
+ tree_width = 30,
|
|
|
+ },
|
|
|
+ ignore = { ".git", "node_modules", ".cache" },
|
|
|
+ auto_open = 1,
|
|
|
+ auto_close = 1,
|
|
|
+ quit_on_open = 0,
|
|
|
+ follow = 1,
|
|
|
+ hide_dotfiles = 1,
|
|
|
+ git_hl = 1,
|
|
|
+ root_folder_modifier = ":t",
|
|
|
+ tab_open = 0,
|
|
|
+ allow_resize = 1,
|
|
|
+ lsp_diagnostics = 1,
|
|
|
+ auto_ignore_ft = { "startify", "dashboard" },
|
|
|
+ icons = {
|
|
|
+ default = "",
|
|
|
+ symlink = "",
|
|
|
+ git = {
|
|
|
+ unstaged = "",
|
|
|
+ staged = "S",
|
|
|
+ unmerged = "",
|
|
|
+ renamed = "➜",
|
|
|
+ deleted = "",
|
|
|
+ untracked = "U",
|
|
|
+ ignored = "◌",
|
|
|
+ },
|
|
|
+ folder = {
|
|
|
+ default = "",
|
|
|
+ open = "",
|
|
|
+ empty = "",
|
|
|
+ empty_open = "",
|
|
|
+ symlink = "",
|
|
|
+ },
|
|
|
+ },
|
|
|
+ }
|
|
|
+end
|
|
|
+--
|
|
|
M.setup = function()
|
|
|
local g = vim.g
|
|
|
|
|
|
- vim.o.termguicolors = true
|
|
|
-
|
|
|
- g.nvim_tree_side = "left"
|
|
|
- g.nvim_tree_width = 30
|
|
|
- g.nvim_tree_ignore = { ".git", "node_modules", ".cache" }
|
|
|
- g.nvim_tree_auto_open = 1
|
|
|
- g.nvim_tree_auto_close = 1
|
|
|
- g.nvim_tree_quit_on_open = 0
|
|
|
- g.nvim_tree_follow = 1
|
|
|
- g.nvim_tree_indent_markers = 1
|
|
|
- g.nvim_tree_hide_dotfiles = 1
|
|
|
- g.nvim_tree_git_hl = 1
|
|
|
- g.nvim_tree_root_folder_modifier = ":t"
|
|
|
- g.nvim_tree_tab_open = 0
|
|
|
- g.nvim_tree_allow_resize = 1
|
|
|
- g.nvim_tree_lsp_diagnostics = 1
|
|
|
- g.nvim_tree_auto_ignore_ft = { "startify", "dashboard" }
|
|
|
-
|
|
|
- g.nvim_tree_show_icons = {
|
|
|
- git = 1,
|
|
|
- folders = 1,
|
|
|
- files = 1,
|
|
|
- folder_arrows = 1,
|
|
|
- }
|
|
|
+ for opt, val in pairs(O.plugin.nvimtree) do
|
|
|
+ g["nvim_tree_" .. opt] = val
|
|
|
+ end
|
|
|
|
|
|
- vim.g.nvim_tree_icons = {
|
|
|
- default = "",
|
|
|
- symlink = "",
|
|
|
- git = {
|
|
|
- unstaged = "",
|
|
|
- staged = "S",
|
|
|
- unmerged = "",
|
|
|
- renamed = "➜",
|
|
|
- deleted = "",
|
|
|
- untracked = "U",
|
|
|
- ignored = "◌",
|
|
|
- },
|
|
|
- folder = {
|
|
|
- default = "",
|
|
|
- open = "",
|
|
|
- empty = "",
|
|
|
- empty_open = "",
|
|
|
- symlink = "",
|
|
|
- },
|
|
|
- }
|
|
|
local tree_cb = nvim_tree_config.nvim_tree_callback
|
|
|
|
|
|
- vim.g.nvim_tree_bindings = {
|
|
|
+ g.nvim_tree_bindings = {
|
|
|
{ key = { "l", "<CR>", "o" }, cb = tree_cb "edit" },
|
|
|
{ key = "h", cb = tree_cb "close_node" },
|
|
|
{ key = "v", cb = tree_cb "vsplit" },
|
|
|
}
|
|
|
end
|
|
|
-
|
|
|
+--
|
|
|
local view_status_ok, view = pcall(require, "nvim-tree.view")
|
|
|
if not view_status_ok then
|
|
|
return
|
|
|
end
|
|
|
+--
|
|
|
M.toggle_tree = function()
|
|
|
if view.win_open() then
|
|
|
require("nvim-tree").close()
|