feat: config refresh

The goal of this commit was to break my config into smaller, logical
chunks. I was having a hard time remembering which file contained which
plugin config.

I also took the time to clean out some plugins I added but never used,
and add an old favourite (tpope/vim-surround).
This commit is contained in:
Devin Haska 2024-09-15 20:06:33 -07:00
parent d64a512297
commit a68ad5ac1d
No known key found for this signature in database
9 changed files with 238 additions and 288 deletions

78
lua/plugins/cmp.lua Normal file
View file

@ -0,0 +1,78 @@
return {
{
"hrsh7th/nvim-cmp",
dependencies = {
"hrsh7th/cmp-nvim-lsp",
"hrsh7th/cmp-buffer",
},
config = function()
local cmp = require("cmp")
cmp.setup({
-- Highlights the first result always
completion = {
completeopt = "menu,menuone,noinsert",
},
window = {
completion = cmp.config.window.bordered({
side_padding = 1,
scrollbar = false,
}),
},
mapping = cmp.mapping.preset.insert({
["<C-b>"] = cmp.mapping.scroll_docs(-4),
["<C-f>"] = cmp.mapping.scroll_docs(4),
["<C-o>"] = cmp.mapping.complete(),
["<C-e>"] = cmp.mapping.abort(),
["<Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
else
fallback()
end
end, { "i" }),
["<S-Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_prev_item()
else
fallback()
end
end, { "i" }),
["<CR>"] = cmp.mapping.confirm({ select = true }),
}),
snippet = {
expand = function(args)
require("luasnip").lsp_expand(args.body)
end,
},
sources = cmp.config.sources({
{ name = "nvim_lsp" },
{ name = "nvim_lsp_signature_help" },
{ name = "luasnip" },
}, {
{ name = "buffer" },
}),
})
end,
},
{
"L3MON4D3/LuaSnip",
dependencies = {
{
"rafamadriz/friendly-snippets",
config = function()
require("luasnip.loaders.from_vscode").lazy_load({
exclude = { "html" },
})
end,
},
},
build = "make install_jsregexp",
opts = {
history = true,
delete_check_events = "TextChanged",
},
},
}

View file

@ -1,80 +1,6 @@
return {
{ "saadparwaiz1/cmp_luasnip" },
{
"hrsh7th/nvim-cmp",
dependencies = {
"hrsh7th/cmp-nvim-lsp",
"hrsh7th/cmp-buffer",
},
config = function()
local cmp = require("cmp")
cmp.setup({
-- Highlights the first result always
completion = {
completeopt = "menu,menuone,noinsert",
},
window = {
completion = cmp.config.window.bordered({
side_padding = 1,
scrollbar = false,
}),
},
mapping = cmp.mapping.preset.insert({
["<C-b>"] = cmp.mapping.scroll_docs(-4),
["<C-f>"] = cmp.mapping.scroll_docs(4),
["<C-o>"] = cmp.mapping.complete(),
["<C-e>"] = cmp.mapping.abort(),
["<Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
else
fallback()
end
end, { "i" }),
["<S-Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_prev_item()
else
fallback()
end
end, { "i" }),
["<CR>"] = cmp.mapping.confirm({ select = true }),
}),
snippet = {
expand = function(args)
require("luasnip").lsp_expand(args.body)
end,
},
sources = cmp.config.sources({
{ name = "nvim_lsp" },
{ name = "nvim_lsp_signature_help" },
{ name = "luasnip" },
}, {
{ name = "buffer" },
}),
})
end,
},
{
"L3MON4D3/LuaSnip",
dependencies = {
{
"rafamadriz/friendly-snippets",
config = function()
require("luasnip.loaders.from_vscode").lazy_load({
exclude = { "html" },
})
end,
},
},
build = "make install_jsregexp",
opts = {
history = true,
delete_check_events = "TextChanged",
},
"tpope/vim-surround",
},
{
"echasnovski/mini.pairs",
@ -85,21 +11,6 @@ return {
},
},
},
{
"echasnovski/mini.surround",
version = false,
opts = {
mappings = {
add = "gsa", -- Add surrounding in Normal and Visual modes
delete = "gsd", -- Delete surrounding
find = "gsf", -- Find surrounding (to the right)
find_left = "gsF", -- Find surrounding (to the left)
highlight = "gsh", -- Highlight surrounding
replace = "gsr", -- Replace surrounding
update_n_lines = "gsn", -- Update `n_lines`
},
},
},
{
"folke/ts-comments.nvim",
event = "VeryLazy",
@ -109,4 +20,9 @@ return {
},
},
},
{
"folke/todo-comments.nvim",
dependencies = { "nvim-lua/plenary.nvim" },
opts = {},
},
}

View file

