mirror of
https://github.com/LazyVim/LazyVim.git
synced 2026-07-25 14:01:06 +00:00
feat: added blink support
This commit is contained in:
parent
67745e00b0
commit
9a1a962e73
2 changed files with 108 additions and 49 deletions
108
lua/lazyvim/plugins/extras/ai/supermaven.lua
Normal file
108
lua/lazyvim/plugins/extras/ai/supermaven.lua
Normal file
|
|
@ -0,0 +1,108 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
"supermaven-inc/supermaven-nvim",
|
||||||
|
build = ":SupermavenUseFree",
|
||||||
|
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
|
||||||
|
--
|
||||||
|
-- FIXME: this currently doesn't work properly
|
||||||
|
-- {
|
||||||
|
-- "saghen/blink.cmp",
|
||||||
|
-- optional = true,
|
||||||
|
-- opts = {
|
||||||
|
-- sources = {
|
||||||
|
-- compat = vim.g.ai_cmp and { "supermaven" } or nil,
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
|
-- dependencies = {
|
||||||
|
-- "supermaven-nvim",
|
||||||
|
-- vim.g.ai_cmp and "saghen/blink.compat" or nil,
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
|
--
|
||||||
|
-- Disabble cmp integration for now
|
||||||
|
{
|
||||||
|
"saghen/blink.cmp",
|
||||||
|
optional = true,
|
||||||
|
opts = {
|
||||||
|
windows = { ghost_text = { enabled = false } },
|
||||||
|
},
|
||||||
|
dependencies = {
|
||||||
|
{
|
||||||
|
"supermaven-nvim",
|
||||||
|
opts = {
|
||||||
|
disable_inline_completion = false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"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,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
@ -1,49 +0,0 @@
|
||||||
return {
|
|
||||||
{
|
|
||||||
"supermaven-inc/supermaven-nvim",
|
|
||||||
opts = {
|
|
||||||
keymaps = {
|
|
||||||
accept_suggestion = "<C-y>",
|
|
||||||
clear_suggestion = "<C-]>",
|
|
||||||
accept_word = "<C-j>",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"hrsh7th/nvim-cmp",
|
|
||||||
optional = true,
|
|
||||||
opts = function(_, opts)
|
|
||||||
table.insert(opts.sources, 1, {
|
|
||||||
name = "supermaven",
|
|
||||||
group_index = 1,
|
|
||||||
priority = 100,
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"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,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
Loading…
Add table
Reference in a new issue