return { "jackMort/ChatGPT.nvim", event = "VeryLazy", config = function() vim.api.nvim_set_hl(0, "ChatGPTNormalFloat", { bg = "NONE", fg = "NONE" }) vim.api.nvim_set_hl(0, "ChatGPTFloatBorder", { bg = "NONE", fg = "NONE" }) require("chatgpt").setup({ api_key_cmd = "gpg --decrypt " .. vim.fn.expand("$HOME") .. "/Dokumente/secret.txt.gpg", yank_register = "+", edit_with_instructions = { diff = false, keymaps = { close = "", accept = "", toggle_diff = "", toggle_settings = "", cycle_windows = "", use_output_as_input = "", }, }, chat = { loading_text = "Loading, please wait ...", question_sign = "", -- 🙂 -- answer_sign = 'ﮧ', -- 🤖 answer_sign = "🤖", max_line_length = 120, sessions_window = { border = { style = "rounded", text = { top = " Sessions ", }, }, win_options = { winhighlight = "Normal:ChatGPTNormalFloat,FloatBorder:ChatGPTFloatBorder", }, }, }, keymaps = { close = { "" }, yank_last = "", yank_last_code = "", scroll_up = "", scroll_down = "", new_session = "", cycle_windows = "", cycle_modes = "", next_message = "", prev_message = "", select_session = "", rename_session = "r", delete_session = "d", draft_message = "", edit_message = "e", delete_message = "d", toggle_settings = "", toggle_message_role = "", toggle_system_role_open = "", stop_generating = "", }, popup_layout = { default = "center", center = { width = "60%", height = "80%", }, right = { width = "30%", width_settings_open = "50%", }, }, popup_window = { border = { highlight = "Normal:ChatGPTNormalFloat,FloatBorder:ChatGPTFloatBorder", style = "rounded", text = { top = " ChatGPT ", }, }, win_options = { wrap = true, linebreak = true, foldcolumn = "1", winhighlight = "Normal:ChatGPTNormalFloat,FloatBorder:ChatGPTFloatBorder", }, buf_options = { filetype = "markdown", }, }, system_window = { border = { highlight = "Normal:ChatGPTNormalFloat,FloatBorder:ChatGPTFloatBorder", style = "rounded", text = { top = " SYSTEM ", }, }, win_options = { wrap = true, linebreak = true, foldcolumn = "2", winhighlight = "Normal:ChatGPTNormalFloat,FloatBorder:ChatGPTFloatBorder", }, }, popup_input = { prompt = "  ", border = { highlight = "Normal:ChatGPTNormalFloat,FloatBorder:ChatGPTFloatBorder", style = "rounded", text = { top_align = "center", top = " Prompt ", }, }, win_options = { winhighlight = "Normal:ChatGPTNormalFloat,FloatBorder:ChatGPTFloatBorder", }, submit = "", submit_n = "", max_visible_lines = 20, }, settings_window = { border = { style = "rounded", text = { top = " Settings ", }, }, win_options = { winhighlight = "Normal:ChatGPTNormalFloat,FloatBorder:ChatGPTFloatBorder", }, }, -- this config assumes you have OPENAI_API_KEY environment variable set openai_params = { model = "gpt-4o-mini", frequency_penalty = 0, presence_penalty = 0, max_tokens = 4095, temperature = 0.2, top_p = 0.1, n = 1, }, openai_edit_params = { model = "gpt-3.5-turbo", frequency_penalty = 0, presence_penalty = 0, temperature = 0, top_p = 1, n = 1, }, }) end, dependencies = { "MunifTanjim/nui.nvim", "nvim-lua/plenary.nvim", "nvim-telescope/telescope.nvim", }, }