@ -1,37 +1,4 @@
return {
{
"nvim-neo-tree/neo-tree.nvim",
event = "VeryLazy",
branch = "v3.x",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-tree/nvim-web-devicons",
"MunifTanjim/nui.nvim",
},
keys = {
{ "<Leader>ee", "<cmd>Neotree toggle<CR>", desc = "Toggle Neotree" },
{ "<Leader>er", "<cmd>Neotree reveal<CR>", desc = "Reveal file" },
},
opts = {
open_files_do_not_replace_types = { "terminal", "trouble", "qf" },
filesystem = {
filtered_items = {
show_hidden_count = false,
hide_dotfiles = false,
hide_gitignored = true,
always_show = {
".env",
".env.local",
},
never_show = {
".git",
"thumbs.db",
".DS_Store",
},
},
},
},
},
{
"folke/which-key.nvim",
event = "VeryLazy",
@ -41,94 +8,6 @@ return {
end,
opts = {},
},
{
"folke/trouble.nvim",
dependencies = { "nvim-tree/nvim-web-devicons" },
opts = {},
cmd = "Trouble",
keys = {
{
"<Leader>tt",
"<cmd>Trouble diagnostics toggle<CR>",
desc = "Toggle Trouble",
},
},
},
{
"folke/todo-comments.nvim",
dependencies = { "nvim-lua/plenary.nvim" },
opts = {},
},
{
"nvim-pack/nvim-spectre",
dependencies = { "nvim-lua/plenary.nvim" },
opts = { open_cmd = "noswapfile vnew" },
keys = {
{
"<leader>sr",
function()
require("spectre").open()
end,
desc = "Replace in Files (Spectre)",
},
},
},
{
"nvim-telescope/telescope.nvim",
tag = "0.1.6",
dependencies = { "nvim-lua/plenary.nvim" },
keys = {
{
"<Leader>ff",
"<cmd>lua require'telescope.builtin'.git_files{}<CR>",
desc = "Search git_files",
},
{
"<Leader>fg",
"<cmd>lua require'telescope.builtin'.live_grep{}<CR>",
desc = "Grep git_files",
},
{
"<Leader>fh",
"<cmd>lua require'telescope.builtin'.help_tags{}<CR>",
desc = "View help tags",
},
{
"<Leader>fb",
"<cmd>lua require'telescope.builtin'.buffers{}<CR>",
desc = "Search buffers",
},
{
"<Leader>sk",
"<cmd>lua require'telescope.builtin'.keymaps{}<CR>",
desc = "View keymaps",
},
{
"<Leader>sR",
"<cmd>lua require'telescope.builtin'.resume{}<CR>",
desc = "Resume",
},
{
"<Leader>st",
"<cmd>TodoTelescope<CR>",
desc = "Search TODOs",
},
},
},
{
"nvim-telescope/telescope-ui-select.nvim",
config = function()
require("telescope").setup({
extensions = {
["ui-select"] = {
require("telescope.themes").get_dropdown({}),
},
},
})
require("telescope").load_extension("ui-select")
end,
},
{
"folke/flash.nvim",
event = "VeryLazy",
@ -142,66 +21,6 @@ return {
{ "<c-s>", mode = { "c" }, function() require("flash").toggle() end, desc = "Toggle Flash Search" },
},
},
{
"kdheepak/lazygit.nvim",
event = "VeryLazy",
cmd = {
"LazyGit",
"LazyGitConfig",
"LazyGitCurrentFile",
"LazyGitFilter",
"LazyGitFilterCurrentFile",
},
-- optional for floating window border decoration
dependencies = {
"nvim-lua/plenary.nvim",
},
keys = {
{ "<leader>gg", "<cmd>LazyGit<cr>", desc = "LazyGit" },
},
},
{
"lewis6991/gitsigns.nvim",
event = "VeryLazy",
opts = {
signs = {
add = { text = "" },
change = { text = "" },
delete = { text = "" },
topdelete = { text = "" },
changedelete = { text = "" },
untracked = { text = "" },
},
signs_staged = {
add = { text = "" },
change = { text = "" },
delete = { text = "" },
topdelete = { text = "" },
changedelete = { text = "" },
},
},
keys = {
{ "<leader>ghb", ":Gitsigns blame_line<CR>", desc = "Blame line" },
{ "<leader>ghs", ":Gitsigns stage_hunk<CR>", desc = "Stage hunk", mode = { "n", "v" } },
{ "<leader>ghr", ":Gitsigns reset_hunk<CR>", desc = "Reset hunk", mode = { "n", "v" } },
},
},
{
"m-demare/attempt.nvim",
opts = {
ext_options = { "js", "lua" },
},
keys = function()
local attempt = require("attempt")
return {
{ "<Leader>an", attempt.new_select, desc = "New attempt" },
{ "<Leader>ar", attempt.run, desc = "Run attempt" },
{ "<Leader>ad", attempt.delete_buf, desc = "Delete attempt buffer" },
{ "<Leader>al", "<cmd>Telescope attempt<CR>", desc = "Search attempts" },
}
end,
},
{
"MeanderingProgrammer/markdown.nvim",
main = "render-markdown",

46
lua/plugins/git.lua Normal file
View file

@ -0,0 +1,46 @@
return {
{
"kdheepak/lazygit.nvim",
event = "VeryLazy",
cmd = {
"LazyGit",
"LazyGitConfig",
"LazyGitCurrentFile",
"LazyGitFilter",
"LazyGitFilterCurrentFile",
},
-- optional for floating window border decoration
dependencies = {
"nvim-lua/plenary.nvim",
},
keys = {
{ "<leader>gg", "<cmd>LazyGit<cr>", desc = "LazyGit" },
},
},
{
"lewis6991/gitsigns.nvim",
event = "VeryLazy",
opts = {
signs = {
add = { text = "" },
change = { text = "" },
delete = { text = "" },
topdelete = { text = "" },
changedelete = { text = "" },
untracked = { text = "" },
},
signs_staged = {
add = { text = "" },
change = { text = "" },
delete = { text = "" },
topdelete = { text = "" },
changedelete = { text = "" },
},
},
keys = {
{ "<leader>ghb", ":Gitsigns blame_line<CR>", desc = "Blame line" },
{ "<leader>ghs", ":Gitsigns stage_hunk<CR>", desc = "Stage hunk", mode = { "n", "v" } },
{ "<leader>ghr", ":Gitsigns reset_hunk<CR>", desc = "Reset hunk", mode = { "n", "v" } },
},
},
}

35
lua/plugins/neotree.lua Normal file
View file

@ -0,0 +1,35 @@
return {
{
"nvim-neo-tree/neo-tree.nvim",
event = "VeryLazy",
branch = "v3.x",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-tree/nvim-web-devicons",
"MunifTanjim/nui.nvim",
},
keys = {
{ "<Leader>ee", "<cmd>Neotree toggle<CR>", desc = "Toggle Neotree" },
{ "<Leader>er", "<cmd>Neotree reveal<CR>", desc = "Reveal file" },
},
opts = {
open_files_do_not_replace_types = { "terminal", "trouble", "qf" },
filesystem = {
filtered_items = {
show_hidden_count = false,
hide_dotfiles = false,
hide_gitignored = true,
always_show = {
".env",
".env.local",
},
never_show = {
".git",
"thumbs.db",
".DS_Store",
},
},
},
},
},
}

58
lua/plugins/telescope.lua Normal file
View file

@ -0,0 +1,58 @@
return {
{
"nvim-telescope/telescope.nvim",
tag = "0.1.6",
dependencies = { "nvim-lua/plenary.nvim" },
keys = {
{
"<Leader>ff",
"<cmd>lua require'telescope.builtin'.git_files{}<CR>",
desc = "Search git_files",
},
{
"<Leader>fg",
"<cmd>lua require'telescope.builtin'.live_grep{}<CR>",
desc = "Grep git_files",
},
{
"<Leader>fh",
"<cmd>lua require'telescope.builtin'.help_tags{}<CR>",
desc = "View help tags",
},
{
"<Leader>fb",
"<cmd>lua require'telescope.builtin'.buffers{}<CR>",
desc = "Search buffers",
},
{
"<Leader>sk",
"<cmd>lua require'telescope.builtin'.keymaps{}<CR>",
desc = "View keymaps",
},
{
"<Leader>sR",
"<cmd>lua require'telescope.builtin'.resume{}<CR>",
desc = "Resume",
},
{
"<Leader>st",
"<cmd>TodoTelescope<CR>",
desc = "Search TODOs",
},
},
},
{
"nvim-telescope/telescope-ui-select.nvim",
config = function()
require("telescope").setup({
extensions = {
["ui-select"] = {
require("telescope.themes").get_dropdown({}),
},
},
})
require("telescope").load_extension("ui-select")
end,
},
}

View file

@ -27,12 +27,6 @@ return {
require("nvim-treesitter.configs").setup(opts)
end,
},
-- {
-- "nvim-treesitter/nvim-treesitter-context",
-- opts = {
-- max_lines = 2,
-- },
-- },
{
"windwp/nvim-ts-autotag",
event = "VeryLazy",

15
lua/plugins/trouble.lua Normal file
View file

@ -0,0 +1,15 @@
return {
{
"folke/trouble.nvim",
dependencies = { "nvim-tree/nvim-web-devicons" },
opts = {},
cmd = "Trouble",
keys = {
{
"<Leader>tt",
"<cmd>Trouble diagnostics toggle<CR>",
desc = "Toggle Trouble",
},
},
},
}

View file

@ -141,15 +141,4 @@ return {
alpha.setup(dashboard.opts)
end,
},
{
"akinsho/toggleterm.nvim",
opts = {},
keys = {
{
"<leader>T",
"<cmd>ToggleTerm direction=float<CR>",
desc = "Open floating terminal",
},
},
},
}