--- /dev/null
+return {
+ {
+ "saghen/blink.cmp",
+ version = "*",
+ -- build = "cargo build --release",
+ dependencies = {
+ "rafamadriz/friendly-snippets",
+ },
+ -- NOTE: not described in upstream install docs
+ event = "InsertEnter",
+
+ ---@module 'blink.cmp'
+ ---@type blink.cmp.Config
+ opts = {
+ completion = {
+ menu = { draw = { treesitter = { "lsp" }, }, },
+ documentation = {
+ auto_show = true,
+ auto_show_delay_ms = 200,
+ },
+ ghost_text = {
+ enabled = true,
+ },
+ },
+
+ cmdline = {
+ enabled = false,
+ },
+ sources = {
+ default = { "lsp", "path", "snippets", "buffer" },
+ },
+
+ keymap = {
+ preset = "enter",
+ ["<C-y>"] = { "select_and_accept" },
+ },
+ },
+ opts_extend = { "sources.default", },
+ },
+
+ -- add icons
+ {
+ "saghen/blink.cmp",
+ opts = function(_, opts)
+ opts.appearance = opts.appearance or {}
+ opts.appearance.kind_icons = vim.tbl_extend("force", opts.appearance.kind_icons or {}, LazyVim.config.icons.kinds)
+ end,
+ },
+
+ -- lazydev
+ {
+ "saghen/blink.cmp",
+ opts = {
+ sources = {
+ -- add lazydev to your completion providers
+ default = { "lazydev" },
+ providers = {
+ lazydev = {
+ name = "LazyDev",
+ module = "lazydev.integrations.blink",
+ score_offset = 100, -- show at a higher priority than lsp
+ },
+ },
+ },
+ },
+ },
+ -- catppuccin support
+ {
+ "catppuccin",
+ optional = true,
+ opts = {
+ integrations = { blink_cmp = true },
+ },
+ },
+}
+