From e23246622c803563719b7c876635f7c06968dd3d Mon Sep 17 00:00:00 2001 From: Tristan Russell Date: Fri, 8 May 2026 04:59:47 -0400 Subject: [PATCH] refactor: Plugin configuration lives with the lazy plugin spec files now. --- after/plugin/cmp.lua | 72 --------------------------------- after/plugin/colors.lua | 9 ----- after/plugin/fugitive.lua | 1 - after/plugin/harpoon.lua | 14 ------- after/plugin/lsp.lua | 44 -------------------- after/plugin/null.lua | 9 ----- after/plugin/telescope.lua | 19 --------- after/plugin/treesitter.lua | 1 - after/plugin/undotree.lua | 1 - lua/truss/lazy/cmp.lua | 76 ++++++++++++++++++++++++++++++++++- lua/truss/lazy/fugitive.lua | 5 ++- lua/truss/lazy/harpoon.lua | 14 ++++++- lua/truss/lazy/mason.lua | 48 +++++++++++++++++++++- lua/truss/lazy/none.lua | 13 +++++- lua/truss/lazy/telescope.lua | 21 ++++++++++ lua/truss/lazy/tokyonight.lua | 9 ++++- lua/truss/lazy/undotree.lua | 5 ++- 17 files changed, 184 insertions(+), 177 deletions(-) delete mode 100644 after/plugin/cmp.lua delete mode 100644 after/plugin/colors.lua delete mode 100644 after/plugin/fugitive.lua delete mode 100644 after/plugin/harpoon.lua delete mode 100644 after/plugin/lsp.lua delete mode 100644 after/plugin/null.lua delete mode 100644 after/plugin/telescope.lua delete mode 100644 after/plugin/treesitter.lua delete mode 100644 after/plugin/undotree.lua diff --git a/after/plugin/cmp.lua b/after/plugin/cmp.lua deleted file mode 100644 index 9235a5a..0000000 --- a/after/plugin/cmp.lua +++ /dev/null @@ -1,72 +0,0 @@ -local cmp = require("cmp") - -cmp.setup({ - snippet = { - -- REQUIRED - you must specify a snippet engine - expand = function(args) - require('luasnip').lsp_expand(args.body) -- For `luasnip` users. - --vim.snippet.expand(args.body) -- For native neovim snippets (Neovim v0.10+) - end, - }, - window = { - -- completion = cmp.config.window.bordered(), - -- documentation = cmp.config.window.bordered(), - }, - mapping = cmp.mapping.preset.insert({ - [''] = cmp.mapping.select_prev_item(cmp_select), - [''] = cmp.mapping.select_next_item(cmp_select), - [''] = cmp.mapping.confirm({ select = true }), - [''] = cmp.mapping.complete(), - }), - sources = cmp.config.sources({ - { name = 'nvim_lsp' }, - { name = 'luasnip' }, -- For luasnip users. - { name = 'buffer' }, - { - name = 'path', - option = { - pathMappings = { - ['@'] = '${folder}/src', - -- ['/'] = '${folder}/src/public/', - -- ['~@'] = '${folder}/src', - -- ['/images'] = '${folder}/src/images', - -- ['/components'] = '${folder}/src/components', - }, - }, - }, - }), - completion = { - completeopt = 'menu,menuone,noinsert', - }, -}) - --- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore). -cmp.setup.cmdline({ '/', '?' }, { - mapping = cmp.mapping.preset.cmdline(), - sources = { - { name = 'buffer' } - } -}) - -cmp.setup.cmdline(':', { - mapping = cmp.mapping.preset.cmdline(), - sources = cmp.config.sources( - { - { name = 'path' } - }, - { - { - name = 'cmdline', - option = { - ignore_cmds = { 'Man', '!' } - } - } - }) -}) - - -- Set up lspconfig. -local capabilities = require('cmp_nvim_lsp').default_capabilities() --- Replace with each lsp server you've enabled. ---require('lspconfig')[''].setup { --- capabilities = capabilities ---} diff --git a/after/plugin/colors.lua b/after/plugin/colors.lua deleted file mode 100644 index fee75d3..0000000 --- a/after/plugin/colors.lua +++ /dev/null @@ -1,9 +0,0 @@ -function applyColor(color) - color = color or "tokyonight" - vim.cmd.colorscheme(color) - - vim.api.nvim_set_hl(0, "Normal", { bg = "none" }) - vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" }) -end - -applyColor() diff --git a/after/plugin/fugitive.lua b/after/plugin/fugitive.lua deleted file mode 100644 index 2d8fe08..0000000 --- a/after/plugin/fugitive.lua +++ /dev/null @@ -1 +0,0 @@ -vim.keymap.set("n", "gs", vim.cmd.Git, { desc = "Show git summary" } ) diff --git a/after/plugin/harpoon.lua b/after/plugin/harpoon.lua deleted file mode 100644 index 749f62d..0000000 --- a/after/plugin/harpoon.lua +++ /dev/null @@ -1,14 +0,0 @@ -local mark = require("harpoon.mark") -local ui = require("harpoon.ui") - -vim.keymap.set("n", "a", mark.add_file) -vim.keymap.set("n", "", ui.toggle_quick_menu) - -vim.keymap.set("n", "", function() ui.nav_file(1) end) -vim.keymap.set("n", "", function() ui.nav_file(2) end) -vim.keymap.set("n", "", function() ui.nav_file(3) end) -vim.keymap.set("n", "", function() ui.nav_file(4) end) - - - - diff --git a/after/plugin/lsp.lua b/after/plugin/lsp.lua deleted file mode 100644 index 5f844b2..0000000 --- a/after/plugin/lsp.lua +++ /dev/null @@ -1,44 +0,0 @@ -require("mason").setup() - -vim.lsp.enable("lua_ls") -vim.lsp.config("lua_ls", { - on_init = function(client) - if client.workspace_folders then - local path = client.workspace_folders[1].name - if vim.loop.fs_stat(path..'/.luarc.json') or vim.loop.fs_stat(path..'/.luarc.jsonc') then - return - end - end - - client.config.settings.Lua = vim.tbl_deep_extend('force', client.config.settings.Lua, { - runtime = { - version = 'LuaJIT' - }, - workspace = { - checkThirdParty = false, - library = { - vim.env.VIMRUNTIME - } - } - }) - end, - settings = { - Lua = {} - } -}) - -vim.lsp.enable("clangd") - -vim.lsp.enable("rust_analyzer") - -vim.lsp.enable("pyright") - -vim.lsp.enable("html") - -vim.lsp.enable("vtsls") - -vim.lsp.enable("svelte") - -vim.lsp.enable("tailwindcss") - -vim.lsp.enable("jdtls") diff --git a/after/plugin/null.lua b/after/plugin/null.lua deleted file mode 100644 index 36315b8..0000000 --- a/after/plugin/null.lua +++ /dev/null @@ -1,9 +0,0 @@ -local null_ls = require("null-ls") - -null_ls.setup({ - sources = { - null_ls.builtins.formatting.stylua, - null_ls.builtins.completion.spell, - --require("none-ls.diagnostics.eslint"), -- requires none-ls-extras.nvim - }, -}) diff --git a/after/plugin/telescope.lua b/after/plugin/telescope.lua deleted file mode 100644 index 2570755..0000000 --- a/after/plugin/telescope.lua +++ /dev/null @@ -1,19 +0,0 @@ -require("telescope").setup({ - defaults = { - file_ignore_patterns = { - "%.svg$", - "%.png$", - "%.jpg$", - "%.jpeg$", - "%.webp$", - "%.gif$", - "%.ico$", - "%.pdf$", - }, - }, -}) - -local builtin = require('telescope.builtin') -vim.keymap.set('n', 'pf', builtin.find_files, { desc = 'Telescope find files' }) -vim.keymap.set('n', '', builtin.git_files, { desc = 'Telescope find files (git)' }) -vim.keymap.set('n', 'ps', builtin.live_grep, { desc = 'Telescope live grep' }) diff --git a/after/plugin/treesitter.lua b/after/plugin/treesitter.lua deleted file mode 100644 index b056b77..0000000 --- a/after/plugin/treesitter.lua +++ /dev/null @@ -1 +0,0 @@ -require("nvim-treesitter").setup() diff --git a/after/plugin/undotree.lua b/after/plugin/undotree.lua deleted file mode 100644 index c85077e..0000000 --- a/after/plugin/undotree.lua +++ /dev/null @@ -1 +0,0 @@ -vim.keymap.set("n", "u", vim.cmd.UndotreeToggle, { desc = "Toggle undo tree" }) diff --git a/lua/truss/lazy/cmp.lua b/lua/truss/lazy/cmp.lua index b549e52..ce95ff0 100644 --- a/lua/truss/lazy/cmp.lua +++ b/lua/truss/lazy/cmp.lua @@ -1,4 +1,78 @@ return { -- Code completion - 'hrsh7th/nvim-cmp' + 'hrsh7th/nvim-cmp', + config = function() { + local cmp = require("cmp") + + cmp.setup({ + snippet = { + -- REQUIRED - you must specify a snippet engine + expand = function(args) + require('luasnip').lsp_expand(args.body) -- For `luasnip` users. + --vim.snippet.expand(args.body) -- For native neovim snippets (Neovim v0.10+) + end, + }, + window = { + -- completion = cmp.config.window.bordered(), + -- documentation = cmp.config.window.bordered(), + }, + mapping = cmp.mapping.preset.insert({ + [''] = cmp.mapping.select_prev_item(cmp_select), + [''] = cmp.mapping.select_next_item(cmp_select), + [''] = cmp.mapping.confirm({ select = true }), + [''] = cmp.mapping.complete(), + }), + sources = cmp.config.sources({ + { name = 'nvim_lsp' }, + { name = 'luasnip' }, -- For luasnip users. + { name = 'buffer' }, + { + name = 'path', + option = { + pathMappings = { + ['@'] = '${folder}/src', + -- ['/'] = '${folder}/src/public/', + -- ['~@'] = '${folder}/src', + -- ['/images'] = '${folder}/src/images', + -- ['/components'] = '${folder}/src/components', + }, + }, + }, + }), + completion = { + completeopt = 'menu,menuone,noinsert', + }, + }) + + -- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore). + cmp.setup.cmdline({ '/', '?' }, { + mapping = cmp.mapping.preset.cmdline(), + sources = { + { name = 'buffer' } + } + }) + + cmp.setup.cmdline(':', { + mapping = cmp.mapping.preset.cmdline(), + sources = cmp.config.sources( + { + { name = 'path' } + }, + { + { + name = 'cmdline', + option = { + ignore_cmds = { 'Man', '!' } + } + } + }) + }) + + -- Set up lspconfig. + local capabilities = require('cmp_nvim_lsp').default_capabilities() + -- Replace with each lsp server you've enabled. + --require('lspconfig')[''].setup { + -- capabilities = capabilities + --} + } } diff --git a/lua/truss/lazy/fugitive.lua b/lua/truss/lazy/fugitive.lua index 3b394aa..4c3124f 100644 --- a/lua/truss/lazy/fugitive.lua +++ b/lua/truss/lazy/fugitive.lua @@ -1,4 +1,7 @@ return { -- Git utility - 'tpope/vim-fugitive' + 'tpope/vim-fugitive', + config = function() { + vim.keymap.set("n", "gs", vim.cmd.Git, { desc = "Show git summary" } ) + } } diff --git a/lua/truss/lazy/harpoon.lua b/lua/truss/lazy/harpoon.lua index dff51df..76fefb2 100644 --- a/lua/truss/lazy/harpoon.lua +++ b/lua/truss/lazy/harpoon.lua @@ -1,4 +1,16 @@ return { -- File navigation utility - 'ThePrimeagen/harpoon' + 'ThePrimeagen/harpoon', + config = function() { + local mark = require("harpoon.mark") + local ui = require("harpoon.ui") + + vim.keymap.set("n", "a", mark.add_file) + vim.keymap.set("n", "", ui.toggle_quick_menu) + + vim.keymap.set("n", "", function() ui.nav_file(1) end) + vim.keymap.set("n", "", function() ui.nav_file(2) end) + vim.keymap.set("n", "", function() ui.nav_file(3) end) + vim.keymap.set("n", "", function() ui.nav_file(4) end) + } } diff --git a/lua/truss/lazy/mason.lua b/lua/truss/lazy/mason.lua index ff195ac..bdd9c43 100644 --- a/lua/truss/lazy/mason.lua +++ b/lua/truss/lazy/mason.lua @@ -1,4 +1,50 @@ return { -- Packager Manager (LSPs) - 'williamboman/mason.nvim' + 'williamboman/mason.nvim', + config = function() { + require("mason").setup() + + vim.lsp.enable("lua_ls") + vim.lsp.config("lua_ls", { + on_init = function(client) + if client.workspace_folders then + local path = client.workspace_folders[1].name + if vim.loop.fs_stat(path..'/.luarc.json') or vim.loop.fs_stat(path..'/.luarc.jsonc') then + return + end + end + + client.config.settings.Lua = vim.tbl_deep_extend('force', client.config.settings.Lua, { + runtime = { + version = 'LuaJIT' + }, + workspace = { + checkThirdParty = false, + library = { + vim.env.VIMRUNTIME + } + } + }) + end, + settings = { + Lua = {} + } + }) + + vim.lsp.enable("clangd") + + vim.lsp.enable("rust_analyzer") + + vim.lsp.enable("pyright") + + vim.lsp.enable("html") + + vim.lsp.enable("vtsls") + + vim.lsp.enable("svelte") + + vim.lsp.enable("tailwindcss") + + vim.lsp.enable("jdtls") + } } diff --git a/lua/truss/lazy/none.lua b/lua/truss/lazy/none.lua index 316a7c1..1222300 100644 --- a/lua/truss/lazy/none.lua +++ b/lua/truss/lazy/none.lua @@ -1,4 +1,15 @@ return { -- Formatter, Linter, etc bridge?? - 'nvimtools/none-ls.nvim' + 'nvimtools/none-ls.nvim', + config = function() { + local null_ls = require("null-ls") + + null_ls.setup({ + sources = { + null_ls.builtins.formatting.stylua, + null_ls.builtins.completion.spell, + --require("none-ls.diagnostics.eslint"), -- requires none-ls-extras.nvim + }, + }) + } } diff --git a/lua/truss/lazy/telescope.lua b/lua/truss/lazy/telescope.lua index 15afab6..529990b 100644 --- a/lua/truss/lazy/telescope.lua +++ b/lua/truss/lazy/telescope.lua @@ -5,5 +5,26 @@ return { 'nvim-lua/plenary.nvim', -- optional but recommended { 'nvim-telescope/telescope-fzf-native.nvim', build = 'make' }, + }, + config = function() { + require("telescope").setup({ + defaults = { + file_ignore_patterns = { + "%.svg$", + "%.png$", + "%.jpg$", + "%.jpeg$", + "%.webp$", + "%.gif$", + "%.ico$", + "%.pdf$", + }, + }, + }) + + local builtin = require('telescope.builtin') + vim.keymap.set('n', 'pf', builtin.find_files, { desc = 'Telescope find files' }) + vim.keymap.set('n', '', builtin.git_files, { desc = 'Telescope find files (git)' }) + vim.keymap.set('n', 'ps', builtin.live_grep, { desc = 'Telescope live grep' }) } } diff --git a/lua/truss/lazy/tokyonight.lua b/lua/truss/lazy/tokyonight.lua index f0a0dee..51f7a97 100644 --- a/lua/truss/lazy/tokyonight.lua +++ b/lua/truss/lazy/tokyonight.lua @@ -1,4 +1,11 @@ return { -- Color Scheme - 'folke/tokyonight.nvim' + 'folke/tokyonight.nvim', + config = function() { + color = color or "tokyonight" + vim.cmd.colorscheme(color) + + vim.api.nvim_set_hl(0, "Normal", { bg = "none" }) + vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" }) + } } diff --git a/lua/truss/lazy/undotree.lua b/lua/truss/lazy/undotree.lua index c5586fa..fd69b60 100644 --- a/lua/truss/lazy/undotree.lua +++ b/lua/truss/lazy/undotree.lua @@ -1,4 +1,7 @@ return { -- Undo.. tree - 'mbbill/undotree' + 'mbbill/undotree', + config = function() { + vim.keymap.set("n", "u", vim.cmd.UndotreeToggle, { desc = "Toggle undo tree" }) + } }