From 909ed931cb0bc9cfbc6fbd6fc1f0a4b914b281ba Mon Sep 17 00:00:00 2001 From: Stefan Boca Date: Mon, 2 Dec 2024 15:08:28 -0800 Subject: [PATCH] feat(extras.tabnine): tabnine blink.cmp integration --- lua/lazyvim/plugins/extras/ai/tabnine.lua | 61 ++++++++++++++++------- 1 file changed, 44 insertions(+), 17 deletions(-) diff --git a/lua/lazyvim/plugins/extras/ai/tabnine.lua b/lua/lazyvim/plugins/extras/ai/tabnine.lua index b75db9ec..e1486453 100644 --- a/lua/lazyvim/plugins/extras/ai/tabnine.lua +++ b/lua/lazyvim/plugins/extras/ai/tabnine.lua @@ -1,25 +1,22 @@ return { -- Tabnine cmp source + { + "tzachar/cmp-tabnine", + build = LazyVim.is_win() and "pwsh -noni .\\install.ps1" or "./install.sh", + opts = { + max_lines = 1000, + max_num_results = 3, + sort = true, + }, + config = function(_, opts) + require("cmp_tabnine.config"):setup(opts) + end, + }, + { "nvim-cmp", optional = true, - dependencies = { - { - "tzachar/cmp-tabnine", - build = { - LazyVim.is_win() and "pwsh -noni .\\install.ps1" or "./install.sh", - }, - dependencies = "hrsh7th/nvim-cmp", - opts = { - max_lines = 1000, - max_num_results = 3, - sort = true, - }, - config = function(_, opts) - require("cmp_tabnine.config"):setup(opts) - end, - }, - }, + dependencies = { "tzachar/cmp-tabnine" }, ---@param opts cmp.ConfigSchema opts = function(_, opts) table.insert(opts.sources, 1, { @@ -36,6 +33,36 @@ return { end) end, }, + + { + "saghen/blink.cmp", + optional = true, + dependencies = { "tzachar/cmp-tabnine", "saghen/blink.compat" }, + opts = { + sources = { + compat = { "cmp_tabnine" }, + }, + completion = { + menu = { + draw = { + components = { + kind = { + text = function(ctx) + return ctx.source_name == "cmp_tabnine" and "TabNine" or ctx.kind + end, + highlight = function(ctx) + return ctx.source_name == "cmp_tabnine" and "BlinkCmpKindTabNine" + or require("blink.cmp.completion.windows.render.tailwind").get_hl(ctx) + or ("BlinkCmpKind" .. ctx.kind) + end, + }, + }, + }, + }, + }, + }, + }, + -- Show TabNine status in lualine { "nvim-lualine/lualine.nvim",