Added neotest with some mappings to run tests and view outputs, as well as neotest-python for now to make it work under python. Added registering with which-key if it exists.
173 lines
3.8 KiB
Lua
173 lines
3.8 KiB
Lua
return {
|
|
-- vista-like outline view for code
|
|
{
|
|
"stevearc/aerial.nvim",
|
|
config = true,
|
|
-- Optional dependencies
|
|
dependencies = {
|
|
"nvim-treesitter/nvim-treesitter",
|
|
"nvim-tree/nvim-web-devicons",
|
|
},
|
|
event = "VeryLazy",
|
|
opts = {
|
|
backends = { "treesitter", "lsp", "markdown", "man" },
|
|
},
|
|
},
|
|
|
|
-- lsp setup
|
|
{
|
|
"junnplus/lsp-setup.nvim",
|
|
dependencies = {
|
|
{
|
|
"neovim/nvim-lspconfig",
|
|
-- will sometimes not keep up with lsp changes if set to stable
|
|
version = false,
|
|
},
|
|
{
|
|
"williamboman/mason.nvim",
|
|
cmd = {
|
|
"Mason",
|
|
"MasonInstall",
|
|
"MasonUninstall",
|
|
"MasonUninstallAll",
|
|
"MasonLog",
|
|
"MasonUpdate",
|
|
},
|
|
build = ":MasonUpdate",
|
|
},
|
|
{
|
|
"williamboman/mason-lspconfig.nvim",
|
|
cmd = { "LspInstall", "LspUninstall" },
|
|
},
|
|
{
|
|
"jose-elias-alvarez/null-ls.nvim",
|
|
dependencies = {
|
|
"nvim-lua/plenary.nvim",
|
|
"jay-babu/mason-null-ls.nvim",
|
|
},
|
|
event = "VeryLazy",
|
|
},
|
|
},
|
|
event = "BufReadPost",
|
|
config = function()
|
|
require("plugins.config.lsp")
|
|
end,
|
|
},
|
|
-- completion setup
|
|
{
|
|
"hrsh7th/nvim-cmp",
|
|
branch = "main",
|
|
dependencies = {
|
|
"andersevenrud/cmp-tmux",
|
|
"cbarrete/completion-vcard",
|
|
"f3fora/cmp-spell",
|
|
"hrsh7th/cmp-nvim-lsp",
|
|
"hrsh7th/cmp-path",
|
|
"hrsh7th/cmp-buffer",
|
|
"hrsh7th/cmp-calc",
|
|
"hrsh7th/cmp-cmdline",
|
|
"hrsh7th/cmp-nvim-lua",
|
|
"hrsh7th/cmp-nvim-lsp-signature-help",
|
|
"dmitmel/cmp-digraphs",
|
|
"jc-doyle/cmp-pandoc-references",
|
|
"kdheepak/cmp-latex-symbols",
|
|
"lukas-reineke/cmp-rg",
|
|
"crispgm/cmp-beancount",
|
|
"ray-x/cmp-treesitter",
|
|
"saadparwaiz1/cmp_luasnip",
|
|
{
|
|
"L3MON4D3/LuaSnip",
|
|
dependencies = { "rafamadriz/friendly-snippets" },
|
|
},
|
|
},
|
|
config = function()
|
|
require("plugins.config.cmp")
|
|
end,
|
|
event = { "InsertEnter", "CmdlineEnter", "VeryLazy" },
|
|
},
|
|
|
|
-- loading animations for some LSP
|
|
{ "j-hui/fidget.nvim", config = true, tag = "legacy", event = "VeryLazy" },
|
|
|
|
-- testing setup
|
|
{
|
|
"nvim-neotest/neotest",
|
|
dependencies = {
|
|
"nvim-lua/plenary.nvim",
|
|
"nvim-treesitter/nvim-treesitter",
|
|
"antoinemadec/FixCursorHold.nvim",
|
|
|
|
"nvim-neotest/neotest-python",
|
|
},
|
|
config = function()
|
|
require("neotest").setup({
|
|
adapters = {
|
|
require("neotest-python"),
|
|
},
|
|
})
|
|
for _, v in pairs(require("lazy").plugins()) do
|
|
if v[1] == "folke/which-key.nvim" then
|
|
require("which-key").register({ ["<localleader>t"] = { name = "+test" } })
|
|
break
|
|
end
|
|
end
|
|
end,
|
|
keys = {
|
|
{
|
|
"<leader>st",
|
|
[[<cmd>lua require('neotest').summary.toggle()<cr>]],
|
|
desc = "toggle test list",
|
|
silent = true,
|
|
},
|
|
{
|
|
"<leader>sT",
|
|
[[<cmd>lua require('neotest').output_panel.toggle()<cr>]],
|
|
desc = "toggle test output",
|
|
silent = true,
|
|
},
|
|
{
|
|
"<localleader>to",
|
|
[[<cmd>lua require('neotest').output.open()<cr>]],
|
|
desc = "toggle test output",
|
|
silent = true,
|
|
},
|
|
{
|
|
"<localleader>tt",
|
|
[[<cmd>lua require('neotest').run.run()<cr>]],
|
|
desc = "run nearest test",
|
|
silent = true,
|
|
},
|
|
{
|
|
"<localleader>td",
|
|
[[<cmd>lua require('neotest').run.run({strategy = "dap"})<cr>]],
|
|
desc = "debug nearest test",
|
|
silent = true,
|
|
}, -- REQUIRES DAP
|
|
{
|
|
"<localleader>tT",
|
|
[[<cmd>lua require('neotest').run.run(vim.fn.expand("%"))<cr>]],
|
|
desc = "test current file",
|
|
silent = true,
|
|
},
|
|
{
|
|
"<localleader>tr",
|
|
[[<cmd>lua require('neotest').run.run_last()<cr>]],
|
|
desc = "re-run last test",
|
|
silent = true,
|
|
},
|
|
{
|
|
"<localleader>tw",
|
|
[[<cmd>lua require('neotest').watch.toggle()<cr>]],
|
|
desc = "watch current test",
|
|
silent = true,
|
|
},
|
|
{
|
|
"<localleader>tW",
|
|
[[<cmd>lua require('neotest').watch.toggle(vim.fn.expand("%"))<cr>]],
|
|
desc = "watch current file",
|
|
silent = true,
|
|
},
|
|
},
|
|
},
|
|
}
|