feat: fennelize blink.cmp

This commit is contained in:
Youwen Wu 2025-02-01 14:25:16 -08:00
parent 06e3caa65e
commit c30b76d62d
Signed by: youwen5
GPG key ID: 865658ED1FE61EC3
2 changed files with 72 additions and 82 deletions

62
fnl/plugins/blink-cmp.fnl Normal file
View file

@ -0,0 +1,62 @@
{1 :blink.cmp
:after (fn []
((. (require :lz.n) :trigger_load) :blink-ripgrep)
((. (require :lz.n) :trigger_load) :blink.compat)
((. (require :blink.cmp) :setup) {:appearance {:nerd_font_variant :normal
:use_nvim_cmp_as_default true}
:completion {:documentation {:auto_show true
:auto_show_delay_ms 500
:treesitter_highlighting true
:update_delay_ms 50
:window {:border :rounded}}
:menu {:border :rounded
:draw {:columns [[:kind_icon
:kind]
{1 :label
2 :label_description
:gap 2}]
:treesitter [:lsp]}}}
:fuzzy {:prebuilt_binaries {:download false}}
:keymap {:<C-g> [(fn []
((. (require :blink-cmp)
:show) {:providers [:ripgrep]}))]
:<C-j> [:snippet_backward
:fallback]
:<C-k> [:snippet_forward
:fallback]
:<S-Tab> {}
:<Tab> {}
:preset :default}
:signature {:enabled true
:window {:border :rounded}}
:sources {:default [:lsp
:path
:snippets
:buffer]
:per_filetype {:lua [:lazydev
:lsp
:path
:snippets
:buffer]
:markdown [:lsp
:snippets
:obsidian
:obsidian_new
:obsidian_tags
:path
:buffer
:markdown]}
:providers {:lazydev {:module :lazydev.integrations.blink
:name :LazyDev
:score_offset 100}
:markdown {:module :render-markdown.integ.blink
:name :RenderMarkdown}
:obsidian {:module :blink.compat.source
:name :obsidian}
:obsidian_new {:module :blink.compat.source
:name :obsidian_new}
:obsidian_tags {:module :blink.compat.source
:name :obsidian_tags}
:ripgrep {:module :blink-ripgrep
:name :Ripgrep}}}}))
:event :BufEnter}

View file

@ -1,82 +1,10 @@
return {
"blink.cmp",
event = "BufEnter",
after = function()
require("lz.n").trigger_load("blink-ripgrep")
require("lz.n").trigger_load("blink.compat")
require("blink.cmp").setup({
keymap = {
preset = "default",
["<Tab>"] = {},
["<S-Tab>"] = {},
["<C-g>"] = {
function()
require("blink-cmp").show({ providers = { "ripgrep" } })
end,
},
["<C-k>"] = { "snippet_forward", "fallback" },
["<C-j>"] = { "snippet_backward", "fallback" },
},
appearance = {
use_nvim_cmp_as_default = true,
nerd_font_variant = "normal",
},
sources = {
default = { "lsp", "path", "snippets", "buffer" },
per_filetype = {
lua = { "lazydev", "lsp", "path", "snippets", "buffer" },
markdown = { "lsp", "snippets", "obsidian", "obsidian_new", "obsidian_tags", "path", "buffer", "markdown" },
},
providers = {
ripgrep = {
module = "blink-ripgrep",
name = "Ripgrep",
},
lazydev = {
name = "LazyDev",
module = "lazydev.integrations.blink",
score_offset = 100,
},
markdown = { name = "RenderMarkdown", module = "render-markdown.integ.blink" },
obsidian = {
name = "obsidian",
module = "blink.compat.source",
},
obsidian_new = {
name = "obsidian_new",
module = "blink.compat.source",
},
obsidian_tags = {
name = "obsidian_tags",
module = "blink.compat.source",
},
},
},
completion = {
menu = {
border = "rounded",
draw = {
columns = {
{ "kind_icon", "kind" },
{ "label", "label_description", gap = 2 },
},
treesitter = { "lsp" },
},
},
documentation = {
auto_show = true,
auto_show_delay_ms = 500,
update_delay_ms = 50,
treesitter_highlighting = true,
window = { border = "rounded" },
},
},
signature = {
window = { border = "rounded" },
enabled = true,
},
fuzzy = { prebuilt_binaries = { download = false } },
})
end,
}
-- [nfnl] Compiled from ./fnl/plugins/blink-cmp.fnl by https://github.com/Olical/nfnl, do not edit.
local function _1_()
require("lz.n").trigger_load("blink-ripgrep")
require("lz.n").trigger_load("blink.compat")
local function _2_()
return require("blink-cmp").show({providers = {"ripgrep"}})
end
return require("blink.cmp").setup({appearance = {nerd_font_variant = "normal", use_nvim_cmp_as_default = true}, completion = {documentation = {auto_show = true, auto_show_delay_ms = 500, treesitter_highlighting = true, update_delay_ms = 50, window = {border = "rounded"}}, menu = {border = "rounded", draw = {columns = {{"kind_icon", "kind"}, {"label", "label_description", gap = 2}}, treesitter = {"lsp"}}}}, fuzzy = {prebuilt_binaries = {download = false}}, keymap = {["<C-g>"] = {_2_}, ["<C-j>"] = {"snippet_backward", "fallback"}, ["<C-k>"] = {"snippet_forward", "fallback"}, ["<S-Tab>"] = {}, ["<Tab>"] = {}, preset = "default"}, signature = {enabled = true, window = {border = "rounded"}}, sources = {default = {"lsp", "path", "snippets", "buffer"}, per_filetype = {lua = {"lazydev", "lsp", "path", "snippets", "buffer"}, markdown = {"lsp", "snippets", "obsidian", "obsidian_new", "obsidian_tags", "path", "buffer", "markdown"}}, providers = {lazydev = {module = "lazydev.integrations.blink", name = "LazyDev", score_offset = 100}, markdown = {module = "render-markdown.integ.blink", name = "RenderMarkdown"}, obsidian = {module = "blink.compat.source", name = "obsidian"}, obsidian_new = {module = "blink.compat.source", name = "obsidian_new"}, obsidian_tags = {module = "blink.compat.source", name = "obsidian_tags"}, ripgrep = {module = "blink-ripgrep", name = "Ripgrep"}}}})
end
return {"blink.cmp", after = _1_, event = "BufEnter"}