working chatgpt w/ lazyload

master
blob42 1 year ago
parent f0bb3b9021
commit 465dbe3de7

@ -0,0 +1,91 @@
local M = {}
M.load_api_key = function()
local openai_api_key_path = vim.fn.expand('$XDG_CONFIG_HOME') .. '/openai/token'
local openai_api_key = vim.fn.readfile(openai_api_key_path, '', 1)
vim.fn.setenv('OPENAI_API_KEY', openai_api_key[1])
end
local config = {
-- welcome_message = WELCOME_MESSAGE, -- set to "" if you don't like the fancy godot robot
loading_text = "loading",
question_sign = "", -- you can use emoji if you want e.g. 🙂
answer_sign = "", -- 🤖
max_line_length = 120,
yank_register = "+",
chat_layout = {
relative = "editor",
position = "50%",
size = {
height = "80%",
width = "80%",
},
},
settings_window = {
border = {
style = "rounded",
text = {
top = " Settings ",
},
},
},
chat_window = {
filetype = "chatgpt",
border = {
highlight = "FloatBorder",
style = "rounded",
text = {
top = " ChatGPT ",
},
},
},
chat_input = {
prompt = "",
border = {
highlight = "FloatBorder",
style = "rounded",
text = {
top_align = "center",
top = " Prompt ",
},
},
},
openai_params = {
model = "text-davinci-003",
frequency_penalty = 0,
presence_penalty = 0,
max_tokens = 300,
temperature = 0,
top_p = 1,
n = 1,
},
openai_edit_params = {
model = "code-davinci-edit-001",
temperature = 0,
top_p = 1,
n = 1,
},
keymaps = {
close = { "<C-c>", "<Esc>" },
yank_last = "<C-y>",
scroll_up = "<C-u>",
scroll_down = "<C-d>",
toggle_settings = "<C-o>",
new_session = "<C-n>",
cycle_windows = "<Tab>",
},
}
M.setup = function()
local ok, chatgpt = pcall(require, 'chatgpt')
if not ok then
vim.notify("missing module chatgpt", vim.log.levels.WARN)
return
end
chatgpt.setup(config)
end
return M

@ -1,18 +0,0 @@
local ok, chatgpt = pcall(require, 'chatgpt')
if not ok then
vim.notify("missing module chatgpt", vim.log.levels.WARN)
return
end
local M = {}
local config = {
loading_text = "loading",
}
M.setup = function()
chatgpt.setup({})
end
return M

@ -143,14 +143,21 @@ return {
require("core.utils").load_mappings "copilot"
end
},
["MunifTanjim/nui.nvim"] = {
module = {"nui.layout", "nui.popup"},
module_pattern = {"nui.*"}
},
["jackMort/ChatGPT.nvim"] = {
opt = true,
keys = {"<leader>gpt"},
module_pattern = {"chatgpt*"},
after = {"nui.nvim", "telescope.nvim"},
setup = function()
require("custom.plugins.configs.chat-gpt").load_api_key()
end,
config = function()
-- require("custom.plugins.configs.chatgpt").setup()
require("chatgpt").setup({
-- optional configuration
})
require("custom.plugins.configs.chat-gpt").setup()
end,
requires = {
"MunifTanjim/nui.nvim",

Loading…
Cancel
Save