mirror of
https://github.com/marianozunino/nvim.git
synced 2025-06-28 18:43:50 -03:00
59 lines
1.5 KiB
Lua
59 lines
1.5 KiB
Lua
local M = {
|
|
"L3MON4D3/LuaSnip",
|
|
version = "v2.*",
|
|
build = "make install_jsregexp",
|
|
dependencies = {
|
|
"rafamadriz/friendly-snippets",
|
|
},
|
|
}
|
|
|
|
M.config = function()
|
|
local ls = require("luasnip")
|
|
local s = ls.snippet
|
|
local t = ls.text_node
|
|
local i = ls.insert_node
|
|
|
|
ls.setup({
|
|
history = true, -- Allow jumping back into snippets
|
|
update_events = "TextChanged,TextChangedI", -- Update snippets as you type
|
|
|
|
-- Make sure LuaSnip works well with blink.cmp
|
|
region_check_events = "CursorMoved,CursorHold,InsertEnter",
|
|
delete_check_events = "TextChanged,InsertLeave",
|
|
})
|
|
|
|
-- Markdown code block snippets with multiple language support
|
|
local code_block_langs = {
|
|
bash = "bash",
|
|
go = "go",
|
|
python = "python",
|
|
javascript = "javascript",
|
|
typescript = "typescript",
|
|
rust = "rust",
|
|
lua = "lua",
|
|
cpp = "cpp",
|
|
json = "json",
|
|
html = "html",
|
|
css = "css",
|
|
}
|
|
|
|
local code_block_snippets = {}
|
|
for trigger, lang in pairs(code_block_langs) do
|
|
table.insert(
|
|
code_block_snippets,
|
|
s({ trig = "`" .. trigger, regTrig = false, snippetType = "autosnippet" }, {
|
|
t({ "", "```" .. lang }),
|
|
t({ "", "" }),
|
|
i(1, "# your " .. lang .. " code here"),
|
|
t({ "", "```" }),
|
|
})
|
|
)
|
|
end
|
|
|
|
ls.add_snippets("markdown", code_block_snippets)
|
|
|
|
require("luasnip.loaders.from_vscode").lazy_load()
|
|
require("luasnip.loaders.from_vscode").lazy_load({ paths = vim.fn.stdpath("config") .. "/lua/plugins/snippets/" })
|
|
end
|
|
|
|
return M
|