local ls = require("luasnip") local fmt = require('luasnip.extras.fmt').fmt local s = ls.s local t = ls.text_node local f = ls.function_node -- local i = ls.insert_node local exec = function(command) return f(function(_, _, arg) local p = io.popen(arg, 'r') local res = {} for line in p:lines() do table.insert(res, line) end return res end, {}, { user_args = { command }}) end -- snipmate snippets require('luasnip.loaders.from_snipmate').load({ paths = {'~/.config/nvim/after/snippets'} }) -- luasnip snippets ls.add_snippets('all', { s( 'sign', t('Robert Günzler ') ), s( 'me', fmt( [[{} <{}>]], { exec('git config --get user.name'), exec('git config --get user.email'), } ) ), s( 'today', f(function() return os.date('%Y-%m-%d') end, {}) ), s( 'now', f(function() return os.date('%Y-%m-%dT%H:%M:%SZ') end, {}) ) })