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

78 lines
1.5 KiB
Lua
Raw Normal View History

local ls = require("luasnip")
-- some shorthands...
local snip = ls.snippet
local insert = ls.insert_node
local func = ls.function_node
2023-04-18 22:39:23 -04:00
local fmt = require("luasnip.extras.fmt").fmt
2023-04-18 22:58:04 -04:00
local fmta = require("luasnip.extras.fmt").fmta
ls.add_snippets(nil, {
markdown = {
snip(
{
trig = "link",
namr = "markdown_link",
2023-04-14 19:38:59 -04:00
dscr = "Create markdown link [txt](url)",
},
2023-04-14 19:38:59 -04:00
fmt("[{txt}]({url})", {
txt = insert(1),
url = func(function(_, snippet)
return snippet.env.TM_SELECTED_TEXT[1] or {}
2023-04-14 19:38:59 -04:00
end, {}),
})
),
2023-04-18 22:58:04 -04:00
snip(
{
trig = "fig",
namr = "zola_figure",
dscr = "Zola figure shortcode",
},
fmta("{{ figure(src=\"img/<src>\",\nthumb=\"_small\",\ncaption=\"<caption>\",\nalt=\"<alt>\"\n) }}", {
2023-04-18 22:58:04 -04:00
src = insert(1),
caption = insert(2),
alt = insert(3),
2023-04-18 22:58:04 -04:00
})
),
snip(
{
trig = "gal",
namr = "zola_gallery",
dscr = "Zola gallery shortcode",
},
2023-12-30 23:33:28 -03:00
fmta("{{ gallery() }}\n\n<inner>\n{{ end() }}", {
inner = insert(1),
})
),
snip(
{
trig = "kbd",
namr = "zola_keyboard",
dscr = "Zola keyboard shortcode",
},
2023-12-30 23:33:28 -03:00
fmta("{{ kbd(key=\"<key>\") }}", {
key = insert(1),
})
),
2025-07-16 22:24:20 -04:00
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),
})
),
},
})