1
0
Fork 0
neovim-config/luasnippets/markdown.lua

87 lines
1.7 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, {}),
})
),
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),
})
),
snip(
{
trig = "gal",
namr = "zola_gallery",
dscr = "Zola gallery shortcode",
},
fmta("{{ gallery() }}\n\n<inner>\n{{ end() }}", {
inner = insert(1),
})
),
snip(
{
trig = "kbd",
namr = "zola_keyboard",
dscr = "Zola keyboard shortcode",
},
fmta("{{ kbd(key=\"<key>\") }}", {
key = insert(1),
})
),
snip(
{
trig = "ref",
namr = "zola_ptcg_ref",
dscr = "Zola PTCG reference shortcode",
},
fmta("{{ptcg_ref(id=\"<id>\")}}", {
id = insert(1),
})
),
snip(
{
trig = "card",
namr = "zola_ptcg_ref",
dscr = "Zola PTCG reference shortcode",
},
fmta("{{ ptcg_card(id=\"<id>\") }}\n", {
id = insert(1),
})
),
snip(
{
trig = "deck",
namr = "zola_ptcg_deck",
dscr = "Zola PTCG deck shortcode",
},
fmta("{{ ptcg_deck(name=\"<name>\") }}\n", {
name = insert(1),
})
),
},
})