summaryrefslogtreecommitdiff
path: root/lua/core/nvimtree.lua
diff options
context:
space:
mode:
authorchristianchiarulli <[email protected]>2021-08-11 16:33:41 -0400
committerchristianchiarulli <[email protected]>2021-08-11 16:33:41 -0400
commit83013c0d4f1467f546c38719c61909decfcb8151 (patch)
tree143773ea73c64d953db699e6e621926e44653fc2 /lua/core/nvimtree.lua
parentf6407e0bdb9c2875bc8f186929ce183af391b2a9 (diff)
parent5a7630cac761e91335d2f25cb07a81271569c791 (diff)
Merge branch 'rolling' of github.com:ChristianChiarulli/LunarVim
Diffstat (limited to 'lua/core/nvimtree.lua')
-rw-r--r--lua/core/nvimtree.lua54
1 files changed, 47 insertions, 7 deletions
diff --git a/lua/core/nvimtree.lua b/lua/core/nvimtree.lua
index dd1f4f36..4d15b1b5 100644
--- a/lua/core/nvimtree.lua
+++ b/lua/core/nvimtree.lua
@@ -1,8 +1,10 @@
local M = {}
+local Log = require "core.log"
--
M.config = function()
lvim.builtin.nvimtree = {
side = "left",
+ width = 30,
show_icons = {
git = 1,
folders = 1,
@@ -48,6 +50,7 @@ end
M.setup = function()
local status_ok, nvim_tree_config = pcall(require, "nvim-tree.config")
if not status_ok then
+ Log:get_default().error "Failed to load nvim-tree.config"
return
end
local g = vim.g
@@ -58,13 +61,44 @@ M.setup = function()
local tree_cb = nvim_tree_config.nvim_tree_callback
- 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" },
- }
+ if not g.nvim_tree_bindings then
+ 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
end
--
+M.focus_or_close = function()
+ local view_status_ok, view = pcall(require, "nvim-tree.view")
+ if not view_status_ok then
+ return
+ end
+ local a = vim.api
+
+ local curwin = a.nvim_get_current_win()
+ local curbuf = a.nvim_win_get_buf(curwin)
+ local bufnr = view.View.bufnr
+ local winnr = view.get_winnr()
+
+ if view.win_open() then
+ if curwin == winnr and curbuf == bufnr then
+ view.close()
+ if package.loaded["bufferline.state"] then
+ require("bufferline.state").set_offset(0)
+ end
+ else
+ view.focus()
+ end
+ else
+ view.open()
+ if package.loaded["bufferline.state"] and lvim.builtin.nvimtree.side == "left" then
+ -- require'bufferline.state'.set_offset(lvim.builtin.nvimtree.width + 1, 'File Explorer')
+ require("bufferline.state").set_offset(lvim.builtin.nvimtree.width + 1, "")
+ end
+ end
+end
--
M.toggle_tree = function()
local view_status_ok, view = pcall(require, "nvim-tree.view")
@@ -78,11 +112,17 @@ M.toggle_tree = function()
end
else
if package.loaded["bufferline.state"] and lvim.builtin.nvimtree.side == "left" then
- -- require'bufferline.state'.set_offset(31, 'File Explorer')
- require("bufferline.state").set_offset(31, "")
+ -- require'bufferline.state'.set_offset(lvim.builtin.nvimtree.width + 1, 'File Explorer')
+ require("bufferline.state").set_offset(lvim.builtin.nvimtree.width + 1, "")
end
require("nvim-tree").toggle()
end
end
--
+function M.change_tree_dir(dir)
+ if vim.g.loaded_tree then
+ require("nvim-tree.lib").change_dir(dir)
+ end
+end
+--
return M