local ls = require("luasnip") local s = ls.snippet local sn = ls.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 l = require("luasnip.extras").lambda local r = require("luasnip.extras").rep local p = require("luasnip.extras").partial local m = require("luasnip.extras").match local n = require("luasnip.extras").nonempty local dl = require("luasnip.extras").dynamic_lambda local types = require("luasnip.util.types") return { s('derivedebug', t '#[derive(Debug)]'), s(':turbofish', { t { '::<' }, i(0), t { '>' } }), s('print', { -- t {'println!("'}, i(1), t {' {:?}", '}, i(0), t {');'}}), t { 'println!("' }, i(1), t { ' {' }, i(0), t { ':?}");' } }), s('for', { t { 'for ' }, i(1), t { ' in ' }, i(2), t { ' {', '' }, i(0), t { '}', '' }, }), s('struct', { t { '#[derive(Debug)]', '' }, t { 'struct ' }, i(1), t { ' {', '' }, i(0), t { '}', '' }, }), s('test', { t { '#[test]', '' }, t { 'fn ' }, i(1), t { '() {', '' }, t { ' assert' }, i(0), t { '', '' }, t { '}' }, }), s('testcfg', { t { '#[cfg(test)]', '' }, t { 'mod ' }, i(1), t { ' {', '' }, t { ' #[test]', '' }, t { ' fn ' }, i(2), t { '() {', '' }, t { ' assert' }, i(0), t { '', '' }, t { ' }', '' }, t { '}' }, }), s('if', { t { 'if ' }, i(1), t { ' {', '' }, i(0), t { '}' }, }), }