72 lines
1.3 KiB
Lua
72 lines
1.3 KiB
Lua
local ls = require("luasnip")
|
|
-- some shorthands...
|
|
local snip = ls.snippet
|
|
local insert = ls.insert_node
|
|
local func = ls.function_node
|
|
local fmt = require("luasnip.extras.fmt").fmt
|
|
local fmta = require("luasnip.extras.fmt").fmta
|
|
|
|
ls.add_snippets(nil, {
|
|
markdown = {
|
|
snip(
|
|
{
|
|
trig = "link",
|
|
namr = "markdown_link",
|
|
dscr = "Create markdown link [txt](url)",
|
|
},
|
|
fmt("[{txt}]({url})", {
|
|
txt = insert(1),
|
|
url = func(function(_, snippet)
|
|
return snippet.env.TM_SELECTED_TEXT[1] or {}
|
|
end, {}),
|
|
})
|
|
),
|
|
},
|
|
})
|
|
|
|
ls.add_snippets(nil, {
|
|
markdown = {
|
|
snip(
|
|
{
|
|
trig = "fig",
|
|
namr = "zola_figure",
|
|
dscr = "Zola figure shortcode",
|
|
},
|
|
fmta("{{ figure(src=\"img/<src>\",\nthumb=\"_small\",\ncaption=\"<caption>\",\nalt=\"<alt>\"\n) }}", {
|
|
src = insert(1),
|
|
caption = insert(2),
|
|
alt = insert(3),
|
|
})
|
|
),
|
|
},
|
|
})
|
|
|
|
ls.add_snippets(nil, {
|
|
markdown = {
|
|
snip(
|
|
{
|
|
trig = "gal",
|
|
namr = "zola_gallery",
|
|
dscr = "Zola gallery shortcode",
|
|
},
|
|
fmta("{{ gallery() }}\n\n<inner>\n{{ end() }}", {
|
|
inner = insert(1),
|
|
})
|
|
),
|
|
},
|
|
})
|
|
|
|
ls.add_snippets(nil, {
|
|
markdown = {
|
|
snip(
|
|
{
|
|
trig = "kbd",
|
|
namr = "zola_keyboard",
|
|
dscr = "Zola keyboard shortcode",
|
|
},
|
|
fmta("{{ kbd(key=\"<key>\") }}", {
|
|
key = insert(1),
|
|
})
|
|
),
|
|
},
|
|
})
|