return { "jackMort/ChatGPT.nvim", event = "VeryLazy", opts = { api_key_cmd = "cat " .. os.getenv("HOME") .. "/.config/.openai-api-key", popup_input = { submit = "", }, openai_params = { model = "gpt-4o", }, openai_edit_params = { model = "gpt-4o", }, }, keys = { { "kc", "ChatGPT", desc = "ChatGPT" }, { "ke", "ChatGPTEditWithInstruction", desc = "Edit with instruction", mode = { "n", "v" } }, { "kg", "ChatGPTRun grammar_correction", desc = "Grammar Correction", mode = { "n", "v" } }, { "kt", "ChatGPTRun translate", desc = "Translate", mode = { "n", "v" } }, { "kk", "ChatGPTRun keywords", desc = "Keywords", mode = { "n", "v" } }, { "kd", "ChatGPTRun docstring", desc = "Docstring", mode = { "n", "v" } }, { "ka", "ChatGPTRun add_tests", desc = "Add Tests", mode = { "n", "v" } }, { "ko", "ChatGPTRun optimize_code", desc = "Optimize Code", mode = { "n", "v" } }, { "ks", "ChatGPTRun summarize", desc = "Summarize", mode = { "n", "v" } }, { "kf", "ChatGPTRun fix_bugs", desc = "Fix Bugs", mode = { "n", "v" } }, { "kx", "ChatGPTRun explain_code", desc = "Explain Code", mode = { "n", "v" } }, { "kl", "ChatGPTRun code_readability_analysis", desc = "Code Readability Analysis", mode = { "n", "v" }, }, }, dependencies = { "MunifTanjim/nui.nvim", "nvim-lua/plenary.nvim", "folke/trouble.nvim", "nvim-telescope/telescope.nvim", { "folke/which-key.nvim", optional = true, opts = { spec = { { "k", group = "ChatGPT" }, }, }, }, }, }