Adding Changes
This commit is contained in:
100
kkk
Normal file
100
kkk
Normal file
@@ -0,0 +1,100 @@
|
||||
return {
|
||||
"nvim-tree/nvim-tree.lua",
|
||||
dependencies = "nvim-tree/nvim-web-devicons",
|
||||
config = function()
|
||||
local nvimtree = require("nvim-tree")
|
||||
|
||||
-- recommended settings from nvim-tree documentation
|
||||
vim.g.loaded_netrw = 1
|
||||
vim.g.loaded_netrwPlugin = 1
|
||||
|
||||
nvimtree.setup({
|
||||
view = {
|
||||
width = 35,
|
||||
relativenumber = true,
|
||||
},
|
||||
-- change folder arrow icons
|
||||
renderer = {
|
||||
indent_markers = {
|
||||
enable = true,
|
||||
},
|
||||
icons = {
|
||||
glyphs = {
|
||||
folder = {
|
||||
arrow_closed = "", -- arrow when folder is closed
|
||||
arrow_open = "", -- arrow when folder is open
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
-- disable window_picker for
|
||||
-- explorer to work well with
|
||||
-- window splits
|
||||
actions = {
|
||||
open_file = {
|
||||
quit_on_open = true,
|
||||
window_picker = {
|
||||
enable = false,
|
||||
},
|
||||
},
|
||||
},
|
||||
filters = {
|
||||
custom = { ".DS_Store" },
|
||||
},
|
||||
git = {
|
||||
ignore = false,
|
||||
},
|
||||
on_attach = function(bufnr) -- Correct way to set keymaps
|
||||
local api = require("nvim-tree.api")
|
||||
local opts = { noremap = true, silent = true, nowait = true, buffer = bufnr }
|
||||
|
||||
-- Open file in vertical split
|
||||
vim.keymap.set("n", "s", api.node.open.vertical, opts)
|
||||
|
||||
-- Open file in horizontal split
|
||||
vim.keymap.set("n", "i", api.node.open.horizontal, opts)
|
||||
|
||||
-- Open file in the current window
|
||||
vim.keymap.set("n", "o", api.node.open.edit, opts)
|
||||
-- File Management keybindings
|
||||
vim.keymap.set("n", "a", function() -- Add a new file
|
||||
vim.cmd("set modifiable") -- Ensure modifiable mode is on
|
||||
api.fs.create()
|
||||
end, opts)
|
||||
|
||||
vim.keymap.set("n", "r", function() -- Rename file
|
||||
vim.cmd("set modifiable") -- Ensure modifiable mode is on
|
||||
api.fs.rename()
|
||||
end, opts)
|
||||
|
||||
vim.keymap.set("n", "d", function() -- Delete file
|
||||
vim.cmd("set modifiable") -- Ensure modifiable mode is on
|
||||
api.fs.remove()
|
||||
end, opts)
|
||||
|
||||
vim.keymap.set("n", "x", function() -- Cut (move) file
|
||||
vim.cmd("set modifiable") -- Ensure modifiable mode is on
|
||||
api.fs.cut()
|
||||
end, opts)
|
||||
|
||||
vim.keymap.set("n", "p", function() -- Paste file
|
||||
vim.cmd("set modifiable") -- Ensure modifiable mode is on
|
||||
api.fs.paste()
|
||||
end, opts)
|
||||
|
||||
vim.keymap.set("n", "y", function() -- Copy file
|
||||
vim.cmd("set modifiable") -- Ensure modifiable mode is on
|
||||
api.fs.copy()
|
||||
end, opts)
|
||||
end,
|
||||
})
|
||||
|
||||
-- set keymaps
|
||||
local keymap = vim.keymap -- for conciseness
|
||||
|
||||
keymap.set("n", "<leader>ee", "<cmd>NvimTreeToggle<CR>", { desc = "Toggle file explorer" }) -- toggle file explorer
|
||||
keymap.set("n", "<leader>nt", "<cmd>NvimTreeFindFileToggle<CR>", { desc = "Toggle file explorer on current file" }) -- toggle file explorer on current file
|
||||
keymap.set("n", "<leader>ec", "<cmd>NvimTreeCollapse<CR>", { desc = "Collapse file explorer" }) -- collapse file explorer
|
||||
keymap.set("n", "<leader>er", "<cmd>NvimTreeRefresh<CR>", { desc = "Refresh file explorer" }) -- refresh file explorer
|
||||
end,
|
||||
}
|
||||
Reference in New Issue
Block a user