You've already forked dotfiles
37 lines
1.0 KiB
Lua
37 lines
1.0 KiB
Lua
local ls = require('luasnip')
|
|
local s = ls.snippet
|
|
-- local sn = ls.snippet_node
|
|
local i = ls.insert_node
|
|
local t = ls.text_node
|
|
-- local l = require('luasnip.extras').lambda
|
|
local fmt = require('luasnip.extras.fmt').fmt
|
|
-- local ts_post = require('luasnip.extras.treesitter_postfix').treesitter_postfix
|
|
|
|
ls.add_snippets('python', {
|
|
s('docstring single', {
|
|
t("''' "), i(0, 'text'), t(" '''")
|
|
}),
|
|
s('def', fmt([[
|
|
def {func}({args}) -> {ret}:
|
|
''' {doc} '''
|
|
{body}
|
|
]], {
|
|
func = i(1, 'fname'),
|
|
args = i(2),
|
|
ret = i(3, 'None'),
|
|
doc = i(4, 'docstring'),
|
|
body = i(5, 'pass'),
|
|
}, {
|
|
})),
|
|
s('ternary', {
|
|
i(1, 'then'), t(' if '), i(2, 'condition'), t(' else '), i(3, 'else')
|
|
}),
|
|
s('tuple ternary', fmt([[
|
|
({if_true}, {if_false})[{condition}]
|
|
]], {
|
|
if_true = i(1, 'if_true'),
|
|
if_false = i(2, 'if_false'),
|
|
condition = i(3, 'condition'),
|
|
})),
|
|
})
|