1
0
Fork 0

refactor: Plugin configuration lives with the lazy plugin spec files

now.
This commit is contained in:
Tristan Russell 2026-05-08 04:59:47 -04:00
parent 9c5bb03003
commit e23246622c
Signed by: tristanr
GPG Key ID: 4495C92911DF04CA
17 changed files with 184 additions and 177 deletions

View File

@ -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({
['<C-p>'] = cmp.mapping.select_prev_item(cmp_select),
['<C-n>'] = cmp.mapping.select_next_item(cmp_select),
['<C-y>'] = cmp.mapping.confirm({ select = true }),
['<C-Space>'] = 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 <YOUR_LSP_SERVER> with each lsp server you've enabled.
--require('lspconfig')['<YOUR_LSP_SERVER>'].setup {
-- capabilities = capabilities
--}

View File

@ -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()

View File

@ -1 +0,0 @@
vim.keymap.set("n", "<leader>gs", vim.cmd.Git, { desc = "Show git summary" } )

View File

@ -1,14 +0,0 @@
local mark = require("harpoon.mark")
local ui = require("harpoon.ui")
vim.keymap.set("n", "<leader>a", mark.add_file)
vim.keymap.set("n", "<C-e>", ui.toggle_quick_menu)
vim.keymap.set("n", "<C-h>", function() ui.nav_file(1) end)
vim.keymap.set("n", "<C-j>", function() ui.nav_file(2) end)
vim.keymap.set("n", "<C-k>", function() ui.nav_file(3) end)
vim.keymap.set("n", "<C-l>", function() ui.nav_file(4) end)

View File

@ -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")

View File

@ -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
},
})

View File

@ -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', '<leader>pf', builtin.find_files, { desc = 'Telescope find files' })
vim.keymap.set('n', '<C-p>', builtin.git_files, { desc = 'Telescope find files (git)' })
vim.keymap.set('n', '<leader>ps', builtin.live_grep, { desc = 'Telescope live grep' })

View File

@ -1 +0,0 @@
require("nvim-treesitter").setup()

View File

@ -1 +0,0 @@
vim.keymap.set("n", "<leader>u", vim.cmd.UndotreeToggle, { desc = "Toggle undo tree" })

View File

@ -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({
['<C-p>'] = cmp.mapping.select_prev_item(cmp_select),
['<C-n>'] = cmp.mapping.select_next_item(cmp_select),
['<C-y>'] = cmp.mapping.confirm({ select = true }),
['<C-Space>'] = 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 <YOUR_LSP_SERVER> with each lsp server you've enabled.
--require('lspconfig')['<YOUR_LSP_SERVER>'].setup {
-- capabilities = capabilities
--}
}
}

View File

@ -1,4 +1,7 @@
return {
-- Git utility
'tpope/vim-fugitive'
'tpope/vim-fugitive',
config = function() {
vim.keymap.set("n", "<leader>gs", vim.cmd.Git, { desc = "Show git summary" } )
}
}

View File

@ -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", "<leader>a", mark.add_file)
vim.keymap.set("n", "<C-e>", ui.toggle_quick_menu)
vim.keymap.set("n", "<C-h>", function() ui.nav_file(1) end)
vim.keymap.set("n", "<C-j>", function() ui.nav_file(2) end)
vim.keymap.set("n", "<C-k>", function() ui.nav_file(3) end)
vim.keymap.set("n", "<C-l>", function() ui.nav_file(4) end)
}
}

View File

@ -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")
}
}

View File

@ -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
},
})
}
}

View File

@ -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', '<leader>pf', builtin.find_files, { desc = 'Telescope find files' })
vim.keymap.set('n', '<C-p>', builtin.git_files, { desc = 'Telescope find files (git)' })
vim.keymap.set('n', '<leader>ps', builtin.live_grep, { desc = 'Telescope live grep' })
}
}

View File

@ -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" })
}
}

View File

@ -1,4 +1,7 @@
return {
-- Undo.. tree
'mbbill/undotree'
'mbbill/undotree',
config = function() {
vim.keymap.set("n", "<leader>u", vim.cmd.UndotreeToggle, { desc = "Toggle undo tree" })
}
}