feat: nvim snippets for rust
This commit is contained in:
parent
339df0770b
commit
fd1592e035
66
roles/nvim/files/lua/snippets/rust.lua
Normal file
66
roles/nvim/files/lua/snippets/rust.lua
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
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 { '}' },
|
||||||
|
}),
|
||||||
|
}
|
@ -27,28 +27,28 @@ rec_ls = function()
|
|||||||
end
|
end
|
||||||
|
|
||||||
return {
|
return {
|
||||||
s({trig = "ul", dscr = "Itemize with endless items"}, {
|
s({ trig = "ul", dscr = "Itemize with endless items" }, {
|
||||||
t({ "\\begin{itemize}", "\t\\item " }),
|
t({ "\\begin{itemize}", "\t\\item " }),
|
||||||
i(1),
|
i(1),
|
||||||
d(2, rec_ls, {}),
|
d(2, rec_ls, {}),
|
||||||
t({ "", "\\end{itemize}" }),
|
t({ "", "\\end{itemize}" }),
|
||||||
}),
|
}),
|
||||||
s({trig = "ol", dscr = "Enumerate with endless items"}, {
|
s({ trig = "ol", dscr = "Enumerate with endless items" }, {
|
||||||
t({ "\\begin{enumerate}", "\t\\item " }),
|
t({ "\\begin{enumerate}", "\t\\item " }),
|
||||||
i(1),
|
i(1),
|
||||||
d(2, rec_ls, {}),
|
d(2, rec_ls, {}),
|
||||||
t({ "", "\\end{enumerate}" }),
|
t({ "", "\\end{enumerate}" }),
|
||||||
}),
|
}),
|
||||||
s({trig = "sec", dscr = "Section" }, {
|
s({ trig = "sec", dscr = "Section" }, {
|
||||||
c(1, {
|
c(1, {
|
||||||
t '\\section{',
|
t '\\section{',
|
||||||
t '\\subsection{',
|
t '\\subsection{',
|
||||||
t '\\subsubsection{'
|
t '\\subsubsection{'
|
||||||
}), i(2), t '}', i(0)
|
}), i(2), t '}', i(0)
|
||||||
}),
|
}),
|
||||||
s({trig = "bf", dscr = "textbf"}, { t({"\\textbf{"}), i(1), t({"}"}), i(0) }),
|
s({ trig = "bf", dscr = "textbf" }, { t({ "\\textbf{" }), i(1), t({ "}" }), i(0) }),
|
||||||
s({trig = "it", dscr = "textit"}, { t({"\\textit{"}), i(1), t({"}"}), i(0) }),
|
s({ trig = "it", dscr = "textit" }, { t({ "\\textit{" }), i(1), t({ "}" }), i(0) }),
|
||||||
s({trig = "rm", dscr = "textrm"}, { t({"\\textrm{"}), i(1), t({"}"}), i(0) }),
|
s({ trig = "rm", dscr = "textrm" }, { t({ "\\textrm{" }), i(1), t({ "}" }), i(0) }),
|
||||||
s({trig = "verb", dscr = "verb"}, { t({"\\verb|"}), i(1), t({"|"}), i(0) }),
|
s({ trig = "verb", dscr = "verb" }, { t({ "\\verb|" }), i(1), t({ "|" }), i(0) }),
|
||||||
s({trig = "frame", dscr="New frame"}, {t {'\\begin{frame}', '\t'}, i(0), t {'', '\\end{frame}'}})
|
s({ trig = "frame", dscr = "New frame" }, { t { '\\begin{frame}', '\t' }, i(0), t { '', '\\end{frame}' } })
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user