refactor: consolidate plugin dependencies into a central data source

This commit is contained in:
2024-08-31 03:01:13 -04:00
parent ce3f339757
commit 0fcb172fcc
10 changed files with 79 additions and 209 deletions
+1 -1
View File
@@ -29,7 +29,7 @@ return {
}, },
{ -- Minuet-AI { -- Minuet-AI
"milanglacier/minuet-ai.nvim", "milanglacier/minuet-ai.nvim",
dependencies = { { "nvim-lua/plenary.nvim" }, { "hrsh7th/nvim-cmp" } }, dependencies = data.deps.minuet,
config = function() config = function()
require("minuet").setup({ provider = "openai" }) require("minuet").setup({ provider = "openai" })
end, end,
+1 -51
View File
@@ -9,57 +9,7 @@ return {
-- HACK: Experiemental cmp performance fork -- HACK: Experiemental cmp performance fork
dev = true, dev = true,
event = "VeryLazy", event = "VeryLazy",
dependencies = { dependencies = data.deps.cmp,
{
"L3MON4D3/LuaSnip",
build = (function()
if vim.fn.has("win32") == 1 or vim.fn.executable("make") == 0 then
return
end
return "make install_jsregexp"
end)(),
dependencies = {
{
"rafamadriz/friendly-snippets",
config = function()
require("luasnip.loaders.from_vscode").lazy_load()
end,
},
},
},
{
"petertriho/cmp-git",
opts = {},
config = function()
local cmp = require("cmp")
cmp.setup.filetype("gitcommit", {
sources = cmp.config.sources({
{ name = "git", priority = 50 },
{ name = "path", priority = 40 },
}, {
{ name = "buffer", priority = 50 },
}),
})
end,
},
"saadparwaiz1/cmp_luasnip",
"hrsh7th/cmp-nvim-lsp",
"hrsh7th/cmp-path",
"hrsh7th/cmp-buffer",
"onsails/lspkind.nvim",
"hrsh7th/cmp-emoji",
"hrsh7th/cmp-cmdline",
{
"chrisgrieser/cmp_yanky",
option = {
onlyCurrentFiletype = false,
},
},
"SergioRibera/cmp-dotenv",
"hrsh7th/cmp-calc",
"davidsierradz/cmp-conventionalcommits",
"Dynge/gitmoji.nvim",
},
-- : -- :
config = function() config = function()
local cmp = require("cmp") local cmp = require("cmp")
+4 -8
View File
@@ -26,6 +26,9 @@ return {
{ -- VSCode { -- VSCode
import = "lazyvim.plugins.extras.vscode", import = "lazyvim.plugins.extras.vscode",
}, },
{ -- Neogen
import = "lazyvim.plugins.extras.coding.neogen",
},
{ -- G-code { -- G-code
"wilriker/gcode.vim", "wilriker/gcode.vim",
}, },
@@ -42,17 +45,10 @@ return {
ft = data.types.alternate, ft = data.types.alternate,
keys = data.keys.alternate, keys = data.keys.alternate,
}, },
{ -- Highlight colors
"brenoprata10/nvim-highlight-colors",
event = "BufReadPre",
config = function()
require("nvim-highlight-colors").setup({})
end,
},
{ -- Tailwind { -- Tailwind
"luckasRanarison/tailwind-tools.nvim", "luckasRanarison/tailwind-tools.nvim",
lazy = true, lazy = true,
dependencies = { "nvim-treesitter/nvim-treesitter" }, dependencies = data.deps.needs_treesitter,
opts = {}, opts = {},
}, },
{ -- Substitute { -- Substitute
+4 -15
View File
@@ -1,6 +1,8 @@
-- ╭─────────────────────────────────────────────────────────╮ -- ╭─────────────────────────────────────────────────────────╮
-- │ Debug │ -- │ Debug │
-- ╰─────────────────────────────────────────────────────────╯ -- ╰─────────────────────────────────────────────────────────╯
local data = require("data")
return { return {
{ -- DAP Core { -- DAP Core
import = "lazyvim.plugins.extras.dap.core", import = "lazyvim.plugins.extras.dap.core",
@@ -15,22 +17,9 @@ return {
{ {
"nvim-neotest/neotest", "nvim-neotest/neotest",
opts = { opts = {
adapters = { adapters = data.deps.neotest.adapters,
"neotest-plenary",
"neotest-python",
"neotest-vim-test",
"neotest-minitest",
"neotest-bash",
},
},
dependencies = {
"nvim-neotest/nvim-nio",
"nvim-lua/plenary.nvim",
"zidhuss/neotest-minitest",
"rcasia/neotest-bash",
"antoinemadec/FixCursorHold.nvim",
"nvim-treesitter/nvim-treesitter",
}, },
dependencies = data.deps.neotest.deps,
}, },
{ -- Profiling { -- Profiling
"stevearc/profile.nvim", "stevearc/profile.nvim",
+5 -7
View File
@@ -27,7 +27,7 @@ return {
}, },
{ {
"folke/trouble.nvim", "folke/trouble.nvim",
cmd = { "Trouble" }, cmd = data.cmd.trouble,
opts = { opts = {
modes = { modes = {
symbols = { -- Configure symbols mode symbols = { -- Configure symbols mode
@@ -59,7 +59,6 @@ return {
---@module "neominimap.config.meta" ---@module "neominimap.config.meta"
{ -- NeoMiniMap { -- NeoMiniMap
"Isrothy/neominimap.nvim", "Isrothy/neominimap.nvim",
version = "*",
lazy = false, lazy = false,
keys = data.keys.minimap, keys = data.keys.minimap,
init = data.types.minimap.init(), init = data.types.minimap.init(),
@@ -90,10 +89,9 @@ return {
"gen740/SmoothCursor.nvim", "gen740/SmoothCursor.nvim",
event = "BufEnter", event = "BufEnter",
-- lazy = true, -- lazy = true,
config = function() opts = {
---@diagnostic disable-next-line: missing-fields cursor = "",
require("smoothcursor").setup({}) },
end,
}, },
{ -- Smart Scrolloff { -- Smart Scrolloff
"tonymajestro/smart-scrolloff.nvim", "tonymajestro/smart-scrolloff.nvim",
@@ -105,7 +103,7 @@ return {
{ -- Recorder { -- Recorder
"chrisgrieser/nvim-recorder", "chrisgrieser/nvim-recorder",
event = "VeryLazy", event = "VeryLazy",
dependencies = "rcarriga/nvim-notify", dependencies = data.deps.recorder,
opts = {}, opts = {},
}, },
{ -- Comment Box { -- Comment Box
+4 -7
View File
@@ -27,10 +27,7 @@ return {
lazy = true, lazy = true,
cmd = data.cmd.lazygit, cmd = data.cmd.lazygit,
keys = data.keys.lazygit, keys = data.keys.lazygit,
dependencies = { dependencies = data.deps.lazygit,
"nvim-telescope/telescope.nvim",
"nvim-lua/plenary.nvim",
},
config = function() config = function()
require("telescope").load_extension("lazygit") require("telescope").load_extension("lazygit")
end, end,
@@ -57,7 +54,7 @@ return {
-- Get the current lualine configuration -- Get the current lualine configuration
local config = require("lualine").get_config() local config = require("lualine").get_config()
local git_blame = require("gitblame") local git_blame = require("gitblame")
local utils = require("utils.rootiest") local funcs = data.func
-- Define the width limit for displaying the Git blame component -- Define the width limit for displaying the Git blame component
local width_limit = 245 -- Adjust this value as needed local width_limit = 245 -- Adjust this value as needed
-- Add Git-blame to lualine_c section -- Add Git-blame to lualine_c section
@@ -65,9 +62,9 @@ return {
git_blame.get_current_blame_text, git_blame.get_current_blame_text,
cond = function() -- Only show if text is available cond = function() -- Only show if text is available
return git_blame.is_blame_text_available() return git_blame.is_blame_text_available()
and utils.is_window_wide_enough(width_limit) and funcs.is_window_wide_enough(width_limit)
end, end,
color = { fg = utils.get_fg_color("GitSignsCurrentLineBlame") }, color = { fg = funcs.get_fg_color("GitSignsCurrentLineBlame") },
padding = { left = 1, right = 0 }, padding = { left = 1, right = 0 },
on_click = function() on_click = function()
vim.cmd("LazyGit") vim.cmd("LazyGit")
+15 -17
View File
@@ -3,14 +3,12 @@
-- ╰─────────────────────────────────────────────────────────╯ -- ╰─────────────────────────────────────────────────────────╯
local utils = require("utils") local utils = require("utils")
local rootils = utils.rootiest local data = require("data")
local funcs = data.func
return { return {
"nvim-lualine/lualine.nvim", "nvim-lualine/lualine.nvim",
dependencies = { dependencies = data.deps.lualine,
{ "bezhermoso/todos-lualine.nvim" },
{ "folke/todo-comments.nvim" },
},
init = function() init = function()
vim.g.lualine_laststatus = vim.o.laststatus vim.g.lualine_laststatus = vim.o.laststatus
if vim.fn.argc(-1) > 0 then if vim.fn.argc(-1) > 0 then
@@ -29,7 +27,7 @@ return {
-- Define todo-comments component -- Define todo-comments component
local todos_component = local todos_component =
require("todos-lualine").component(require("data").types.todo.lualine()) require("todos-lualine").component(data.types.todo.lualine())
local opts = { local opts = {
options = { -- General options options = { -- General options
@@ -45,7 +43,7 @@ return {
lualine_a = { lualine_a = {
{ -- Mode { -- Mode
"mode", "mode",
icon = require("data").types.logo.icon, icon = data.types.logo.icon,
padding = { left = 1, right = 0 }, padding = { left = 1, right = 0 },
}, },
}, },
@@ -58,7 +56,7 @@ return {
{ -- Todo { -- Todo
todos_component, todos_component,
cond = function() cond = function()
return rootils.is_window_wide_enough(100) return funcs.is_window_wide_enough(100)
end, end,
padding = { left = 1, right = 0 }, padding = { left = 1, right = 0 },
on_click = function() on_click = function()
@@ -70,7 +68,7 @@ return {
return require("arrow.statusline").text_for_statusline_with_icons() return require("arrow.statusline").text_for_statusline_with_icons()
end, end,
cond = function() cond = function()
return rootils.is_window_wide_enough(100) return funcs.is_window_wide_enough(100)
end, end,
padding = { left = 1, right = 0 }, padding = { left = 1, right = 0 },
on_click = function() on_click = function()
@@ -145,7 +143,7 @@ return {
end end
end, end,
cond = function() cond = function()
return rootils.is_window_wide_enough(200) return funcs.is_window_wide_enough(200)
end, end,
padding = { left = 0, right = 0 }, padding = { left = 0, right = 0 },
on_click = function() on_click = function()
@@ -161,7 +159,7 @@ return {
return utils.wakatime_stats.get_color() return utils.wakatime_stats.get_color()
end, end,
cond = function() cond = function()
return rootils.is_window_wide_enough(100) return funcs.is_window_wide_enough(100)
end, end,
padding = { left = 0, right = 1 }, padding = { left = 0, right = 1 },
}, },
@@ -170,7 +168,7 @@ return {
return utils.music_stats.get_icon_with_text() return utils.music_stats.get_icon_with_text()
end, end,
cond = function() cond = function()
return rootils.is_window_wide_enough(100) return funcs.is_window_wide_enough(100)
end, end,
padding = { left = 0, right = 1 }, padding = { left = 0, right = 1 },
}, },
@@ -182,7 +180,7 @@ return {
end, end,
icon = "", icon = "",
cond = function() cond = function()
return rootils.is_window_wide_enough(80) return funcs.is_window_wide_enough(80)
end, end,
padding = { left = 0, right = 1 }, padding = { left = 0, right = 1 },
on_click = function() on_click = function()
@@ -194,7 +192,7 @@ return {
separator = "", separator = "",
padding = { left = 0, right = 1 }, padding = { left = 0, right = 1 },
cond = function() cond = function()
return rootils.is_window_wide_enough(60) return funcs.is_window_wide_enough(60)
end, end,
icon = "", icon = "",
on_click = function() on_click = function()
@@ -205,7 +203,7 @@ return {
"location", "location",
padding = { left = 0, right = 1 }, padding = { left = 0, right = 1 },
cond = function() cond = function()
return rootils.is_window_wide_enough(40) return funcs.is_window_wide_enough(40)
end, end,
on_click = function() on_click = function()
vim.cmd("Telescope grep_string") vim.cmd("Telescope grep_string")
@@ -214,14 +212,14 @@ return {
{ -- Selection { -- Selection
"selection_count", "selection_count",
cond = function() cond = function()
return rootils.is_window_wide_enough(120) return funcs.is_window_wide_enough(120)
end, end,
padding = { left = 0, right = 1 }, padding = { left = 0, right = 1 },
}, },
{ -- Filesize { -- Filesize
"filesize", "filesize",
cond = function() cond = function()
return rootils.is_window_wide_enough(100) return funcs.is_window_wide_enough(100)
end, end,
padding = { left = 0, right = 1 }, padding = { left = 0, right = 1 },
icon = "", icon = "",
+8 -8
View File
@@ -1,14 +1,14 @@
-- ╭─────────────────────────────────────────────────────────╮ -- ╭─────────────────────────────────────────────────────────╮
-- │ Terminals │ -- │ Terminals │
-- ╰─────────────────────────────────────────────────────────╯ -- ╰─────────────────────────────────────────────────────────╯
package.path = package.path -- package.path = package.path
.. ";" -- .. ";"
.. vim.fn.expand("$HOME") -- .. vim.fn.expand("$HOME")
.. "/.luarocks/share/lua/5.1/?/init.lua" -- .. "/.luarocks/share/lua/5.1/?/init.lua"
package.path = package.path -- package.path = package.path
.. ";" -- .. ";"
.. vim.fn.expand("$HOME") -- .. vim.fn.expand("$HOME")
.. "/.luarocks/share/lua/5.1/?.lua" -- .. "/.luarocks/share/lua/5.1/?.lua"
local data = require("data") local data = require("data")
+8 -62
View File
@@ -17,52 +17,7 @@ return {
lazy = false, -- Override lazy = false, -- Override
priority = 1000, priority = 1000,
name = "catppuccin", name = "catppuccin",
background = { -- :h background opts = data.types.catppuccin,
light = "latte",
dark = "frappe",
},
integrations = {
native_lsp = {
enabled = true,
virtual_text = {
errors = { "italic" },
hints = { "italic" },
warnings = { "italic" },
information = { "italic" },
ok = { "italic" },
},
underlines = {
errors = { "underline" },
hints = { "underline" },
warnings = { "underline" },
information = { "underline" },
ok = { "underline" },
},
inlay_hints = {
background = true,
},
},
dadbod_ui = true,
indent_blankline = {
enabled = true,
scope_color = "mauve",
colored_indent_levels = true,
},
grug_far = true,
mason = true,
mini = {
enabled = true,
indentscope_color = "mauve",
},
neotree = true,
noice = true,
notify = true,
nvim_surround = true,
octo = true,
overseer = true,
rainbow_delimiters = true,
which_key = true,
},
}, },
{ -- Ayu { -- Ayu
"Shatur/neovim-ayu", "Shatur/neovim-ayu",
@@ -143,7 +98,7 @@ return {
"zenbones-theme/zenbones.nvim", "zenbones-theme/zenbones.nvim",
name = "zenbones", name = "zenbones",
lazy = true, lazy = true,
dependencies = { "rktjmp/lush.nvim" }, dependencies = data.deps.zenbones,
}, },
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ UTILITIES ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ -- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ UTILITIES ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{ -- Transparent { -- Transparent
@@ -155,21 +110,12 @@ return {
{ -- Auto Dark Mode { -- Auto Dark Mode
"f-person/auto-dark-mode.nvim", "f-person/auto-dark-mode.nvim",
lazy = true, lazy = true,
opts = { opts = data.types.auto_dark_mode,
update_interval = 2000,
set_dark_mode = function()
vim.o.background = "dark"
vim.cmd.colorscheme(
require("astral").colortheme or "catppuccin-mocha" or "tokyonight"
)
end,
set_light_mode = function()
vim.o.background = "light"
vim.cmd.colorscheme(
require("astral").colortheme or "catppuccin-latte" or "tokyonight-day"
)
end,
},
cond = not data.func.is_ssh(), cond = not data.func.is_ssh(),
}, },
{ -- Highlight colors
"brenoprata10/nvim-highlight-colors",
event = "BufReadPre",
opts = data.types.hightlight_colors,
},
} }
+29 -33
View File
@@ -1,6 +1,7 @@
-- ╭─────────────────────────────────────────────────────────╮ -- ╭─────────────────────────────────────────────────────────╮
-- │ Utilities │ -- │ Utilities │
-- ╰─────────────────────────────────────────────────────────╯ -- ╰─────────────────────────────────────────────────────────╯
local data = require("data")
return { return {
{ -- Chezmoi { -- Chezmoi
@@ -16,17 +17,17 @@ return {
{ -- Link following { -- Link following
"chrishrb/gx.nvim", "chrishrb/gx.nvim",
lazy = true, lazy = true,
cmd = require("data.cmd").gx, cmd = data.cmd.gx,
keys = require("data.keys").gx, keys = data.keys.gx,
init = function() init = function()
vim.g.netrw_nogx = 1 vim.g.netrw_nogx = 1
end, end,
dependencies = { "nvim-lua/plenary.nvim" }, dependencies = data.deps.gx,
config = true, config = true,
}, },
{ -- Auto-save { -- Auto-save
"okuuva/auto-save.nvim", "okuuva/auto-save.nvim",
cmd = require("data.cmd").autosave, cmd = data.cmd.autosave,
event = { "InsertLeave", "TextChanged" }, event = { "InsertLeave", "TextChanged" },
opts = { opts = {
execution_message = { execution_message = {
@@ -37,8 +38,8 @@ return {
{ -- Ripgrep substitute { -- Ripgrep substitute
"chrisgrieser/nvim-rip-substitute", "chrisgrieser/nvim-rip-substitute",
event = "InsertEnter", event = "InsertEnter",
cmd = require("data.cmd").ripsub, cmd = data.cmd.ripsub,
keys = require("data.keys").ripsub, keys = data.keys.ripsub,
}, },
{ -- Unception { -- Unception
"samjwill/nvim-unception", "samjwill/nvim-unception",
@@ -49,10 +50,8 @@ return {
{ -- 🍎 Icon Picker { -- 🍎 Icon Picker
"ziontee113/icon-picker.nvim", "ziontee113/icon-picker.nvim",
lazy = true, lazy = true,
config = function() opts = { disable_legacy_commands = true },
require("icon-picker").setup({ disable_legacy_commands = true }) keys = data.keys.iconpicker,
end,
keys = require("data.keys").iconpicker,
}, },
{ -- Codesnap { -- Codesnap
"mistricky/codesnap.nvim", "mistricky/codesnap.nvim",
@@ -67,19 +66,17 @@ return {
code_font_family = "Iosevka NF", code_font_family = "Iosevka NF",
code_font_size = 12, code_font_size = 12,
}, },
cmd = require("data.cmd").codesnap, cmd = data.cmd.codesnap,
keys = require("data.keys").codesnap, keys = data.keys.codesnap,
}, },
{ -- Kulala { -- Kulala
"mistweaverco/kulala.nvim", "mistweaverco/kulala.nvim",
event = "InsertEnter", ft = { "http", "https", "ftp", "ftps" },
config = function() opts = {},
require("kulala").setup()
end,
}, },
{ -- Hardtime { -- Hardtime
"m4xshen/hardtime.nvim", "m4xshen/hardtime.nvim",
dependencies = { "MunifTanjim/nui.nvim", "nvim-lua/plenary.nvim" }, dependencies = data.deps.hardtime,
opts = function() opts = function()
return { enabled = vim.g.usehardtime } return { enabled = vim.g.usehardtime }
end, end,
@@ -88,19 +85,19 @@ return {
"dmtrKovalenko/caps-word.nvim", "dmtrKovalenko/caps-word.nvim",
lazy = true, lazy = true,
opts = {}, opts = {},
keys = require("data.keys").capsword, keys = data.keys.capsword,
}, },
{ -- Music Controls { -- Music Controls
"AntonVanAssche/music-controls.nvim", "AntonVanAssche/music-controls.nvim",
dependencies = { "rcarriga/nvim-notify" }, dependencies = data.deps.musiccontrols,
opts = { opts = {
default_player = "YoutubeMusic", default_player = "YoutubeMusic",
}, },
}, },
{ -- Qalc { -- Qalc
"Apeiros-46B/qalc.nvim", "Apeiros-46B/qalc.nvim",
cmd = require("data.cmd").qalc, cmd = data.cmd.qalc,
keys = require("data.keys").qalc, keys = data.keys.qalc,
opts = { opts = {
set_ft = "qalc", set_ft = "qalc",
}, },
@@ -109,11 +106,7 @@ return {
"amitds1997/remote-nvim.nvim", "amitds1997/remote-nvim.nvim",
lazy = true, lazy = true,
version = "*", -- Pin to GitHub releases version = "*", -- Pin to GitHub releases
dependencies = { dependencies = data.deps.remotenvim,
"nvim-lua/plenary.nvim", -- For standard functions
"MunifTanjim/nui.nvim", -- To build the plugin UI
"nvim-telescope/telescope.nvim", -- For picking b/w different remote methods
},
config = true, config = true,
}, },
{ -- Encourage { -- Encourage
@@ -123,9 +116,7 @@ return {
{ -- Helpview { -- Helpview
"OXY2DEV/helpview.nvim", "OXY2DEV/helpview.nvim",
ft = "help", ft = "help",
dependencies = { dependencies = data.deps.needs_treesitter,
"nvim-treesitter/nvim-treesitter",
},
}, },
{ -- Docker-compose logs { -- Docker-compose logs
"adelowo/dockercomposelogs.nvim", "adelowo/dockercomposelogs.nvim",
@@ -133,12 +124,17 @@ return {
require("dockercomposelogs").setup({}) require("dockercomposelogs").setup({})
end, end,
event = "VeryLazy", event = "VeryLazy",
dependencies = { dependencies = data.deps.needs_telescope,
"nvim-telescope/telescope.nvim",
},
}, },
{ -- Suda { -- Suda
"lambdalisue/vim-suda", "lambdalisue/vim-suda",
cmd = require("data.cmd").suda, cmd = data.cmd.suda,
},
{ -- Spell checker
"matkrin/telescope-spell-errors.nvim",
config = function()
require("telescope").load_extension("spell_errors")
end,
dependencies = data.deps.needs_telescope,
}, },
} }