return { 'nvim-neotest/neotest', dependencies = { 'nvim-neotest/nvim-nio', 'nvim-lua/plenary.nvim', 'antoinemadec/FixCursorHold.nvim', 'nvim-treesitter/nvim-treesitter', 'nvim-neotest/neotest-python', 'nvim-neotest/neotest-plenary', 'nvim-neotest/neotest-vim-test', }, config = function() require('neotest').setup { adapters = { require 'neotest-python' { dap = { justMyCode = false }, runner = 'pytest', }, require 'neotest-plenary', -- require 'neotest-vim-test' { -- ignore_file_types = { 'python', 'vim', 'lua' }, -- }, }, } end, keys = { { 't', '', desc = '+test' }, { 'tt', function() require('neotest').run.run(vim.fn.expand '%') end, desc = 'Run File', }, { 'tT', function() require('neotest').run.run(vim.uv.cwd()) end, desc = 'Run All Test Files', }, { 'tr', function() require('neotest').run.run() end, desc = 'Run Nearest', }, { 'tl', function() require('neotest').run.run_last() end, desc = 'Run Last', }, { 'ts', function() require('neotest').summary.toggle() end, desc = 'Toggle Summary', }, { 'to', function() require('neotest').output.open { enter = true, auto_close = true } end, desc = 'Show Output', }, { 'tO', function() require('neotest').output_panel.toggle() end, desc = 'Toggle Output Panel', }, { 'tS', function() require('neotest').run.stop() end, desc = 'Stop', }, { 'tw', function() require('neotest').watch.toggle(vim.fn.expand '%') end, desc = 'Toggle Watch', }, }, }