Files
neovim-config/lua/data/deps.lua
T
rootiest 273580f533 ♻️ refactor(full-scope)!: major revision refactoring
Code layout has been changed and improoved. Annotations are added for documentation. Automated through utility functions and data tables

BREAKING CHANGE: Tested from clean. Now properly uses LuaRocks to install dependencies.
2024-09-04 16:07:12 -04:00

152 lines
3.7 KiB
Lua

---@module "data.deps"
--- This module aggregates various dependencies used throughout the configuration.
--- It provides a centralized way to access dependencies.
-- ╭─────────────────────────────────────────────────────────╮
-- │ DEPENDENCIES │
-- ╰─────────────────────────────────────────────────────────╯
local M = {}
--- nvim-cmp dependencies
---@return table The nvim-cmp dependencies
M.cmp = {
{
"L3MON4D3/LuaSnip",
--- Function to build the dependencies
---@return string|nil The command to build the dependencies
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 = {},
--- Function to configure the cmp-git dependency
---@return table|nil The cmp-git config
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",
"dmitmel/cmp-cmdline-history",
"teramako/cmp-cmdline-prompt.nvim",
"mtoohey31/cmp-fish",
"vim-dadbod-completion",
{
"chrisgrieser/cmp_yanky",
option = {
onlyCurrentFiletype = false,
},
},
"SergioRibera/cmp-dotenv",
"hrsh7th/cmp-calc",
"davidsierradz/cmp-conventionalcommits",
"Dynge/gitmoji.nvim",
}
--- Gx plugin dependencies
M.gx = {
"nvim-lua/plenary.nvim",
}
--- Hardtime plugin dependencies
M.hardtime = {
"MunifTanjim/nui.nvim",
"nvim-lua/plenary.nvim",
}
--- LazyGit plugin dependencies
M.lazygit = {
"nvim-telescope/telescope.nvim",
"nvim-lua/plenary.nvim",
}
--- Lualine plugin dependencies
M.lualine = {
{ "bezhermoso/todos-lualine.nvim" },
{ "folke/todo-comments.nvim" },
}
--- Minuet plugin dependencies
M.minuet = {
{ "nvim-lua/plenary.nvim" },
{ "hrsh7th/nvim-cmp" },
}
--- MusicControls plugin dependencies
M.musiccontrols = {
"rcarriga/nvim-notify",
}
--- Table for plugins that need Telescope as a dependency
M.needs_telescope = {
"nvim-telescope/telescope.nvim",
}
--- Table for plugins that need Treesitter as a dependency
M.needs_treesitter = {
"nvim-treesitter/nvim-treesitter",
}
--- Neotest plugin adapters and dependencies
M.neotest = {
adapters = {
"neotest-plenary",
"neotest-python",
"neotest-vim-test",
"neotest-minitest",
"neotest-bash",
},
deps = {
"nvim-neotest/nvim-nio",
"nvim-lua/plenary.nvim",
"zidhuss/neotest-minitest",
"rcasia/neotest-bash",
"antoinemadec/FixCursorHold.nvim",
"nvim-treesitter/nvim-treesitter",
},
}
--- Recorder plugin dependencies
M.recorder = {
"rcarriga/nvim-notify",
}
--- nvim-remote plugin dependencies
M.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
}
--- Zenbones plugin dependencies
M.zenbones = {
"rktjmp/lush.nvim",
}
return M