repos / dotfiles

my dotfiles

commit
a9e4f76
parent
a35eed3
author
Eric Bower
date
2024-12-19 21:31:25 -0500 EST
refactor(nvim): add new plugins, del old plugins
3 files changed,  +146, -129
M dot_config/nvim/lua/init.lua
+2, -5
 1@@ -27,14 +27,11 @@ g.loaded_netrw        = 1 -- disable netrw (nvim-tree)
 2 g.loaded_netrwPlugin  = 1
 3 
 4 local opts = { noremap=true, silent=true }
 5-local set_keymap = vim.api.nvim_set_keymap
 6+local set_keymap = vim.keymap.set
 7 set_keymap('n', '<leader>b', '<C-O>', opts)
 8-set_keymap('n', '<leader>s', ':FZF<CR>', opts)
 9-set_keymap('n', '<leader>S', ':Rg!<CR>', opts)
10-set_keymap('n', '<leader>B', ':Buffers<CR>', opts)
11 set_keymap('n', 'Q', '<nop>', opts)
12 set_keymap('n', '<leader>w', ':!make fmt<CR>', opts)
13-vim.keymap.set('n', '<Esc>', [[<C-\><C-n>]], opts)
14+set_keymap('n', '<Esc>', [[<C-\><C-n>]], opts)
15 
16 require 'plugins'
17 require 'autocmd'
M dot_config/nvim/lua/plugin_config.lua
+72, -81
  1@@ -1,53 +1,3 @@
  2-function setup_tree()
  3-  local opts = { noremap=true, silent=true }
  4-  vim.api.nvim_set_keymap('n', '<leader>t', ':NvimTreeToggle<CR>', opts)
  5-  vim.api.nvim_set_keymap('n', '<leader>f', ':NvimTreeFindFile<CR>', opts)
  6-
  7-  require'nvim-tree'.setup {
  8-    sort_by = "case_sensitive",
  9-    auto_reload_on_write = true,
 10-    view = {
 11-      width = 30,
 12-      side = 'left',
 13-    },
 14-    update_focused_file = {
 15-      ignore_list = {'.git', 'node_modules', '.cache'},
 16-    },
 17-    renderer = {
 18-      group_empty = true,
 19-    },
 20-    filters = {
 21-      dotfiles = true,
 22-    },
 23-  }
 24-
 25-  -- open for directories and change neovim's directory
 26-  local function open_nvim_tree(data)
 27-    -- buffer is a directory
 28-    local directory = vim.fn.isdirectory(data.file) == 1
 29-
 30-    if not directory then
 31-      return
 32-    end
 33-
 34-    -- change to the directory
 35-    vim.cmd.cd(data.file)
 36-
 37-    -- open the tree
 38-    require("nvim-tree.api").tree.open()
 39-  end
 40-
 41-  vim.api.nvim_create_autocmd({ "VimEnter" }, { callback = open_nvim_tree })
 42-end
 43-
 44-function setup_bufferline()
 45-  require("bufferline").setup{
 46-    options = {
 47-      mode = "tabs",
 48-    },
 49-  }
 50-end
 51-
 52 function setup_treesitter()
 53   require'nvim-treesitter.configs'.setup {
 54     ensure_installed = {
 55@@ -55,6 +5,7 @@ function setup_treesitter()
 56       "c",
 57       "cmake",
 58       "dockerfile",
 59+      "fish",
 60       "git_config",
 61       "git_rebase",
 62       "gitattributes",
 63@@ -78,9 +29,7 @@ function setup_treesitter()
 64       "r",
 65       "ruby",
 66       "rust",
 67-      "scss",
 68       "sql",
 69-      "svelte",
 70       "terraform",
 71       "toml",
 72       "tsx",
 73@@ -133,14 +82,6 @@ function setup_comp()
 74   })
 75 end
 76 
 77-function setup_statusline()
 78-  require('lualine').setup {
 79-    options = {
 80-      theme = 'dracula-nvim',
 81-    },
 82-  }
 83-end
 84-
 85 function setup_lsp()
 86   local opts = { noremap=true, silent=true }
 87   vim.keymap.set('n', '<leader>e', vim.diagnostic.open_float, opts)
 88@@ -200,27 +141,6 @@ function setup_lsp()
 89   -- setup_folding()
 90 end
 91 
 92-function setup_folding()
 93-  vim.o.foldcolumn = '0' -- '0' is not bad
 94-  vim.o.foldlevel = 99 -- Using ufo provider need a large value, feel free to decrease the value
 95-  vim.o.foldlevelstart = 99
 96-  vim.o.foldenable = true
 97-  -- vim.o.fillchars = [[eob: ,fold: ,foldopen:,foldsep: ,foldclose:]]
 98-
 99-  -- `za` to toggle fold on cursor
