Files
dotfiles/.config/nvim/lua/custom/plugins.lua
2024-05-26 05:54:35 -05:00

176 lines
3.9 KiB
Lua

local plugins = {
{
"williamboman/mason.nvim",
opts = {
ensure_installed = {
"gopls",
"rust-analyzer",
"pyright",
"mypy",
"ruff",
"black",
"debugpy",
"powershell-editor-services",
"bash-language-server",
"eslint-lsp",
"js-debug-adapter",
"prettier",
"typescript-language-server"
},
},
},
{
"christoomey/vim-tmux-navigator",
lazy = false,
},
{
"mfussenegger/nvim-dap",
init = function()
require("core.utils").load_mappings("dap")
require('dap.ext.vscode').load_launchjs('.vscode/launch.json', {})
end
},
{
"rcarriga/nvim-dap-ui",
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
},
{
"neovim/nvim-lspconfig",
config = function()
require "plugins.configs.lspconfig"
require "custom.configs.lspconfig"
end,
},
{
"jose-elias-alvarez/null-ls.nvim",
ft = "go, python",
opts = function()
return require "custom.configs.null-ls"
end,
},
-- Golang
{
"dreamsofcode-io/nvim-dap-go",
ft = "go",
dependencies = {
"mfussenegger/nvim-dap",
"rcarriga/nvim-dap-ui",
},
config = function(_, opts)
require("dap-go").setup(opts)
require("core.utils").load_mappings("dap_go")
end
},
{
"olexsmir/gopher.nvim",
ft = "go",
config = function(_, opts)
require("gopher").setup(opts)
require("core.utils").load_mappings("gopher")
end,
build = function()
vim.cmd [[silent! GoInstallDeps]]
end,
},
--Rust
{
"rust-lang/rust.vim",
ft = "rust",
init = function ()
vim.g.rustfmt_autosave = 1
end
},
{
"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
},
{
"mfussenegger/nvim-dap",
},
{
'saecki/crates.nvim',
ft = {"rust","toml"},
config = function (_, opts)
local crates = require('crates')
crates.setup(opts)
crates.show()
end
},
{
"hrsh7th/nvim-cmp",
opts = function ()
local M = require "plugins.configs.cmp"
table.insert(M.sources, {name= "crates"})
end
},
--python
{
"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)
end,
},
--ChatGPT
--{
-- "dreamsofcode-io/ChatGPT.nvim",
-- event = "VeryLazy",
-- dependencies = {
-- "MunifTanjim/nui.nvim",
-- "nvim-lua/plenary.nvim",
-- "nvim-telescope/telescope.nvim"
-- },
-- config = function()
-- require("chatgpt").setup({
-- async_api_key_cmd = "bw get password ChatGPT-APIKey",
-- })
-- end,
--},
{
"nvim-treesitter/nvim-treesitter",
opts = function()
local opts = require "plugins.configs.treesitter"
require "custom.configs.treesitter"
require'nvim-treesitter.install'.prefer_git = true
opts.ensure_installed = {
"lua",
"javascript",
"typescript",
"tsx",
"go",
"terraform",
"c_sharp",
"bash",
}
return opts
end,
}
}
return plugins