Add AI helper functions, update plugins, and codecompanion updates

This commit is contained in:
mitchell 2025-05-19 15:57:08 -04:00
parent 1517f56c86
commit 73c5b0b7d7
8 changed files with 87 additions and 37 deletions

View file

@ -0,0 +1,9 @@
function adr --wraps aider
aider \
--model gemini \
--editor-model gpt-4.1-mini \
--weak-model gpt-4.1-mini \
--dark-mode \
--completion-menu-bg-color '#1f1f28' \
--vim $argv
end

View file

@ -0,0 +1,10 @@
function aikeys -d 'Set AI API keys' -a service
switch $service
case gemini
echo "set -lx GEMINI_API_KEY (kp Keys/google-aistudio-key -a Password)"
case openai
echo "set -lx OPENAI_API_KEY (kp Keys/openai-general -a Password)"
case anthro
echo "set -lx ANTHROPIC_API_KEY (kp Keys/google-aistudio-key -a Password)"
end
end

View file

@ -0,0 +1,30 @@
{
"ale": { "branch": "master", "commit": "5098dfd27edf2b38e5af284f6f440d24cf806b53" },
"blink.cmp": { "branch": "main", "commit": "022521a8910a5543b0251b21c9e1a1e989745796" },
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
"codecompanion.nvim": { "branch": "main", "commit": "0beb9183954ae1afa2e1f5a91812706764d1a743" },
"flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" },
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
"kanagawa.nvim": { "branch": "master", "commit": "4de88d695634a8776c687af8e7436cfa074aa0c0" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"lualine.nvim": { "branch": "master", "commit": "15884cee63a8c205334ab13ab1c891cd4d27101a" },
"markview.nvim": { "branch": "main", "commit": "23f8bda5a172287c3423a3ffe7640efefa52a48b" },
"mini.diff": { "branch": "main", "commit": "ec8a5ae365c5d15920721ea42b1351dbc9e61f2d" },
"neo-tree.nvim": { "branch": "v3.x", "commit": "f481de16a0eb59c985abac8985e3f2e2f75b4875" },
"noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" },
"nui.nvim": { "branch": "main", "commit": "f535005e6ad1016383f24e39559833759453564e" },
"nvim-lspconfig": { "branch": "master", "commit": "ac1dfbe3b60e5e23a2cff90e3bd6a3bc88031a57" },
"nvim-notify": { "branch": "master", "commit": "b5825cf9ee881dd8e43309c93374ed5b87b7a896" },
"nvim-treesitter": { "branch": "master", "commit": "066fd6505377e3fd4aa219e61ce94c2b8bdb0b79" },
"nvim-web-devicons": { "branch": "master", "commit": "1fb58cca9aebbc4fd32b086cb413548ce132c127" },
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" },
"telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" },
"tmuxline.vim": { "branch": "master", "commit": "4119c553923212cc67f4e135e6f946dc3ec0a4d6" },
"twilight.nvim": { "branch": "main", "commit": "1584c0b0a979b71fd86b18d302ba84e9aba85b1b" },
"vim-eunuch": { "branch": "master", "commit": "e86bb794a1c10a2edac130feb0ea590a00d03f1e" },
"vim-fugitive": { "branch": "master", "commit": "4a745ea72fa93bb15dd077109afbb3d1809383f2" },
"vim-pencil": { "branch": "master", "commit": "6d70438a8886eaf933c38a7a43a61adb0a7815ed" },
"vim-surround": { "branch": "master", "commit": "3d188ed2113431cf8dac77be61b842acb64433d9" },
"zen-mode.nvim": { "branch": "main", "commit": "863f150ca321b3dd8aa1a2b69b5f411a220e144f" }
}

View file

