local ls = require("luasnip") -- some shorthands... local s = ls.snippet local sn = ls.snippet_node local t = ls.text_node local i = ls.insert_node local f = ls.function_node local c = ls.choice_node local d = ls.dynamic_node local r = ls.restore_node local l = require("luasnip.extras").lambda local rep = require("luasnip.extras").rep local p = require("luasnip.extras").partial local m = require("luasnip.extras").match local n = require("luasnip.extras").nonempty local dl = require("luasnip.extras").dynamic_lambda local fmt = require("luasnip.extras.fmt").fmt local fmta = require("luasnip.extras.fmt").fmta local types = require("luasnip.util.types") local conds = require("luasnip.extras.conditions") local conds_expand = require("luasnip.extras.conditions.expand") return { s( "launch", fmt( [[ {{ "name": "Launch {1}", "type": "go", "request": "launch", "program": "${{workspaceFolder}}/cmd/{2}", "args": [{3}], "outputMode": "remote" }}{4}]], { i(1), rep(1), i(2), i(0), } ) ), }