alkaa/roles/nvim/files/lua/snippets/rust.lua

67 lines
1.4 KiB
Lua

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