From bdc50e41ea8fc9ac6584ced662aba08060c3f167 Mon Sep 17 00:00:00 2001 From: Fernando Schauenburg Date: Mon, 7 Feb 2022 21:47:15 +0100 Subject: [PATCH] vim: replace NERDTree with nvim-tree.lua --- config/nvim/after/plugin/nerdtree.lua | 6 -- config/nvim/after/plugin/nvim-tree.lua | 76 ++++++++++++++++++++++++++ config/nvim/lua/fs/plugins.lua | 8 +-- 3 files changed, 79 insertions(+), 11 deletions(-) delete mode 100644 config/nvim/after/plugin/nerdtree.lua create mode 100644 config/nvim/after/plugin/nvim-tree.lua diff --git a/config/nvim/after/plugin/nerdtree.lua b/config/nvim/after/plugin/nerdtree.lua deleted file mode 100644 index 481cd70..0000000 --- a/config/nvim/after/plugin/nerdtree.lua +++ /dev/null @@ -1,6 +0,0 @@ -local nmap = require'fs.keymap'.nmap - --- toggle NERDTree -nmap { 'n', 'NERDTreeToggle' } - - diff --git a/config/nvim/after/plugin/nvim-tree.lua b/config/nvim/after/plugin/nvim-tree.lua new file mode 100644 index 0000000..85815d7 --- /dev/null +++ b/config/nvim/after/plugin/nvim-tree.lua @@ -0,0 +1,76 @@ +local nmap = require'fs.keymap'.nmap + +nmap { '', 'NvimTreeToggle' } +nmap { 'n', 'NvimTreeFindFileToggle' } + +-- helper to set vim.g options that will be moved to setup() later +local function set_globals(tbl) + local g = vim.g + for k, v in pairs(tbl) do + g['nvim_tree_' .. k] = v + end +end + +set_globals { + add_trailing = 1, -- add trailing / to folders + group_empty = 1, -- folders that contain only one folder are grouped + indent_markers = 1, -- show indent markers + git_hl = 1, -- enable highlight based on git attributes + + icons = { + default = '', -- defailt icon for files + symlink = '', -- default icon for symlinks + }, +} + +require'nvim-tree'.setup { + auto_close = true, -- close vim if tree is the last window + update_cwd = true, -- refresh tree on DirChanged + + git = { + ignore = false, -- don't hide files from .gitignore + }, + + view = { + width = 35, -- a little wider than the default 30 + }, + + filters = { + dotfiles = false, -- show files starting with a . + custom = { '.git' }, -- don't show .git directory + }, +} + +base03 = { cterm = 8, gui = '#002b36' } +base02 = { cterm = 0, gui = '#073642' } +base01 = { cterm = 10, gui = '#586e75' } +base00 = { cterm = 11, gui = '#657b83' } +base0 = { cterm = 12, gui = '#839496' } +base1 = { cterm = 14, gui = '#93a1a1' } +base2 = { cterm = 7, gui = '#eee8d5' } +base3 = { cterm = 15, gui = '#fdf6e3' } +yellow = { cterm = 3, gui = '#b58900' } +orange = { cterm = 9, gui = '#cb4b16' } +red = { cterm = 1, gui = '#dc322f' } +magenta = { cterm = 5, gui = '#d33682' } +violet = { cterm = 13, gui = '#6c71c4' } +blue = { cterm = 4, gui = '#268bd2' } +cyan = { cterm = 6, gui = '#2aa198' } +green = { cterm = 2, gui = '#859900' } + +local function highlight(group, color) + vim.cmd( + vim.fn.printf( + 'highlight %s ctermfg=%d guifg=%s', + group, color.cterm, color.gui)) +end + +highlight('NvimTreeSpecialFile' , base2 ) +highlight('NvimTreeIndentMarker' , base01 ) +highlight('NvimTreeGitStaged' , green ) +highlight('NvimTreeGitRenamed' , yellow ) +highlight('NvimTreeGitNew' , yellow ) +highlight('NvimTreeGitDirty' , yellow ) +highlight('NvimTreeGitDeleted' , orange ) +highlight('NvimTreeGitMerge' , red ) + diff --git a/config/nvim/lua/fs/plugins.lua b/config/nvim/lua/fs/plugins.lua index 6d77cce..c1b1946 100644 --- a/config/nvim/lua/fs/plugins.lua +++ b/config/nvim/lua/fs/plugins.lua @@ -3,13 +3,11 @@ local plugins = function(use) -- Visuals ---------------------------------------------------------------- use 'altercation/vim-colors-solarized' - use { - 'nvim-lualine/lualine.nvim', - requires = { 'kyazdani42/nvim-web-devicons', opt = true } - } + use 'kyazdani42/nvim-web-devicons' + use 'nvim-lualine/lualine.nvim' -- Navigation ------------------------------------------------------------- - use { 'scrooloose/nerdtree', cmd = 'NERDTreeToggle' } + use 'kyazdani42/nvim-tree.lua' use 'junegunn/rainbow_parentheses.vim' use 'ctrlpvim/ctrlp.vim'