add nvim-tree
This commit is contained in:
parent
22963d8523
commit
c080f17b08
2 changed files with 92 additions and 4 deletions
|
|
@ -68,10 +68,10 @@ local servers = {
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Diagnostic keymaps
|
-- Diagnostic keymaps
|
||||||
vim.keymap.set("n", "[d", vim.diagnostic.goto_prev, { desc = "Go to previous diagnostic message" })
|
-- vim.keymap.set("n", "[d", vim.diagnostic.goto_prev, { desc = "Go to previous diagnostic message" })
|
||||||
vim.keymap.set("n", "]d", vim.diagnostic.goto_next, { desc = "Go to next diagnostic message" })
|
-- vim.keymap.set("n", "]d", vim.diagnostic.goto_next, { desc = "Go to next diagnostic message" })
|
||||||
vim.keymap.set("n", "<leader>e", vim.diagnostic.open_float, { desc = "Open floating diagnostic message" })
|
-- vim.keymap.set("n", "<leader>e", vim.diagnostic.open_float, { desc = "Open floating diagnostic message" })
|
||||||
vim.keymap.set("n", "<leader>q", vim.diagnostic.setloclist, { desc = "Open diagnostics list" })
|
-- vim.keymap.set("n", "<leader>q", vim.diagnostic.setloclist, { desc = "Open diagnostics list" })
|
||||||
|
|
||||||
-- nvim-cmp supports additional completion capabilities, so broadcast that to servers
|
-- nvim-cmp supports additional completion capabilities, so broadcast that to servers
|
||||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||||
|
|
|
||||||
88
config/nvim/lua/aleidk/plugins/nvim-tree.lua
Normal file
88
config/nvim/lua/aleidk/plugins/nvim-tree.lua
Normal file
|
|
@ -0,0 +1,88 @@
|
||||||
|
return {
|
||||||
|
"nvim-tree/nvim-tree.lua",
|
||||||
|
-- enabled = false,
|
||||||
|
version = "*",
|
||||||
|
dependencies = {
|
||||||
|
"nvim-tree/nvim-web-devicons",
|
||||||
|
},
|
||||||
|
lazy = false,
|
||||||
|
config = function()
|
||||||
|
local tree = require("nvim-tree")
|
||||||
|
local tree_cb = require("nvim-tree.config").nvim_tree_callback
|
||||||
|
local api = require("nvim-tree.api")
|
||||||
|
|
||||||
|
tree.setup({
|
||||||
|
hijack_unnamed_buffer_when_opening = true,
|
||||||
|
disable_netrw = true,
|
||||||
|
hijack_netrw = true,
|
||||||
|
hijack_cursor = true, -- cursor at the start of filename
|
||||||
|
sync_root_with_cwd = true,
|
||||||
|
respect_buf_cwd = true,
|
||||||
|
update_focused_file = {
|
||||||
|
enable = true, -- focus curren file
|
||||||
|
update_root = true,
|
||||||
|
},
|
||||||
|
actions = { open_file = { quit_on_open = true } },
|
||||||
|
renderer = {
|
||||||
|
full_name = true, -- show remaining name in floating text
|
||||||
|
group_empty = true, -- group empty folders
|
||||||
|
add_trailing = true, -- Trailing slash to folders
|
||||||
|
highlight_opened_files = "all",
|
||||||
|
highlight_git = true,
|
||||||
|
},
|
||||||
|
view = {
|
||||||
|
centralize_selection = true, -- center current file on enter
|
||||||
|
width = 30, -- N° of columns or %
|
||||||
|
},
|
||||||
|
on_attach = function(bufnr)
|
||||||
|
local function opts(desc)
|
||||||
|
return { desc = "nvim-tree: " .. desc, buffer = bufnr, noremap = true, silent = true, nowait = true }
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Check defaults here: https://github.com/nvim-tree/nvim-tree.lua/wiki/Migrating-To-on_attach
|
||||||
|
api.config.mappings.default_on_attach(bufnr)
|
||||||
|
|
||||||
|
vim.keymap.set("n", "l", api.node.open.edit, opts("Open"))
|
||||||
|
vim.keymap.set("n", "o", api.node.open.edit, opts("Open"))
|
||||||
|
vim.keymap.set("n", "<CR>", api.node.open.edit, opts("Open"))
|
||||||
|
vim.keymap.set("n", "<2-LeftMouse>", api.node.open.edit, opts("Open"))
|
||||||
|
vim.keymap.set("n", "s", api.node.open.vertical, opts("Open in vsplit"))
|
||||||
|
vim.keymap.set("n", "v", api.node.open.horizontal, opts("Open in hsplit"))
|
||||||
|
vim.keymap.set("n", "t", api.node.open.tab, opts("Open in tab"))
|
||||||
|
vim.keymap.set("n", "h", api.node.navigate.parent_close, opts("Close dir"))
|
||||||
|
vim.keymap.set("n", "<BS>", api.node.navigate.parent_close, opts("Close dir"))
|
||||||
|
vim.keymap.set("n", "i", api.tree.toggle_hidden_filter, opts("Toggle Dotfiles"))
|
||||||
|
vim.keymap.set("n", "I", api.tree.toggle_gitignore_filter, opts("Toggle Git Ignore"))
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Auto open when a dir is opened
|
||||||
|
|
||||||
|
local function open_nvim_tree(data)
|
||||||
|
-- buffer is a directory
|
||||||
|
local directory = vim.fn.isdirectory(data.file) == 1
|
||||||
|
|
||||||
|
if not directory then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- create a new, empty buffer
|
||||||
|
vim.cmd.enew()
|
||||||
|
|
||||||
|
-- wipe the directory buffer
|
||||||
|
vim.cmd.bw(data.buf)
|
||||||
|
|
||||||
|
-- change to the directory
|
||||||
|
vim.cmd.cd(data.file)
|
||||||
|
|
||||||
|
-- open the tree
|
||||||
|
require("nvim-tree.api").tree.open()
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd({ "VimEnter" }, { callback = open_nvim_tree })
|
||||||
|
|
||||||
|
-- bindings
|
||||||
|
vim.keymap.set("n", "<leader>e", ":NvimTreeToggle<CR>", { desc = "Toggle file tree", silent = true })
|
||||||
|
vim.keymap.set("n", "<C-e>", ":NvimTreeToggle<CR>", { desc = "Toggle file tree", silent = true })
|
||||||
|
end,
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue