migrate to stow
This commit is contained in:
74
neovim/.config/nvim/lua/user/file-tree.lua
Normal file
74
neovim/.config/nvim/lua/user/file-tree.lua
Normal file
@@ -0,0 +1,74 @@
|
||||
vim.g.nvim_tree_show_icons = {
|
||||
git = 1,
|
||||
files = 1,
|
||||
folders = 1,
|
||||
}
|
||||
vim.g.nvim_tree_icons = {
|
||||
default = "",
|
||||
symlink = "",
|
||||
git = {
|
||||
unstaged = "U",
|
||||
staged = "S",
|
||||
unmerged = "M",
|
||||
renamed = "R",
|
||||
untracked = "N",
|
||||
deleted = "D",
|
||||
},
|
||||
}
|
||||
vim.g.nvim_tree_git_hl = 1
|
||||
vim.g.nvim_tree_add_trailing = 1
|
||||
vim.g.nvim_tree_indent_markers = 1
|
||||
vim.g.nvim_tree_group_empty = 1
|
||||
|
||||
local function git_stage(node)
|
||||
local cwd = vim.loop.cwd()
|
||||
local relative_path = string.gsub(node.absolute_path, cwd .. "/", "")
|
||||
|
||||
local f = io.popen("git add " .. relative_path, "r")
|
||||
f:close()
|
||||
end
|
||||
local function git_reset(node)
|
||||
local cwd = vim.loop.cwd()
|
||||
local relative_path = string.gsub(node.absolute_path, cwd .. "/", "")
|
||||
|
||||
local f = io.popen("git reset " .. relative_path, "r")
|
||||
f:close()
|
||||
end
|
||||
-- TODO: add here keymap for git diff window
|
||||
|
||||
require("nvim-tree").setup({
|
||||
disable_netrw = true,
|
||||
hijack_netrw = true,
|
||||
open_on_setup = true,
|
||||
hijack_cursor = true,
|
||||
open_on_tab = false,
|
||||
update_cwd = true,
|
||||
update_focused_file = {
|
||||
enable = true,
|
||||
},
|
||||
view = {
|
||||
width = 30,
|
||||
side = "left",
|
||||
auto_resize = true,
|
||||
mappings = {
|
||||
list = {
|
||||
{ key = "tn", action = "tabnew" },
|
||||
{ key = "gs", action = "git_stage", action_cb = git_stage },
|
||||
{ key = "gr", action = "git_reset", action_cb = git_reset },
|
||||
{ key = "l", action = "edit" },
|
||||
{ key = "@", action = "cd" },
|
||||
},
|
||||
},
|
||||
},
|
||||
filters = {
|
||||
custom = { ".git" },
|
||||
},
|
||||
git = {
|
||||
ignore = true,
|
||||
},
|
||||
diagnostics = {
|
||||
enable = true,
|
||||
show_on_dirs = true,
|
||||
icons = { hint = "", info = "", warning = "", error = "" },
|
||||
},
|
||||
})
|
||||
Reference in New Issue
Block a user