local get_visual = function(args, parent) if #parent.snippet.env.SELECT_RAW > 0 then return sn(nil, i(1, parent.snippet.env.SELECT_RAW)) else return sn(nil, i(1)) end end local line_begin = require("luasnip.extras.expand_conditions").line_begin return { -- HEADER s( { trig = "h([123456])", regTrig = true, wordTrig = false, snippetType = "autosnippet", }, fmt( [[ {} ]], { f(function(_, snip) return snip.captures[1] end), d(1, get_visual), f(function(_, snip) return snip.captures[1] end), } ), { condition = line_begin } ), -- PARAGRAPH s( { trig = "pp", snippetType = "autosnippet" }, fmt( [[

{}

]], { d(1, get_visual) } ), { condition = line_begin } ), -- UNORDERED LIST s( { trig = "itt", snippetType = "autosnippet" }, fmt( [[ ]], { i(1), i(0) } ), { condition = line_begin } ), -- LIST ITEM s( { trig = "ii", snippetType = "autosnippet" }, fmt( [[
  • {}
  • ]], { d(1, get_visual) } ), { condition = line_begin } ), -- DOCUMENT TEMPLATE s( { trig = "base" }, fmt( [[ {} {} ]], { i(1, "FooBar"), i(0) } ), { condition = line_begin } ), -- ANCHOR TAG s( { trig = "([^%l])aa", regTrig = true, wordTrig = false, snippetType = "autosnippet", }, fmt( [[ {}{} ]], { f(function(_, snip) return snip.captures[1] end), i(1), d(2, get_visual), } ) ), }