@ -88,7 +88,7 @@ return {
{ {
"folke/zen-mode.nvim", "folke/zen-mode.nvim",
opts = { opts = {
window = { backdrop = 0.95 }, window = { backdrop = 0.95, options = { number = false } },
plugins = { twilight = { enabled = false } }, plugins = { twilight = { enabled = false } },
}, },
keys = { keys = {

View file

@ -14,7 +14,7 @@ return {
keys = { keys = {
{ {
"<leader>nn", "<leader>nn",
"<cmd>Neotree toggle reveal_force_cwd<cr>", "<cmd>Neotree left reveal_force_cwd<cr>",
desc = "Neo-tree Toggle Sidebar", desc = "Neo-tree Toggle Sidebar",
silent = true, silent = true,
}, },

View file

@ -9,50 +9,34 @@ return {
"echasnovski/mini.diff", "echasnovski/mini.diff",
}, },
opts = { opts = {
display = { diff = { provider = "mini_diff" }, chat = { show_settings = true } }, display = {
diff = { provider = "mini_diff" },
chat = {
show_settings = false,
window = { position = "right", opts = { number = false } },
},
},
strategies = { strategies = {
chat = { adapter = "gemini_deep" }, chat = { adapter = "gemini" },
inline = { adapter = "openai" }, inline = { adapter = "openai_mini" },
cmd = { adapter = "openai_mini" }, cmd = { adapter = "openai_mini" },
}, },
adapters = { adapters = {
anthro = function() anthropic = function()
return require("codecompanion.adapters").extend("anthropic", { return require("codecompanion.adapters").extend("anthropic", {
schema = { schema = {
model = { default = "claude-3-7-sonnet-20250219" }, max_tokens = { default = 20000 },
extended_thinking = { default = false },
},
})
end,
anthro_deep = function()
return require("codecompanion.adapters").extend("anthropic", {
schema = {
model = { default = "claude-3-7-sonnet-20250219" },
}, },
}) })
end, end,
gemini = function() gemini = function()
return require("codecompanion.adapters").extend("gemini", {
schema = {
model = { default = "gemini-2.5-flash-preview-04-17" },
},
})
end,
gemini_deep = function()
return require("codecompanion.adapters").extend("gemini", { return require("codecompanion.adapters").extend("gemini", {
schema = { schema = {
model = { default = "gemini-2.5-pro-preview-05-06" }, model = { default = "gemini-2.5-pro-preview-05-06" },
}, },
}) })
end, end,
openai_mini = function() openai = function()
return require("codecompanion.adapters").extend("openai", {
schema = {
model = { default = "gpt-4.1-mini" },
},
})
end,
openai_deep = function()
return require("codecompanion.adapters").extend("openai", { return require("codecompanion.adapters").extend("openai", {
schema = { schema = {
model = { default = "o4-mini-2025-04-16" }, model = { default = "o4-mini-2025-04-16" },
@ -60,10 +44,26 @@ return {
}, },
}) })
end, end,
openai_mini = function()
return require("codecompanion.adapters").extend("openai", {
schema = {
model = { default = "gpt-4.1-mini" },
temperature = { default = 0 },
},
})
end,
}, },
}, },
keys = { keys = {
{ "<leader>c", "<cmd>CodeCompanionChat<cr>", desc = "CodeCompanion Chat", silent = true }, { "<leader>cc", "<cmd>CodeCompanionChat<cr>", desc = "CodeCompanion Chat", silent = true },
{
"<leader>cf",
"<cmd>CodeCompanionChat openai_mini<cr>",
desc = "CodeCompanion Chat (Fast)",
silent = true,
},
{ "<leader>ca", "<cmd>CodeCompanionActions<cr>", desc = "CodeCompanion Actions", silent = true },
{ "<leader>ci", ":CodeCompanion<space>", mode = { "n", "v" }, desc = "CodeCompanion Inline" },
}, },
}, },
} }

View file

@ -16,6 +16,7 @@ return {
"typescript", "typescript",
"javascript", "javascript",
"tsx", "tsx",
"svelte",
"go", "go",
"elixir", "elixir",
"vue", "vue",

View file

@ -44,10 +44,10 @@
diffFilter = delta --color-only diffFilter = delta --color-only
[delta] [delta]
features = side-by-side line-numbers decorations navigate = true
whitespace-error-style = 22 reverse dark = true
side-by-side = true
line-numbers = true
[delta "decorations"] [merge]
commit-decoration-style = bold yellow box ul conflictstyle = zdiff3
file-style = bold yellow ul
file-decoration-style = none