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/\",\nthumb=\"_small\",\ncaption=\"\",\nalt=\"\"\n) }}", { src = insert(1), caption = insert(2), alt = insert(3), }) ), snip( { trig = "gal", namr = "zola_gallery", dscr = "Zola gallery shortcode", }, fmta("{{ gallery() }}\n\n\n{{ end() }}", { inner = insert(1), }) ), snip( { trig = "kbd", namr = "zola_keyboard", dscr = "Zola keyboard shortcode", }, fmta("{{ kbd(key=\"\") }}", { key = insert(1), }) ), snip( { trig = "ref", namr = "zola_ptcg_ref", dscr = "Zola PTCG reference shortcode", }, fmta("{{ptcg_ref(id=\"\")}}", { id = insert(1), }) ), snip( { trig = "card", namr = "zola_ptcg_ref", dscr = "Zola PTCG reference shortcode", }, fmta("{{ ptcg_card(id=\"\") }}\n", { id = insert(1), }) ), }, })