return {
    "danymat/neogen",
    config = function()
        local opts = { noremap = true, silent = true, desc = "Generate docs" }
        vim.keymap.set("n", "<leader>gd", ":lua require('neogen').generate()<CR>", opts)

        opts.desc = "Generate function docs"
        vim.keymap.set("n", "<leader>gg", ":lua require('neogen').generate( { type = 'func' } )<CR>", opts)

        opts.desc = "Generate type docs"
        vim.keymap.set("n", "<leader>gt", ":lua require('neogen').generate( { type = 'type' } )<CR>", opts)

        opts.desc = "Generate class docs"
        vim.keymap.set("n", "<leader>gc", ":lua require('neogen').generate( { type = 'class' } )<CR>", opts)
        require("neogen").setup({
            snippet_engine = "luasnip",
        })
    end,
}
