From 7a3a5b16327f51788169db0aa6646e1fa7c88fbf Mon Sep 17 00:00:00 2001 From: Steve Beaulac Date: Mon, 27 Jul 2026 10:30:39 -0400 Subject: [PATCH] feat(nvim): add pi.nvim completion source to blink.cmp Integrate pi-agent as a blink.cmp completion source (score_offset=100) for LSP-style completions inside pi-chat-prompt buffers. Add the pi.nvim plugin with a toggle keymap and --approve mode. --- config/nvim/plugin/blink.lua | 12 ++++++++++-- config/nvim/plugin/pi.lua | 9 +++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 config/nvim/plugin/pi.lua diff --git a/config/nvim/plugin/blink.lua b/config/nvim/plugin/blink.lua index d6651fb..b08becc 100644 --- a/config/nvim/plugin/blink.lua +++ b/config/nvim/plugin/blink.lua @@ -54,11 +54,19 @@ require('blink.cmp').setup({ signature = { enabled = true }, sources = { per_filetype = { - org = {'orgmode'} + ["org"] = {'orgmode'}, + ["pi-chat-prompt"] = { "pi" }, }, - default = { 'orgmode', 'lsp', 'copilot', 'snippets', 'path', 'omni', 'buffer', 'codecompanion', 'markdown' }, + default = { 'orgmode', 'lsp', 'copilot', 'snippets', 'path', 'omni', 'buffer', 'codecompanion', 'pi', 'markdown' }, -- default = { 'orgmode', 'lsp', 'snippets', 'path', 'omni', 'buffer', 'codecompanion', 'markdown' }, + -- providers = { + pi = { + name = "Pi", + module = "pi.completion.blink", + enabled = true, + score_offset = 100, + }, codecompanion = { name = "CodeCompanion" , module = "codecompanion.providers.completion.blink", diff --git a/config/nvim/plugin/pi.lua b/config/nvim/plugin/pi.lua new file mode 100644 index 0000000..6354b20 --- /dev/null +++ b/config/nvim/plugin/pi.lua @@ -0,0 +1,9 @@ +vim.pack.add({ "https://github.com/alex35mil/pi.nvim" }) + +vim.keymap.set({'n'}, 'mp', 'Pi', { noremap = true, silent = true, desc = "Toggle Pi Agent" }) +require("pi").setup({ + cli = { + args = { "--approve" }, + }, +}) +