dotfiles/.config/lvim/snips/rust.lua
2022-03-23 21:07:38 +11:00

63 lines
950 B
Lua

local ls = require "luasnip"
local i = ls.insert_node
local t = ls.text_node
local c = ls.choice_node
local fmt = require("luasnip.extras.fmt").fmt
return {
main = fmt(
[[
fn main() {{
}}
]],
{}
),
modtest = fmt(
[[
#[cfg(test)]
mod test {{
use super::*;
{}
}}
]],
i(0)
),
test = fmt(
[[
#[test]
fn {}(){}{{
{}
}}
]],
{
i(1, "testname"),
c(2, {
t "",
t " -> Result<()> ",
-- fmt(" -> {}<()> ", { i(nil, "Result") }),
}),
i(0),
}
),
eq = fmt("assert_eq!({}, {});{}", { i(1), i(2), i(0) }),
enum = {
t { "#[derive(Debug, PartialEq)]", "enum " },
i(1, "Name"),
t { " {", " " },
i(0),
t { "", "}" },
},
struct = {
t { "#[derive(Debug, PartialEq)]", "struct " },
i(1, "Name"),
t { " {", " " },
i(0),
t { "", "}" },
},
}