From dc3b47b7e7d015a8f47c5dae5d50e4d50f9e1cfb Mon Sep 17 00:00:00 2001 From: William Goulois <37271970+williamgoulois@users.noreply.github.com> Date: Tue, 3 Aug 2021 06:54:57 +0200 Subject: [Feature]: Add possibility to focus nvimtree instead of toggle (#1074) --- lua/core/nvimtree.lua | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) (limited to 'lua/core/nvimtree.lua') diff --git a/lua/core/nvimtree.lua b/lua/core/nvimtree.lua index dd1f4f36..4e3c0ef6 100644 --- a/lua/core/nvimtree.lua +++ b/lua/core/nvimtree.lua @@ -3,6 +3,7 @@ local M = {} M.config = function() lvim.builtin.nvimtree = { side = "left", + width = 30, show_icons = { git = 1, folders = 1, @@ -65,6 +66,35 @@ M.setup = function() } 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,8 +108,8 @@ 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 -- cgit v1.2.3 From c0a653a0cf5ef1842b086149b9e79a79cc62583d Mon Sep 17 00:00:00 2001 From: tafryn Date: Mon, 2 Aug 2021 22:43:57 -0700 Subject: Allow user's to define their own nvim-tree bindings (#1181) --- lua/core/nvimtree.lua | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'lua/core/nvimtree.lua') diff --git a/lua/core/nvimtree.lua b/lua/core/nvimtree.lua index 4e3c0ef6..e29168e9 100644 --- a/lua/core/nvimtree.lua +++ b/lua/core/nvimtree.lua @@ -59,11 +59,13 @@ M.setup = function() local tree_cb = nvim_tree_config.nvim_tree_callback - g.nvim_tree_bindings = { - { key = { "l", "", "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", "", "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() -- cgit v1.2.3 From 4c3c3f388557a182794bffdbf923129c66af885a Mon Sep 17 00:00:00 2001 From: kylo252 <59826753+kylo252@users.noreply.github.com> Date: Tue, 3 Aug 2021 18:10:54 +0200 Subject: feat: add lvim.lsp.smart_cwd (#1218) - Enable querying the language-server for the `root_dir` - Use `root_dir` to set the current working-directory (CWD) - Make vim-rooter configurable and add an option to disable it Inspired by "ahmedkhalf/lsp-rooter.nvim" --- lua/core/nvimtree.lua | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'lua/core/nvimtree.lua') diff --git a/lua/core/nvimtree.lua b/lua/core/nvimtree.lua index e29168e9..1a0de0b8 100644 --- a/lua/core/nvimtree.lua +++ b/lua/core/nvimtree.lua @@ -117,4 +117,10 @@ M.toggle_tree = function() 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 -- cgit v1.2.3 From 405423108fc31981c40116a827e845a1179c9053 Mon Sep 17 00:00:00 2001 From: kylo252 <59826753+kylo252@users.noreply.github.com> Date: Mon, 9 Aug 2021 19:02:37 +0200 Subject: feat: Add an async logger using plenary (#1207) Co-authored-by: rebuilt --- lua/core/nvimtree.lua | 2 ++ 1 file changed, 2 insertions(+) (limited to 'lua/core/nvimtree.lua') diff --git a/lua/core/nvimtree.lua b/lua/core/nvimtree.lua index 1a0de0b8..4d15b1b5 100644 --- a/lua/core/nvimtree.lua +++ b/lua/core/nvimtree.lua @@ -1,4 +1,5 @@ local M = {} +local Log = require "core.log" -- M.config = function() lvim.builtin.nvimtree = { @@ -49,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 -- cgit v1.2.3