return {
    "nvim-neotest/neotest",
    dependencies = {
        -- For JavaScript, TypeScript (Vite)
        "marilari88/neotest-vitest",
        -- For Python
        "nvim-neotest/neotest-python",
        -- For C, C++, Rust
        "orjangj/neotest-ctest",
        "rouge8/neotest-rust",
    },
    keys = {
        -- Run nearest test
        { "<leader><leader>tr", '<cmd>lua require("neotest").run.run()<cr>',    desc = "Run nearest test" },

        -- Run all tests in the current file
        {
            "<leader><leader>tf",
            '<cmd>lua require("neotest").run.run(vim.fn.expand("%"))<cr>',
            desc = "Run all tests in current file",
        },

        -- Stop running tests
        { "<leader><leader>ts", '<cmd>lua require("neotest").run.stop()<cr>',   desc = "Stop tests" },

        { "<leader><leader>ta", '<cmd>lua require("neotest").run.attach()<cr>', desc = "Attach to nearest test" },

        { "<leader><leader>tn", "<cmd>Neotest jump next<cr>",                   desc = "Jump to next test" },

        { "<leader><leader>tp", "<cmd>Neotest jump prev<cr>",                   desc = "Jump to previous test" },

        -- Show test summary
        { "<leader><leader>tv", "<cmd>Neotest summary<cr>",                     desc = "Show neotest test summary" },

        -- Toggle the Neotest panel
        { "<leader><leader>to", "<cmd>Neotest output<cr>",                      desc = "Show neotest output" },

        { "<leader><leader>tn", "<cmd>Neotest output-panel<cr>",                desc = "Show neotest output as panel" },
    },
    config = function()
        local neotest = require("neotest")

        -- General setup for neotest
        neotest.setup({
            adapters = {
                -- Vite Adapter for JavaScript/TypeScript
                require("neotest-vitest"),
                -- Python Adapter
                require("neotest-python"),
                -- C/C++ Adapter
                require("neotest-ctest"),
                -- Rust Adapter
                require("neotest-rust"),
                -- Java Adapter
                -- require("neotest-java")
            },
        })

        -- Keybinding Setup
    end,
}
