summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/home/i3wm/nord-blue/nvim.nix28
1 files changed, 26 insertions, 2 deletions
diff --git a/modules/home/i3wm/nord-blue/nvim.nix b/modules/home/i3wm/nord-blue/nvim.nix
index 2374041..c2b06e5 100644
--- a/modules/home/i3wm/nord-blue/nvim.nix
+++ b/modules/home/i3wm/nord-blue/nvim.nix
@@ -50,6 +50,7 @@
end, { desc = "Find files (cwd)" })
-- TAB KEYBINDS (t-based navigation)
+
-- Open in new tab with "t" in lua file tree
vim.keymap.set("n", "t", function()
local node = api.tree.get_node_under_cursor()
@@ -115,7 +116,6 @@
vim.keymap.set("n", "<leader>fg", builtin.live_grep)
vim.keymap.set("n", "<leader>fb", builtin.buffers)
vim.keymap.set("n", "<leader>fh", builtin.help_tags)
-
-- File tree
require("nvim-tree").setup({
view = {
@@ -128,8 +128,32 @@
filters = {
dotfiles = false,
},
- })
+ on_attach = function(bufnr)
+ local api = require("nvim-tree.api")
+
+ local function opts(desc)
+ return {
+ desc = "nvim-tree: " .. desc,
+ buffer = bufnr,
+ noremap = true,
+ silent = true,
+ nowait = true,
+ }
+ end
+
+ -- load default mappings first
+ api.config.mappings.default_on_attach(bufnr)
+
+ -- open file in new tab with "t"
+ vim.keymap.set("n", "t", function()
+ local node = api.tree.get_node_under_cursor()
+ if node and node.type == "file" then
+ vim.cmd("tabnew " .. node.absolute_path)
+ end
+ end, opts("Open in new tab"))
+ end,
+ })
-- Keybind to toggle
vim.keymap.set("n", "<leader>e", "<cmd>NvimTreeToggle<CR>")