Compare commits

..

No commits in common. "2617face3b1be40534d2cae7f0a374a062b3710d" and "2411fea601505d4a55ae29b385367db9ae978961" have entirely different histories.

5 changed files with 44 additions and 57 deletions

1
.gitignore vendored
View file

@ -2,4 +2,3 @@
.direnv .direnv
*.R *.R
.Rlibs .Rlibs
.nvimcom

24
flake.lock generated
View file

@ -7,11 +7,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1776413584, "lastModified": 1771462351,
"narHash": "sha256-xqqv46MTveuT4yJH2YihmbHGy5mdLnnLFDebVmUws/E=", "narHash": "sha256-N3mUOwFwGBaFomNdlWuCRftzqy+h9Io8PJGcMVtJJsY=",
"owner": "dwinkler1", "owner": "dwinkler1",
"repo": "fran", "repo": "fran",
"rev": "da09626e4dd8f0f57078b3a04e0443a8c20defa1", "rev": "7b8fbbcd0c55df98795a9e34621e6224b6713b5b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -22,11 +22,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1776169885, "lastModified": 1775710090,
"narHash": "sha256-l/iNYDZ4bGOAFQY2q8y5OAfBBtrDAaPuRQqWaFHVRXM=", "narHash": "sha256-ar3rofg+awPB8QXDaFJhJ2jJhu+KqN/PRCXeyuXR76E=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "4bd9165a9165d7b5e33ae57f3eecbcb28fb231c9", "rev": "4c1018dae018162ec878d42fec712642d214fdfa",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -55,11 +55,11 @@
"plugins-r": { "plugins-r": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1776340770, "lastModified": 1775681967,
"narHash": "sha256-o/8UZIc/Bq9dWTjA+MpSR5uMUpE7KHTErk+TwWID8Ww=", "narHash": "sha256-Fqw9UzLvfADkQJCzdHNSBTNtSgp0DRu3HoD4Np3yEsc=",
"owner": "R-nvim", "owner": "R-nvim",
"repo": "R.nvim", "repo": "R.nvim",
"rev": "b9cfffeb9b4e484aa9e13f01c0eb80230aada455", "rev": "345d82515947a4766ddb7b1de6a26d12c1f19bc1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -101,11 +101,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1776375800, "lastModified": 1776047825,
"narHash": "sha256-/SSAR77Brr9fbapsh1cb2K47JXCbvwS1GjM4yyDxle8=", "narHash": "sha256-BOa9WLkJFlp+2cmWrwoTpC5a0ibmKU5y1hgQpR9jDdg=",
"owner": "BirdeeHub", "owner": "BirdeeHub",
"repo": "nix-wrapper-modules", "repo": "nix-wrapper-modules",
"rev": "f11469ca69068bac13d9e163b2bd268cc06dff57", "rev": "5e5ac5ff7e6858eed67cfeae9d93bd1049eb005d",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -66,9 +66,8 @@ if vim.fn.has('nvim-0.11') == 1 then
vim.o.winborder = 'rounded' -- Use double-line as default border vim.o.winborder = 'rounded' -- Use double-line as default border
end end
if vim.fn.has('nvim-0.12') == 1 then if vim.fn.has('nvim-0.12') == 1 then
vim.o.pummaxwidth = 100 -- Limit maximum width of popup menu vim.o.pummaxwidth = 100 -- Limit maximum width of popup menu
-- vim.o.completefuzzycollect = 'keyword,files,whole_line' -- Use fuzzy matching when collecting candidates vim.o.completefuzzycollect = 'keyword,files,whole_line' -- Use fuzzy matching when collecting candidates
vim.opt.completeopt = { "menu", "popup", "fuzzy", "longest" }
end end
vim.o.complete = '.,w,b,kspell' -- Use spell check and don't use tags for completion vim.o.complete = '.,w,b,kspell' -- Use spell check and don't use tags for completion

View file

@ -67,18 +67,18 @@ nmap_leader('<S-Tab>', '<Cmd>bprev<CR>', 'Prev buffer')
-- a is for 'AI' -- a is for 'AI'
nmap_leader("ac", "<cmd>CodeCompanionChat Toggle<CR>", "Chat Toggle") nmap_leader("ac", "<cmd>CodeCompanionChat Toggle<CR>", "Chat Toggle")
-- nmap_leader("ae", "<cmd>CodeCompanion /explain<CR>", "Explain Code") nmap_leader("ae", "<cmd>CodeCompanion /explain<CR>", "Explain Code")
-- nmap_leader("af", "<cmd>CodeCompanion /fix<CR>", "Fix Code") nmap_leader("af", "<cmd>CodeCompanion /fix<CR>", "Fix Code")
nmap_leader("ag", "<cmd>CodeCompanion /commit<CR>", "Generate commit message") nmap_leader("ag", "<cmd>CodeCompanion /commit<CR>", "Generate commit message")
nmap_leader("ai", "<cmd>CodeCompanionActions<CR>", "Chat Action") nmap_leader("ai", "<cmd>CodeCompanionActions<CR>", "Chat Action")
nmap_leader("al", "<cmd>CodeCompanion /lsp<CR>", "Explain LSP Diagnostics") nmap_leader("al", "<cmd>CodeCompanion /lsp<CR>", "Explain LSP Diagnostics")
nmap_leader("an", "<cmd>CodeCompanionChat Add<CR>", "Chat New") nmap_leader("an", "<cmd>CodeCompanionChat Add<CR>", "Chat New")
nmap_leader("as", "<cmd>CodeCompanion /suggest<CR>", "Suggest Improvements") nmap_leader("as", "<cmd>CodeCompanion /suggest<CR>", "Suggest Improvements")
--nmap_leader("ax", "<cmd>CodeCompanion /fixer<CR>", "Code Fixer") nmap_leader("ax", "<cmd>CodeCompanion /fixer<CR>", "Code Fixer")
nmap_leader("ax", "<cmd>CodeCompanion /fixer<CR>", "Code Fixer") nmap_leader("ax", "<cmd>CodeCompanion /fixer<CR>", "Code Fixer")
xmap_leader("ae", "<cmd>CodeCompanion /explain<CR>", "Explain Code") xmap_leader("ae", "<cmd>CodeCompanion /explain<CR>", "Explain Code")
xmap_leader("af", "<cmd>CodeCompanion /fix<CR>", "Fix Code") xmap_leader("af", "<cmd>CodeCompanion /fix<CR>", "Fix Code")
--xmap_leader("ap", "<cmd>CodeCompanion /expert<CR>", "Code Fixer") xmap_leader("ap", "<cmd>CodeCompanion /expert<CR>", "Code Fixer")
xmap_leader("ap", "<cmd>CodeCompanion /expert<CR>", "Code Fixer") xmap_leader("ap", "<cmd>CodeCompanion /expert<CR>", "Code Fixer")
xmap_leader("as", "<cmd>CodeCompanion /suggest<CR>", "Suggest Improvements") xmap_leader("as", "<cmd>CodeCompanion /suggest<CR>", "Suggest Improvements")

View file

@ -1,6 +1,5 @@
local add = Config.add local add = Config.add
local later = MiniDeps.later local later = MiniDeps.later
local now = MiniDeps.now
local now_if_args = Config.now_if_args local now_if_args = Config.now_if_args
-- Constants -- Constants
@ -84,33 +83,16 @@ end
local function get_codecompanion_config() local function get_codecompanion_config()
return { return {
interactions = { adapters = {
chat = { http = {
adapter = { copilot = function()
name = "copilot", return require("codecompanion.adapters").extend("copilot", {
model = "gemini-3.1-pro-preview", schema = {
}, model = { default = "gemini-3-pro-preview" }
opts = { }
completion_provider = "blink", })
}, end,
}, }
inline = {
adapter = {
name = "copilot",
model = "gemini-3.1-pro-preview",
}
},
keymaps = {
accept_change = {
modes = { n = "ga" },
description = "Accept the suggested change",
},
reject_change = {
modes = { n = "gr" },
opts = { nowait = true },
description = "Reject the suggested change",
},
},
}, },
display = { display = {
chat = { chat = {
@ -123,10 +105,10 @@ local function get_codecompanion_config()
}, },
}, },
prompt_library = { prompt_library = {
["expert"] = { ["Code Expert"] = {
interaction = "chat", strategy = "chat",
description = "Get expert advice from an LLM", description = "Get expert advice from an LLM",
--opts = create_common_opts("<localleader>ae", "expert"), opts = create_common_opts("<localleader>ae", "expert"),
prompts = { prompts = {
{ {
role = "system", role = "system",
@ -143,10 +125,10 @@ local function get_codecompanion_config()
}, },
}, },
}, },
["fixer"] = { ["Code Fixer"] = {
interaction = "chat", strategy = "chat",
description = "Fix code errors with expert guidance", description = "Fix code errors with expert guidance",
--opts = create_common_opts("<localleader>af", "afixer"), opts = create_common_opts("<localleader>af", "afixer"),
prompts = { prompts = {
{ {
role = "system", role = "system",
@ -163,10 +145,17 @@ local function get_codecompanion_config()
}, },
}, },
}, },
["suggest"] = { ["Suggest"] = {
interaction = "chat", strategy = "chat",
description = "Suggest improvements to the buffer", description = "Suggest improvements to the buffer",
--opts = create_common_opts("<localleader>as", "suggest"), opts = {
mapping = "<localleader>as",
modes = { "v" },
short_name = "suggest",
auto_submit = true,
user_prompt = false,
stop_context_insertion = false,
},
prompts = { prompts = {
{ {
role = "system", role = "system",