Add ChatGPT plugin to nvim
This commit is contained in:
parent
613b8b510e
commit
bf32fe820c
9 changed files with 221 additions and 6 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -13,3 +13,4 @@ config/spicetify/Backup
|
||||||
# nixos/hardware-configuration.nix
|
# nixos/hardware-configuration.nix
|
||||||
result
|
result
|
||||||
config/ncspot/userstate.cbor
|
config/ncspot/userstate.cbor
|
||||||
|
config/zsh/zprofile.local
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
{
|
{
|
||||||
|
"ChatGPT.nvim": { "branch": "main", "commit": "aadb607038d53d97be4da368b07355f65ad3f047" },
|
||||||
"LuaSnip": { "branch": "master", "commit": "80a8528f084a97b624ae443a6f50ff8074ba486b" },
|
"LuaSnip": { "branch": "master", "commit": "80a8528f084a97b624ae443a6f50ff8074ba486b" },
|
||||||
"alpha-nvim": { "branch": "main", "commit": "234822140b265ec4ba3203e3e0be0e0bb826dff5" },
|
"alpha-nvim": { "branch": "main", "commit": "234822140b265ec4ba3203e3e0be0e0bb826dff5" },
|
||||||
"auto-session": { "branch": "main", "commit": "3eb26b949e1b90798e84926848551046e2eb0721" },
|
"auto-session": { "branch": "main", "commit": "3eb26b949e1b90798e84926848551046e2eb0721" },
|
||||||
|
|
|
||||||
|
|
@ -55,9 +55,6 @@ vim.keymap.set("n", "<leader>rr", ":%s/", default("Search and replace globally")
|
||||||
vim.keymap.set("v", "<leader>r", ":s/", default("Search and replace in selection"))
|
vim.keymap.set("v", "<leader>r", ":s/", default("Search and replace in selection"))
|
||||||
|
|
||||||
vim.keymap.set("v", "p", [["_dP]], default("Paste whitout lossing yanked text"))
|
vim.keymap.set("v", "p", [["_dP]], default("Paste whitout lossing yanked text"))
|
||||||
vim.keymap.set({ "n", "v" }, "<Leader>y", [["+y]], default("Yank to system clipboard"))
|
|
||||||
vim.keymap.set({ "n", "v" }, "<Leader>Y", [["+Y]], default("Yank line to system clipboard"))
|
|
||||||
vim.keymap.set({ "n", "v" }, "<Leader>p", [["+p]], default("Paste from system clipboard"))
|
|
||||||
|
|
||||||
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv", default("Move selection down"))
|
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv", default("Move selection down"))
|
||||||
vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv", default("Move selection up"))
|
vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv", default("Move selection up"))
|
||||||
|
|
|
||||||
207
config/nvim/lua/aleidk/plugins/ai.lua
Normal file
207
config/nvim/lua/aleidk/plugins/ai.lua
Normal file
|
|
@ -0,0 +1,207 @@
|
||||||
|
return {
|
||||||
|
"jackMort/ChatGPT.nvim",
|
||||||
|
event = "VeryLazy",
|
||||||
|
opts = {
|
||||||
|
api_key_cmd = nil,
|
||||||
|
yank_register = "+",
|
||||||
|
edit_with_instructions = {
|
||||||
|
diff = false,
|
||||||
|
keymaps = {
|
||||||
|
close = "<C-c>",
|
||||||
|
accept = "<C-y>",
|
||||||
|
toggle_diff = "<C-d>",
|
||||||
|
toggle_settings = "<C-o>",
|
||||||
|
toggle_help = "<C-h>",
|
||||||
|
cycle_windows = "<Tab>",
|
||||||
|
use_output_as_input = "<C-i>",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
chat = {
|
||||||
|
-- welcome_message = WELCOME_MESSAGE,
|
||||||
|
loading_text = "Loading, please wait ...",
|
||||||
|
question_sign = "", -- 🙂
|
||||||
|
answer_sign = "ﮧ", -- 🤖
|
||||||
|
border_left_sign = "",
|
||||||
|
border_right_sign = "",
|
||||||
|
max_line_length = 120,
|
||||||
|
sessions_window = {
|
||||||
|
active_sign = " ",
|
||||||
|
inactive_sign = " ",
|
||||||
|
current_line_sign = "",
|
||||||
|
border = {
|
||||||
|
style = "rounded",
|
||||||
|
text = {
|
||||||
|
top = " Sessions ",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
win_options = {
|
||||||
|
winhighlight = "Normal:Normal,FloatBorder:FloatBorder",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
keymaps = {
|
||||||
|
close = "<C-c>",
|
||||||
|
yank_last = "<C-y>",
|
||||||
|
yank_last_code = "<C-k>",
|
||||||
|
scroll_up = "<C-u>",
|
||||||
|
scroll_down = "<C-d>",
|
||||||
|
new_session = "<C-n>",
|
||||||
|
cycle_windows = "<Tab>",
|
||||||
|
cycle_modes = "<C-f>",
|
||||||
|
next_message = "<C-j>",
|
||||||
|
prev_message = "<C-k>",
|
||||||
|
select_session = "<Space>",
|
||||||
|
rename_session = "r",
|
||||||
|
delete_session = "d",
|
||||||
|
draft_message = "<C-r>",
|
||||||
|
edit_message = "e",
|
||||||
|
delete_message = "d",
|
||||||
|
toggle_settings = "<C-o>",
|
||||||
|
toggle_sessions = "<C-p>",
|
||||||
|
toggle_help = "<C-h>",
|
||||||
|
toggle_message_role = "<C-r>",
|
||||||
|
toggle_system_role_open = "<C-s>",
|
||||||
|
stop_generating = "<C-x>",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
popup_layout = {
|
||||||
|
default = "center",
|
||||||
|
center = {
|
||||||
|
width = "80%",
|
||||||
|
height = "80%",
|
||||||
|
},
|
||||||
|
right = {
|
||||||
|
width = "30%",
|
||||||
|
width_settings_open = "50%",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
popup_window = {
|
||||||
|
border = {
|
||||||
|
highlight = "FloatBorder",
|
||||||
|
style = "rounded",
|
||||||
|
text = {
|
||||||
|
top = " ChatGPT ",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
win_options = {
|
||||||
|
wrap = true,
|
||||||
|
linebreak = true,
|
||||||
|
foldcolumn = "1",
|
||||||
|
winhighlight = "Normal:Normal,FloatBorder:FloatBorder",
|
||||||
|
},
|
||||||
|
buf_options = {
|
||||||
|
filetype = "markdown",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
system_window = {
|
||||||
|
border = {
|
||||||
|
highlight = "FloatBorder",
|
||||||
|
style = "rounded",
|
||||||
|
text = {
|
||||||
|
top = " SYSTEM ",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
win_options = {
|
||||||
|
wrap = true,
|
||||||
|
linebreak = true,
|
||||||
|
foldcolumn = "2",
|
||||||
|
winhighlight = "Normal:Normal,FloatBorder:FloatBorder",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
popup_input = {
|
||||||
|
prompt = " ",
|
||||||
|
border = {
|
||||||
|
highlight = "FloatBorder",
|
||||||
|
style = "rounded",
|
||||||
|
text = {
|
||||||
|
top_align = "center",
|
||||||
|
top = " Prompt ",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
win_options = {
|
||||||
|
winhighlight = "Normal:Normal,FloatBorder:FloatBorder",
|
||||||
|
},
|
||||||
|
submit = "<C-Enter>",
|
||||||
|
submit_n = "<Enter>",
|
||||||
|
max_visible_lines = 20,
|
||||||
|
},
|
||||||
|
settings_window = {
|
||||||
|
setting_sign = " ",
|
||||||
|
border = {
|
||||||
|
style = "rounded",
|
||||||
|
text = {
|
||||||
|
top = " Settings ",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
win_options = {
|
||||||
|
winhighlight = "Normal:Normal,FloatBorder:FloatBorder",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
help_window = {
|
||||||
|
setting_sign = " ",
|
||||||
|
border = {
|
||||||
|
style = "rounded",
|
||||||
|
text = {
|
||||||
|
top = " Help ",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
win_options = {
|
||||||
|
winhighlight = "Normal:Normal,FloatBorder:FloatBorder",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
openai_params = {
|
||||||
|
model = "gpt-3.5-turbo",
|
||||||
|
frequency_penalty = 0,
|
||||||
|
presence_penalty = 0,
|
||||||
|
max_tokens = 300,
|
||||||
|
temperature = 0,
|
||||||
|
top_p = 1,
|
||||||
|
n = 1,
|
||||||
|
},
|
||||||
|
openai_edit_params = {
|
||||||
|
model = "gpt-3.5-turbo",
|
||||||
|
frequency_penalty = 0,
|
||||||
|
presence_penalty = 0,
|
||||||
|
temperature = 0,
|
||||||
|
top_p = 1,
|
||||||
|
n = 1,
|
||||||
|
},
|
||||||
|
use_openai_functions_for_edits = false,
|
||||||
|
actions_paths = {},
|
||||||
|
show_quickfixes_cmd = "Trouble quickfix",
|
||||||
|
predefined_chat_gpt_prompts = "https://raw.githubusercontent.com/f/awesome-chatgpt-prompts/main/prompts.csv",
|
||||||
|
highlights = {
|
||||||
|
help_key = "@symbol",
|
||||||
|
help_description = "@comment",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
require("chatgpt").setup()
|
||||||
|
end,
|
||||||
|
dependencies = {
|
||||||
|
"MunifTanjim/nui.nvim",
|
||||||
|
"nvim-lua/plenary.nvim",
|
||||||
|
"folke/trouble.nvim",
|
||||||
|
"nvim-telescope/telescope.nvim",
|
||||||
|
},
|
||||||
|
keys = {
|
||||||
|
{ "<leader>pp", "<cmd>ChatGPT<CR>", desc = "ChatGPT" },
|
||||||
|
{ "<leader>pe", "<cmd>ChatGPTEditWithInstruction<CR>", desc = "Edit with instruction", mode = { "n", "v" } },
|
||||||
|
{ "<leader>pa", "<cmd>ChatGPTActAs<CR>", desc = "Act as", mode = { "n", "v" } },
|
||||||
|
{ "<leader>pg", "<cmd>ChatGPTRun grammar_correction<CR>", desc = "Grammar Correction", mode = { "n", "v" } },
|
||||||
|
{ "<leader>pT", "<cmd>ChatGPTRun translate<CR>", desc = "Translate", mode = { "n", "v" } },
|
||||||
|
{ "<leader>pk", "<cmd>ChatGPTRun keywords<CR>", desc = "Keywords", mode = { "n", "v" } },
|
||||||
|
{ "<leader>pd", "<cmd>ChatGPTRun docstring<CR>", desc = "Docstring", mode = { "n", "v" } },
|
||||||
|
{ "<leader>pt", "<cmd>ChatGPTRun add_tests<CR>", desc = "Add Tests", mode = { "n", "v" } },
|
||||||
|
{ "<leader>po", "<cmd>ChatGPTRun optimize_code<CR>", desc = "Optimize Code", mode = { "n", "v" } },
|
||||||
|
{ "<leader>ps", "<cmd>ChatGPTRun summarize<CR>", desc = "Summarize", mode = { "n", "v" } },
|
||||||
|
{ "<leader>pf", "<cmd>ChatGPTRun fix_bugs<CR>", desc = "Fix Bugs", mode = { "n", "v" } },
|
||||||
|
{ "<leader>px", "<cmd>ChatGPTRun explain_code<CR>", desc = "Explain Code", mode = { "n", "v" } },
|
||||||
|
{ "<leader>pr", "<cmd>ChatGPTRun roxygen_edit<CR>", desc = "Roxygen Edit", mode = { "n", "v" } },
|
||||||
|
{
|
||||||
|
"<leader>pl",
|
||||||
|
"<cmd>ChatGPTRun code_readability_analysis<CR>",
|
||||||
|
desc = "Code Readability Analysis",
|
||||||
|
mode = { "n", "v" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
@ -57,6 +57,9 @@ return {
|
||||||
{ mode = "n", keys = "<Leader>u", desc = "+UI & Config" },
|
{ mode = "n", keys = "<Leader>u", desc = "+UI & Config" },
|
||||||
{ mode = "n", keys = "<Leader>un", desc = "+Noice" },
|
{ mode = "n", keys = "<Leader>un", desc = "+Noice" },
|
||||||
{ mode = "n", keys = "<Leader>w", desc = "+Workspace" },
|
{ mode = "n", keys = "<Leader>w", desc = "+Workspace" },
|
||||||
|
{ mode = "n", keys = "<Leader>p", desc = "+ChatGPT" },
|
||||||
|
{ mode = "v", keys = "<Leader>p", desc = "+ChatGPT" },
|
||||||
|
{ mode = "n", keys = "<Leader>p", desc = "+ChatGPT" },
|
||||||
},
|
},
|
||||||
|
|
||||||
-- Clue window settings
|
-- Clue window settings
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
|
|
@ -4,11 +4,13 @@ prefs_path = /home/aleidk/.var/app/com.spotify.Client/config/spotif
|
||||||
current_theme = catppuccin-macchiato
|
current_theme = catppuccin-macchiato
|
||||||
color_scheme = teal
|
color_scheme = teal
|
||||||
spotify_launch_flags =
|
spotify_launch_flags =
|
||||||
spotify_path = /var/lib/flatpak/app/com.spotify.Client/x86_64/stable/active/files/extra/share/spotify/
|
spotify_path = /home/aleidk/.local/share/flatpak/app/com.spotify.Client/x86_64/stable/active/files/extra/share/spotify/
|
||||||
inject_css = 1
|
inject_css = 1
|
||||||
replace_colors = 1
|
replace_colors = 1
|
||||||
overwrite_assets = 1
|
overwrite_assets = 1
|
||||||
inject_theme_js = 1
|
inject_theme_js = 1
|
||||||
|
check_spicetify_update = 1
|
||||||
|
always_enable_devtools = 0
|
||||||
|
|
||||||
[Preprocesses]
|
[Preprocesses]
|
||||||
disable_sentry = 1
|
disable_sentry = 1
|
||||||
|
|
@ -28,5 +30,5 @@ sidebar_config = 1
|
||||||
|
|
||||||
; DO NOT CHANGE!
|
; DO NOT CHANGE!
|
||||||
[Backup]
|
[Backup]
|
||||||
version = 1.2.22.982.g794acc0a
|
version = 1.2.26.1187.g36b715a1
|
||||||
with = 2.25.3
|
with = 2.28.1
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,10 @@ update_path "$HOME/.local/share/rtx/shims"
|
||||||
|
|
||||||
. "$HOME/.cargo/env"
|
. "$HOME/.cargo/env"
|
||||||
|
|
||||||
|
if [[ "$DOTS/config/zsh/zprofile.local" -e ]]; then
|
||||||
|
source "$DOTS/config/zsh/zprofile.local"
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ $OSTYPE =~ 'darwin' ]]; then
|
if [[ $OSTYPE =~ 'darwin' ]]; then
|
||||||
eval "$(/opt/homebrew/bin/brew shellenv)"
|
eval "$(/opt/homebrew/bin/brew shellenv)"
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue