return { { 'nvim-neotest/neotest', dependencies = { 'nvim-neotest/nvim-nio', 'nvim-lua/plenary.nvim', 'antoinemadec/FixCursorHold.nvim', 'nvim-treesitter/nvim-treesitter', { 'nvim-neotest/neotest-go', dependencies = { 'leoluz/nvim-dap-go', }, }, { 'mrcjkb/rustaceanvim', }, }, config = function() require('neotest').setup { adapters = { require 'neotest-go', require 'rustaceanvim.neotest', }, } vim.keymap.set('n', 'ts', "lua require('neotest').summary.toggle()", { desc = '[T]oggle [N]eotest Summary' }) vim.keymap.set('n', 'rt', "lua require('neotest').run.run()", { desc = '[R]un [N]earest test to the cursor' }) vim.keymap.set('n', 'rf', "lua require('neotest').run.run(vim.fn.expand('%'))", { desc = '[R]un entire file' }) vim.keymap.set('n', 'dt', "lua require('neotest').run.run({ strategy = 'dap' })", { desc = 'Debug [N]earest test' }) vim.keymap.set('n', ']t', "lua require('neotest').jump.next({ status = 'failed' })", { desc = 'Jump to the next failed test' }) vim.keymap.set('n', '[t', "require('neotest').jump.prev({ status = 'failed' })", { desc = 'Jump to the previous failed test' }) end, }, }