dotfiles/.config/nvim/lua/custom/plugins.lua
2023-10-09 14:32:15 +02:00

219 lines
4.8 KiB
Lua

local cmp = require "cmp"
local plugins = {
--[[ {
"mg979/vim-visual-multi",
event = "VeryLazy",
}, ]]
{
'numToStr/Comment.nvim',
opts = {
-- add any options here
},
lazy = false,
},
{
"simrat39/rust-tools.nvim",
ft = "rust",
dependencies = "neovim/nvim-lspconfig",
opts = function ()
return require "custom.configs.rust-tools"
end,
config = function(_, opts)
require('rust-tools').setup(opts)
end
},
{
'saecki/crates.nvim',
ft = {"toml"},
config = function(_, opts)
local crates = require('crates')
crates.setup(opts)
require('cmp').setup.buffer({
sources = { { name = "crates" }}
})
crates.show()
require("core.utils").load_mappings("crates")
end,
},
{
"rust-lang/rust.vim",
ft = "rust",
init = function ()
vim.g.rustfmt_autosave = 1
end
},
{
"theHamsta/nvim-dap-virtual-text",
lazy = false,
config = function(_, opts)
require("nvim-dap-virtual-text").setup()
end
},
{
"hrsh7th/nvim-cmp",
opts = function()
local M = require "plugins.configs.cmp"
M.completion.completeopt = "menu,menuone,noselect"
M.mapping["<CR>"] = cmp.mapping.confirm {
behavior = cmp.ConfirmBehavior.Insert,
select = false,
}
table.insert(M.sources, {name = "crates"})
return M
end,
},
{
"m4xshen/hardtime.nvim",
dependencies = { "MunifTanjim/nui.nvim", "nvim-lua/plenary.nvim" },
cmd = { "Hardtime" },
opts = {}
},
{
"folke/todo-comments.nvim",
event = "BufReadPost",
dependencies = { "nvim-lua/plenary.nvim" },
config = function()
require "custom.configs.todo"
end,
},
{
"RRethy/vim-illuminate",
event = { "CursorHold", "CursorHoldI" },
config = function()
require "custom.configs.illuminate"
end,
},
{
"hiphish/rainbow-delimiters.nvim",
event = "BufReadPost",
config = function()
local rainbow_delimiters = require "rainbow-delimiters"
vim.g.rainbow_delimiters = {
strategy = {
[""] = rainbow_delimiters.strategy["global"],
vim = rainbow_delimiters.strategy["local"],
},
query = {
[""] = "rainbow-delimiters",
lua = "rainbow-blocks",
},
highlight = {
"RainbowDelimiterRed",
"RainbowDelimiterYellow",
"RainbowDelimiterBlue",
"RainbowDelimiterOrange",
"RainbowDelimiterGreen",
"RainbowDelimiterViolet",
"RainbowDelimiterCyan",
},
}
end,
},
{
"rcarriga/nvim-dap-ui",
event = "VeryLazy",
dependencies = "mfussenegger/nvim-dap",
config = function()
local dap = require("dap")
local dapui = require("dapui")
dapui.setup()
dap.listeners.after.event_initialized["dapui_config"] = function()
dapui.open()
end
dap.listeners.before.event_terminated["dapui_config"] = function()
dapui.close()
end
dap.listeners.before.event_exited["dapui_config"] = function()
dapui.close()
end
end
},
{
"jay-babu/mason-nvim-dap.nvim",
event = "VeryLazy",
dependencies = {
"williamboman/mason.nvim",
"mfussenegger/nvim-dap",
},
opts = {
handlers = {}
},
},
{
"mfussenegger/nvim-dap",
config = function (_,opts)
require("core.utils").load_mappings("dap")
end
},
{
"mfussenegger/nvim-dap-python",
ft = "python",
dependencies = {
"mfussenegger/nvim-dap",
"rcarriga/nvim-dap-ui"
},
config = function (_,opts)
local path = "~/.local/share/nvim/mason/packages/debugpy/venv/bin/python"
require("dap-python").setup(path)
require("core.utils").load_mappings("dap_python")
end,
},
{
"jose-elias-alvarez/null-ls.nvim",
event = "VeryLazy",
opts = function()
return require "custom.configs.null-ls"
end,
},
{
"williamboman/mason.nvim",
opts = {
ensure_installed = {
"black",
"debugpy",
"mypy",
"ruff",
"pyright",
"clangd",
"clang-format",
"codelldb",
"rnix-lsp",
"rust-analyzer",
"eslint_d",
"jsonlint",
},
},
},
{
"neovim/nvim-lspconfig",
config = function ()
require "plugins.configs.lspconfig"
require "custom.configs.lspconfig"
end
},
{
"nvim-treesitter",
opts = {
ensure_installed = {
"ocaml",
"python",
"rust",
"css",
"html",
"dockerfile",
"gitignore",
"typescript",
"nix",
"rust",
}
}
},
{
"theRealCarneiro/hyprland-vim-syntax",
dependencies = { "nvim-treesitter/nvim-treesitter" },
ft = "hypr",
},
}
return plugins