---@type LazySpec[] local spec = { { 'mfussenegger/nvim-dap', keys = { { 'd', '(dap)' }, }, config = function() local dap = require 'dap' vim.keymap.set('n', '(dap)', '', { silent = true }) vim.keymap.set('n', '(dap)b', require('dap').toggle_breakpoint) vim.keymap.set('n', '(dap)c', require('dap').continue) vim.keymap.set('n', '(dap)j', require('dap').step_over) vim.keymap.set('n', '(dap)k', require('dap').step_back) vim.keymap.set('n', '(dap)h', require('dap').step_out) vim.keymap.set('n', '(dap)l', require('dap').step_into) dap.adapters.bashdb = { type = 'executable', command = vim.fn.stdpath 'data' .. '/mason/packages/bash-debug-adapter/bash-debug-adapter', name = 'bashdb', } dap.configurations.sh = { { type = 'bashdb', request = 'launch', name = 'Launch file', showDebugOutput = true, pathBashdb = vim.fn.stdpath 'data' .. '/mason/packages/bash-debug-adapter/extension/bashdb_dir/bashdb', pathBashdbLib = vim.fn.stdpath 'data' .. '/mason/packages/bash-debug-adapter/extension/bashdb_dir', trace = true, file = '${file}', program = '${file}', cwd = '${workspaceFolder}', pathCat = 'cat', pathBash = vim.fn.exepath 'bash', pathMkfifo = 'mkfifo', pathPkill = 'pkill', args = {}, env = {}, terminalKind = 'integrated', }, } end, }, { 'rcarriga/nvim-dap-ui', keys = '(dap)d', config = function() vim.keymap.set('n', '(dap)d', require('dapui').toggle) require('dapui').setup() end, }, { 'nvim-neotest/nvim-nio' }, } return spec