repos / dotfiles

my dotfiles

commit
b06110b
parent
9bc6531
author
Eric Bower
date
2025-07-08 21:21:07 -0400 EDT
refactor(nvim): single lua script
2 files changed,  +68, -103
R dot_config/nvim/lua/init.lua => dot_config/nvim/init.lua
+68, -98
  1@@ -13,8 +13,6 @@ opt.colorcolumn    = '80'
  2 opt.completeopt    = { "menuone", "noselect", "popup" }
  3 opt.laststatus     = 0
  4 opt.winborder      = 'rounded'
  5--- opt.number         = true
  6-
  7 vim.g.mapleader      = ','
  8 vim.g.maplocalleader = ','
  9 
 10@@ -26,7 +24,12 @@ set_keymap('n', '<leader>w', ':!make fmt<CR>', opts) -- code format command
 11 set_keymap('t', '<Esc>', [[<C-\><C-n>]], opts)       -- exit terminal mode with Esc
 12 
 13 local autocmd = vim.api.nvim_create_autocmd
 14-
 15+autocmd('Filetype', { pattern = { 'qf' }, command = 'setlocal wrap' })
 16+autocmd('Filetype', { pattern = { 'make' }, command = 'setlocal tabstop=4 shiftwidth=4 softtabstop=4' })
 17+autocmd('Filetype', {
 18+  pattern = { 'markdown' },
 19+  command = 'setlocal wrap tw=79 formatoptions+=t tabstop=2 shiftwidth=2 softtabstop=2',
 20+})
 21 autocmd('FileType', {
 22   group = vim.api.nvim_create_augroup('close_with_q', { clear = true }),
 23   pattern = { 'help', 'man', 'qf', 'scratch' },
 24@@ -35,21 +38,6 @@ autocmd('FileType', {
 25   end,
 26 })
 27 
 28-autocmd('Filetype', {
 29-  pattern = { 'make' },
 30-  command = 'setlocal tabstop=4 shiftwidth=4 softtabstop=4',
 31-})
 32-
 33-autocmd('Filetype', {
 34-  pattern = { 'qf' },
 35-  command = 'setlocal wrap',
 36-})
 37-
 38-autocmd('Filetype', {
 39-  pattern = { 'markdown' },
 40-  command = 'setlocal wrap tw=79 formatoptions+=t tabstop=2 shiftwidth=2 softtabstop=2',
 41-})
 42-
 43 local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
 44 if not (vim.uv or vim.loop).fs_stat(lazypath) then
 45   local lazyrepo = "https://github.com/folke/lazy.nvim.git"
 46@@ -66,14 +54,69 @@ if not (vim.uv or vim.loop).fs_stat(lazypath) then
 47 end
 48 vim.opt.rtp:prepend(lazypath)
 49 
 50-function setup_treesitter()
 51-  require'nvim-treesitter.configs'.setup {
 52-    highlight = {
 53-      enable = true,
 54+require("lazy").setup({
 55+  rocks = { enabled = false },
 56+  performance = {
 57+    rtp = {
 58+      disabled_plugins = {
 59+        "gzip", "matchit", "matchparen", "netrwPlugin",
 60+        "tarPlugin", "tohtml", "tutor", "zipPlugin",
 61+      },
 62+    },
 63+  },
 64+  spec = {
 65+    { 'neovim/nvim-lspconfig', config = setup_lsp },
 66+    { 'nvim-treesitter/nvim-treesitter', build = ':TSUpdate', config = setup_treesitter },
 67+    {
 68+      "ibhagwan/fzf-lua",
 69+      config = function()
 70+        local fzf = require('fzf-lua')
 71+        local fzfFiles = function()
 72+          fzf.files({
 73+            winopts = {
 74+              preview = { hidden = "hidden" },
 75+            },
 76+          })
 77+        end
 78+        vim.keymap.set("n", "<leader>s", fzfFiles, { desc = "Fzf Files", noremap=true, silent=true })
 79+        vim.keymap.set("n", "<leader>f", fzf.buffers, { desc = "Fzf Buffers", noremap=true, silent=true })
 80+        vim.keymap.set("n", "<leader>S", fzf.live_grep, { desc = "Fzf Grep", noremap=true, silent=true })
 81+        fzf.setup({'max-perf'})
 82+      end
 83     },
 84-    indent = {
 85-      enable = true
 86+    {
 87+      "christoomey/vim-tmux-navigator",
 88+      cmd = { "TmuxNavigateLeft", "TmuxNavigateDown", "TmuxNavigateUp", "TmuxNavigateRight" },
 89+      keys = {
 90+        { "<c-h>", "<cmd><C-U>TmuxNavigateLeft<cr>" },
 91+        { "<c-j>", "<cmd><C-U>TmuxNavigateDown<cr>" },
 92+        { "<c-k>", "<cmd><C-U>TmuxNavigateUp<cr>" },
 93+        { "<c-l>", "<cmd><C-U>TmuxNavigateRight<cr>" },
 94+      },
 95+    },
 96+    {
 97+      'ruifm/gitlinker.nvim',
 98+      dependencies = 'nvim-lua/plenary.nvim',
 99+      config = function()
100+        require"gitlinker".setup()
101+      end,
102+    },
103+    {
104+      'Mofiqul/dracula.nvim',
105+      lazy = false,
106+      priority = 1000,
107+      config = function()
108+        require('dracula').setup({})
109+        vim.cmd[[colorscheme dracula]]
110+      end
111     },
112+  },
113+})
114+
115+function setup_treesitter()
116+  require'nvim-treesitter.configs'.setup {
117+    highlight = { enable = true },
118+    indent = { enable = true },
119     ensure_installed = {
120       "bash",
121       "c",
122@@ -113,11 +156,9 @@ function setup_treesitter()
123 end
124 
125 function setup_lsp()
126-  local opts = { noremap=true, silent=true }
127   vim.keymap.set('n', '<leader>e', vim.diagnostic.open_float, opts)
128   vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, opts)
129-  -- Use an on_attach function to only map the following keys
130-  -- after the language server attaches to the current buffer
131+
132   local on_attach = function(client, bufnr)
133     vim.lsp.completion.enable(true, client.id, bufnr, {
134       autotrigger = true,
135@@ -137,13 +178,11 @@ function setup_lsp()
136   end
137 
138   local nvim_lsp = require('lspconfig')
139-
140   function handler(server_name)
141     local opts = {
142       capabilities = capabilities,
143       on_attach = on_attach,
144     }
145-
146     if server_name == "denols" then
147       opts.root_dir = nvim_lsp.util.root_pattern("deno.json", "deno.jsonc")
148     elseif server_name == "ts_ls" then
149@@ -151,7 +190,6 @@ function setup_lsp()
150       -- https://github.com/neovim/nvim-lspconfig/issues/2507#issuecomment-1471438640
151       opts.single_file_support = false
152     end
153-
154     nvim_lsp[server_name].setup(opts)
155   end
156 
157@@ -167,71 +205,3 @@ function setup_lsp()
158   handler("ts_ls")
159   handler("zls")
160 end
161-
162-require("lazy").setup({
163-  rocks = {
164-    enabled = false,
165-  },
166-  performance = {
167-    rtp = {
168-      disabled_plugins = {
169-        "gzip", "matchit", "matchparen", "netrwPlugin",
170-        "tarPlugin", "tohtml", "tutor", "zipPlugin",
171-      },
172-    },
173-  },
174-  spec = {
175-    {
176-      'neovim/nvim-lspconfig',
177-      config = setup_lsp,
178-    },
179-    {
180-      'nvim-treesitter/nvim-treesitter',
181-      build = ':TSUpdate',
182-      config = setup_treesitter
183-    },
184-    {
185-      'ruifm/gitlinker.nvim',
186-      dependencies = 'nvim-lua/plenary.nvim',
187-      config = function()
188-        require"gitlinker".setup()
189-      end,
190-    },
191-    {
192-      'Mofiqul/dracula.nvim',
193-      lazy = false,
194-      priority = 1000,
195-      config = function()
196-        require('dracula').setup({})
197-        vim.cmd[[colorscheme dracula]]
198-      end
199-    },
200-    {
201-      "ibhagwan/fzf-lua",
202-      config = function()
203-        local fzf = require('fzf-lua')
204-        local fzfFiles = function()
205-          fzf.files({
206-            winopts = {
207-              preview = { hidden = "hidden" },
208-            },
209-          })
210-        end
211-        vim.keymap.set("n", "<leader>s", fzfFiles, { desc = "Fzf Files", noremap=true, silent=true })
212-        vim.keymap.set("n", "<leader>f", fzf.buffers, { desc = "Fzf Buffers", noremap=true, silent=true })
213-        vim.keymap.set("n", "<leader>S", fzf.live_grep, { desc = "Fzf Grep", noremap=true, silent=true })
214-        fzf.setup({'max-perf'})
215-      end
216-    },
217-    {
218-      "christoomey/vim-tmux-navigator",
219-      cmd = { "TmuxNavigateLeft", "TmuxNavigateDown", "TmuxNavigateUp", "TmuxNavigateRight" },
220-      keys = {
221-        { "<c-h>", "<cmd><C-U>TmuxNavigateLeft<cr>" },
222-        { "<c-j>", "<cmd><C-U>TmuxNavigateDown<cr>" },
223-        { "<c-k>", "<cmd><C-U>TmuxNavigateUp<cr>" },
224-        { "<c-l>", "<cmd><C-U>TmuxNavigateRight<cr>" },
225-      },
226-    },
227-  },
228-})
D dot_config/nvim/init.vim
+0, -5
1@@ -1,5 +0,0 @@
2-set rtp+=/usr/local/opt/fzf
3-
4-let $FZF_DEFAULT_COMMAND = 'rg --files --hidden --glob "!.git/"'
5-
6-lua require'init'