- 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-})
+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'