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'), })), })