local ls = require("luasnip") local s = ls.snippet local sn = ls.snippet_node local isn = ls.indent_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 events = require("luasnip.util.events") local ai = require("luasnip.nodes.absolute_indexer") local extras = require("luasnip.extras") local l = extras.lambda local rep = extras.rep local p = extras.partial local m = extras.match local n = extras.nonempty local dl = extras.dynamic_lambda local fmt = require("luasnip.extras.fmt").fmt local fmta = require("luasnip.extras.fmt").fmta local conds = require("luasnip.extras.expand_conditions") local postfix = require("luasnip.extras.postfix").postfix local types = require("luasnip.util.types") local parse = require("luasnip.util.parser").parse_snippet local ms = ls.multi_snippet local k = require("luasnip.nodes.key_indexer").new_key vim.keymap.set( { "i", }, "", ls.expand, {silent= true}) vim.keymap.set( { "i", "s" }, "", function() if ls.expand_or_jumpable() then ls.expand_or_jump(1) end end, {silent=true}) vim.keymap.set( { "i", "s" }, "", function() ls.jump(-1) end, {silent=true}) vim.keymap.set( { "i", "s" }, "", function() if ls.choice_active() then ls.change_choice(1) end end, {silent=true}) ls.add_snippets( "go", { s("echo", { t("fmt.Println("), i(1), t(")"), i(2) }), s("echof", { t("fmt.Printf(\"%v\\n\", "), i(1), t(")"), i(2) }), s("log", { t("fmt.Println("), i(1), t(")"), i(2) }), s("logf", { t("fmt.Printf(\"%v\\n\", "), i(1), t(")"), i(2) }), })