100-  vim.keymap.set('n', '<leader>M', require('ufo').openAllFolds)
101-  vim.keymap.set('n', '<leader>m', require('ufo').closeAllFolds)
102-  require('ufo').setup()
103-end
104-
105-function setup_gitsigns()
106-  require('gitsigns').setup {}
107-end
108-
109-function setup_gitlinker()
110-  require"gitlinker".setup()
111-end
112-
113 function setup_tmux_nav()
114   local nvim_tmux_nav = require('nvim-tmux-navigation')
115 
116@@ -235,3 +155,74 @@ function setup_tmux_nav()
117   vim.keymap.set('n', "<C-\\>", nvim_tmux_nav.NvimTmuxNavigateLastActive)
118   vim.keymap.set('n', "<C-Space>", nvim_tmux_nav.NvimTmuxNavigateNext)
119 end
120+
121+-- function setup_tree()
122+--   local opts = { noremap=true, silent=true }
123+--   vim.api.nvim_set_keymap('n', '<leader>t', ':NvimTreeToggle<CR>', opts)
124+--   vim.api.nvim_set_keymap('n', '<leader>f', ':NvimTreeFindFile<CR>', opts)
125+--
126+--   require'nvim-tree'.setup {
127+--     sort_by = "case_sensitive",
128+--     auto_reload_on_write = true,
129+--     view = {
130+--       width = 30,
131+--       side = 'left',
132+--     },
133+--     update_focused_file = {
134+--       ignore_list = {'.git', 'node_modules', '.cache'},
135+--     },
136+--     renderer = {
137+--       group_empty = true,
138+--     },
139+--     filters = {
140+--       dotfiles = true,
141+--     },
142+--   }
143+--
144+--   -- open for directories and change neovim's directory
145+--   local function open_nvim_tree(data)
146+--     -- buffer is a directory
147+--     local directory = vim.fn.isdirectory(data.file) == 1
148+--
149+--     if not directory then
150+--       return
151+--     end
152+--
153+--     -- change to the directory
154+--     vim.cmd.cd(data.file)
155+--
156+--     -- open the tree
157+--     require("nvim-tree.api").tree.open()
158+--   end
159+--
160+--   vim.api.nvim_create_autocmd({ "VimEnter" }, { callback = open_nvim_tree })
161+-- end
162+--
163+-- function setup_bufferline()
164+--   require("bufferline").setup{
165+--     options = {
166+--       mode = "tabs",
167+--     },
168+--   }
169+-- end
170+--
171+-- function setup_folding()
172+--   vim.o.foldcolumn = '0' -- '0' is not bad
173+--   vim.o.foldlevel = 99 -- Using ufo provider need a large value, feel free to decrease the value
174+--   vim.o.foldlevelstart = 99
175+--   vim.o.foldenable = true
176+--   -- vim.o.fillchars = [[eob: ,fold: ,foldopen:,foldsep: ,foldclose:]]
177+--
178+--   -- `za` to toggle fold on cursor
179+--   vim.keymap.set('n', '<leader>M', require('ufo').openAllFolds)
180+--   vim.keymap.set('n', '<leader>m', require('ufo').closeAllFolds)
181+--   require('ufo').setup()
182+-- end
183+--
184+-- function setup_statusline()
185+--   require('lualine').setup {
186+--     options = {
187+--       theme = 'dracula-nvim',
188+--     },
189+--   }
190+-- end
M dot_config/nvim/lua/plugins.lua
+72, -43
  1@@ -42,58 +42,28 @@ require("lazy").setup({
  2     },
  3     "hrsh7th/cmp-nvim-lsp",
  4     {
  5-      "akinsho/bufferline.nvim",
  6-      dependencies = 'nvim-tree/nvim-web-devicons',
  7-      config = setup_bufferline,
  8-    },
  9-    {
 10-      'nvim-lualine/lualine.nvim',
 11-      dependencies = {
 12-        'nvim-tree/nvim-web-devicons',
 13-        lazy = true,
 14-      },
 15-      config = setup_statusline
 16-    },
 17-    {
 18-      'nvim-tree/nvim-tree.lua',
 19-      config = setup_tree,
 20-      dependencies = {
 21-        'nvim-tree/nvim-web-devicons',
 22-        lazy = true,
 23-      }
 24+      'lewis6991/gitsigns.nvim',
 25+      config = function()
 26+        require('gitsigns').setup({})
 27+      end,
 28     },
 29     {
 30-      'lewis6991/gitsigns.nvim',
 31-      config = setup_gitsigns,
 32+      'lukas-reineke/indent-blankline.nvim',
 33+      config = function()
 34+        require("ibl").setup()
 35+      end
 36     },
 37-    'lukas-reineke/indent-blankline.nvim',
 38     {
 39       'ruifm/gitlinker.nvim',
 40       dependencies = 'nvim-lua/plenary.nvim',
 41-      config = setup_gitlinker,
 42-    },
 43-    {
 44-      'rhysd/git-messenger.vim'
 45-    },
 46-    {
 47-      'junegunn/fzf',
 48-      build = function()
 49-        vim.fn['fzf#install']()
 50-      end
 51+      config = function()
 52+        require"gitlinker".setup()
 53+      end,
 54     },
 55-    'junegunn/fzf.vim',
 56     {
 57       'alexghergh/nvim-tmux-navigation',
 58       config = setup_tmux_nav,
 59     },
 60-    {
 61-      'mg979/vim-visual-multi',
 62-      branch = 'master',
 63-    },
 64-    {
 65-      'Shougo/vimproc.vim',
 66-      build = 'make',
 67-    },
 68     {
 69       'Mofiqul/dracula.nvim',
 70       lazy = false,
 71@@ -103,12 +73,71 @@ require("lazy").setup({
 72         vim.cmd[[colorscheme dracula]]
 73       end
 74     },
 75-    'ntpeters/vim-better-whitespace',
 76     {
 77       "karb94/neoscroll.nvim",
 78-      config = function ()
 79+      config = function()
 80         require('neoscroll').setup({})
 81       end
 82     },
 83+    {
 84+      "ibhagwan/fzf-lua",
 85+      -- optional for icon support
 86+      -- dependencies = { "nvim-tree/nvim-web-devicons" },
 87+      config = function()
 88+        local fzf = require('fzf-lua')
 89+        local fzfFiles = function()
 90+          fzf.files({
 91+            winopts = {
 92+              preview = { hidden = "hidden" },
 93+            },
 94+          })
 95+        end
 96+        vim.keymap.set("n", "<leader>s", fzfFiles, { desc = "Fzf Files", noremap=true, silent=true })
 97+        vim.keymap.set("n", "<leader>f", fzf.buffers, { desc = "Fzf Buffers", noremap=true, silent=true })
 98+        vim.keymap.set("n", "<leader>S", fzf.live_grep, { desc = "Fzf Grep", noremap=true, silent=true })
 99+        fzf.setup({'max-perf'})
100+      end
101+    },
102+    -- vim plugins
103+    'rhysd/git-messenger.vim'
104+
105+    -- DEPRECATED
106+    --
107+    -- {
108+    --   'junegunn/fzf',
109+    --   build = function()
110+    --     vim.fn['fzf#install']()
111+    --   end
112+    -- },
113+    -- 'junegunn/fzf.vim',
114+    -- {
115+    --   'mg979/vim-visual-multi',
116+    --   branch = 'master',
117+    -- },
118+    -- {
119+    --   "akinsho/bufferline.nvim",
120+    --   dependencies = 'nvim-tree/nvim-web-devicons',
121+    --   config = setup_bufferline,
122+    -- },
123+    -- {
124+    --   'nvim-lualine/lualine.nvim',
125+    --   dependencies = {
126+    --     'nvim-tree/nvim-web-devicons',
127+    --     lazy = true,
128+    --   },
129+    --   config = setup_statusline
130+    -- },
131+    -- {
132+    --   'nvim-tree/nvim-tree.lua',
133+    --   config = setup_tree,
134+    --   dependencies = {
135+    --     'nvim-tree/nvim-web-devicons',
136+    --     lazy = true,
137+    --   }
138+    -- },
139+    -- {
140+    --   'Shougo/vimproc.vim',
141+    --   build = 'make',
142+    -- },
143   },
144 })