1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
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 <r@gnzler.io>')
),
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, {})
)
})
|