60 lines
2 KiB
Lua
60 lines
2 KiB
Lua
local function gh(repo)
|
|
return "https://github.com/" .. repo
|
|
end
|
|
|
|
vim.api.nvim_create_autocmd("ModeChanged", {
|
|
once = true,
|
|
callback = function()
|
|
vim.pack.add({
|
|
gh("rafamadriz/friendly-snippets"),
|
|
{ src = gh("L3MON4D3/LuaSnip"), version = vim.version.range("2.x") },
|
|
{ src = gh("saghen/blink.cmp"), version = vim.version.range("1.x") },
|
|
gh("xzbdmw/colorful-menu.nvim"),
|
|
})
|
|
|
|
require("blink.cmp").setup({
|
|
keymap = { preset = "super-tab" },
|
|
appearance = {
|
|
nerd_font_variant = "mono",
|
|
},
|
|
completion = {
|
|
documentation = {
|
|
auto_show = false,
|
|
},
|
|
menu = {
|
|
draw = {
|
|
columns = { { "kind_icon" }, { "label", gap = 1 } },
|
|
components = {
|
|
label = {
|
|
text = function(ctx)
|
|
return require("colorful-menu").blink_components_text(ctx)
|
|
end,
|
|
highlight = function(ctx)
|
|
return require("colorful-menu").blink_components_highlight(ctx)
|
|
end,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
snippets = {
|
|
preset = "luasnip",
|
|
active = function() return false end,
|
|
},
|
|
sources = {
|
|
default = { "lsp", "path", "snippets", "buffer" },
|
|
},
|
|
fuzzy = { implementation = "prefer_rust_with_warning" },
|
|
})
|
|
require("colorful-menu").setup({})
|
|
end,
|
|
})
|
|
|
|
local ls = require("luasnip")
|
|
require("luasnip.loaders.from_vscode").lazy_load()
|
|
ls.filetype_extend("typescriptreact", { "html" })
|
|
ls.filetype_extend("javascriptreact", { "html" })
|
|
ls.config.set_config({
|
|
enable_autosnippets = false,
|
|
store_selection_keys = false,
|
|
})
|