]> git.rmz.io Git - dotfiles.git/blob - nvim/lua/plugins/blink.lua
lazyvim: absorb icons into rmz.util.ui
[dotfiles.git] / nvim / lua / plugins / blink.lua
1 return {
2 {
3 "saghen/blink.cmp",
4 version = "*",
5 -- build = "cargo build --release",
6 dependencies = {
7 "rafamadriz/friendly-snippets",
8 },
9 -- NOTE: not described in upstream install docs
10 event = "InsertEnter",
11
12 ---@module 'blink.cmp'
13 ---@type blink.cmp.Config
14 opts = {
15 completion = {
16 menu = { draw = { treesitter = { "lsp" }, }, },
17 documentation = {
18 auto_show = true,
19 auto_show_delay_ms = 200,
20 },
21 ghost_text = {
22 enabled = true,
23 },
24 },
25
26 cmdline = {
27 enabled = false,
28 },
29 sources = {
30 default = { "lsp", "path", "snippets", "buffer" },
31 },
32
33 keymap = {
34 preset = "enter",
35 ["<C-y>"] = { "select_and_accept" },
36 },
37 },
38 opts_extend = { "sources.default", },
39 },
40
41 -- add icons
42 {
43 "saghen/blink.cmp",
44 opts = function(_, opts)
45 opts.appearance = opts.appearance or {}
46 opts.appearance.kind_icons = vim.tbl_extend("force", opts.appearance.kind_icons or {}, rmz.ui.icons.kinds)
47 end,
48 },
49
50 -- lazydev
51 {
52 "saghen/blink.cmp",
53 opts = {
54 sources = {
55 -- add lazydev to your completion providers
56 default = { "lazydev" },
57 providers = {
58 lazydev = {
59 name = "LazyDev",
60 module = "lazydev.integrations.blink",
61 score_offset = 100, -- show at a higher priority than lsp
62 },
63 },
64 },
65 },
66 },
67 -- catppuccin support
68 {
69 "catppuccin",
70 optional = true,
71 opts = {
72 integrations = { blink_cmp = true },
73 },
74 },
75 }
76