--[[
    DEBUGGING.LUA
    nvim-dap for Python debugging
    Requirements: pip install debugpy
]]

return {
    { "mfussenegger/nvim-dap" },
    { "nvim-neotest/nvim-nio" },
    {
        "rcarriga/nvim-dap-ui",
        dependencies = { "mfussenegger/nvim-dap", "nvim-neotest/nvim-nio" },
        config = function()
            local dap, dapui = require("dap"), require("dapui")
            dapui.setup()
            dap.listeners.after.event_initialized["dapui_config"] = dapui.open
            vim.keymap.set("n", "<F5>", dap.continue, { desc = "Continue" })
            vim.keymap.set("n", "<F10>", dap.step_over, { desc = "Step over" })
            vim.keymap.set("n", "<F11>", dap.step_into, { desc = "Step into" })
            vim.keymap.set("n", "<S-F11>", dap.step_out, { desc = "Step out" })
            vim.keymap.set("n", "<F9>", dap.toggle_breakpoint, { desc = "Breakpoint" })
            vim.keymap.set("n", "<leader>du", dapui.toggle, { desc = "DAP UI" })
        end,
    },
    { "mfussenegger/nvim-dap-python", dependencies = { "mfussenegger/nvim-dap" } },
}
