require("luasnip.session.snippet_collection").clear_snippets "markdown" local ls = require "luasnip" local s = ls.snippet local t = ls.text_node local c = ls.choice_node local i = ls.insert_node local f = ls.function_node local fmt = require("luasnip.extras.fmt").fmt ls.add_snippets( "markdown", { s("link", { t("["), i(1, "description"), t("]("), f(function() local clip = vim.fn.getreg("+") if clip == "" then return "url" end return clip end), t(")"), i(0), }), s({ trig = "ics", dscr = "Insert code snippet" }, fmt( [[ ```{} {} ``` ]], { c(1, { t "python", t "bash", t "swift", t "c" }), i(2), } ) ) } )