mirror of
https://github.com/LazyVim/LazyVim.git
synced 2025-06-22 08:53:33 +02:00
## Description Supermaven completion now works with the latest release of blink.cmp and blink.compat. I'll also take a look at the other ai extras soon. ~A draft for now, until some issues with ghost text are resolved, see https://github.com/Saghen/blink.cmp/issues/257. Alternatively, enabling the supermaven extra could disable ghost text.~ ## Screenshots  ## Checklist - [x] I've read the [CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md) guidelines.
90 lines
2 KiB
Lua
90 lines
2 KiB
Lua
return {
|
|
{
|
|
"supermaven-inc/supermaven-nvim",
|
|
opts = {
|
|
keymaps = {
|
|
accept_suggestion = nil, -- handled by nvim-cmp / blink.cmp
|
|
},
|
|
disable_inline_completion = vim.g.ai_cmp,
|
|
},
|
|
},
|
|
|
|
-- add ai_accept action
|
|
{
|
|
"supermaven-inc/supermaven-nvim",
|
|
opts = function()
|
|
require("supermaven-nvim.completion_preview").suggestion_group = "SupermavenSuggestion"
|
|
LazyVim.cmp.actions.ai_accept = function()
|
|
local suggestion = require("supermaven-nvim.completion_preview")
|
|
if suggestion.has_suggestion() then
|
|
LazyVim.create_undo()
|
|
vim.schedule(function()
|
|
suggestion.on_accept_suggestion()
|
|
end)
|
|
return true
|
|
end
|
|
end
|
|
end,
|
|
},
|
|
|
|
-- cmp integration
|
|
{
|
|
"hrsh7th/nvim-cmp",
|
|
optional = true,
|
|
dependencies = { "supermaven-nvim" },
|
|
opts = function(_, opts)
|
|
if vim.g.ai_cmp then
|
|
table.insert(opts.sources, 1, {
|
|
name = "supermaven",
|
|
group_index = 1,
|
|
priority = 100,
|
|
})
|
|
end
|
|
end,
|
|
},
|
|
|
|
-- blink.cmp integration
|
|
{
|
|
"saghen/blink.cmp",
|
|
optional = true,
|
|
---@module 'blink.cmp'
|
|
---@type blink.cmp.Config
|
|
opts = {
|
|
sources = {
|
|
compat = vim.g.ai_cmp and { "supermaven" } or nil,
|
|
},
|
|
},
|
|
dependencies = {
|
|
"supermaven-nvim",
|
|
vim.g.ai_cmp and "saghen/blink.compat" or nil,
|
|
},
|
|
},
|
|
|
|
{
|
|
"nvim-lualine/lualine.nvim",
|
|
optional = true,
|
|
event = "VeryLazy",
|
|
opts = function(_, opts)
|
|
table.insert(opts.sections.lualine_x, 2, LazyVim.lualine.cmp_source("supermaven"))
|
|
end,
|
|
},
|
|
|
|
{
|
|
"folke/noice.nvim",
|
|
optional = true,
|
|
opts = function(_, opts)
|
|
vim.list_extend(opts.routes, {
|
|
{
|
|
filter = {
|
|
event = "msg_show",
|
|
any = {
|
|
{ find = "Starting Supermaven" },
|
|
{ find = "Supermaven Free Tier" },
|
|
},
|
|
},
|
|
skip = true,
|
|
},
|
|
})
|
|
end,
|
|
},
|
|
}
|