feat: snippets and more
This commit is contained in:
parent
80ed2f2df7
commit
5250b7a019
4 changed files with 81 additions and 10 deletions
|
|
@ -3,18 +3,73 @@ local M = {}
|
|||
function M.setup(config)
|
||||
local has_luasnip, luasnip = pcall(require, "luasnip")
|
||||
if not has_luasnip then
|
||||
vim.notify("[cp.nvim]: LuaSnip not available - snippets disabled", vim.log.levels.INFO)
|
||||
return
|
||||
end
|
||||
|
||||
local snippets = {}
|
||||
local s = luasnip.snippet
|
||||
local i = luasnip.insert_node
|
||||
local fmt = require("luasnip.extras.fmt").fmt
|
||||
|
||||
local default_snippets = {
|
||||
s(
|
||||
"codeforces",
|
||||
fmt(
|
||||
[[void solve() {{
|
||||
{}
|
||||
}}
|
||||
|
||||
int main() {{
|
||||
std::cin.tie(nullptr)->sync_with_stdio(false);
|
||||
|
||||
int tc = 1;
|
||||
std::cin >> tc;
|
||||
|
||||
for (int t = 0; t < tc; ++t) {{
|
||||
solve();
|
||||
}}
|
||||
|
||||
return 0;
|
||||
}}]],
|
||||
{ i(1) }
|
||||
)
|
||||
),
|
||||
|
||||
s(
|
||||
"atcoder",
|
||||
fmt(
|
||||
[[void solve() {{
|
||||
{}
|
||||
}}
|
||||
|
||||
int main() {{
|
||||
std::cin.tie(nullptr)->sync_with_stdio(false);
|
||||
|
||||
#ifdef LOCAL
|
||||
int tc;
|
||||
std::cin >> tc;
|
||||
|
||||
for (int t = 0; t < tc; ++t) {{
|
||||
solve();
|
||||
}}
|
||||
#else
|
||||
solve();
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}}]],
|
||||
{ i(1) }
|
||||
)
|
||||
),
|
||||
}
|
||||
|
||||
local user_snippets = {}
|
||||
for _, snippet in pairs(config.snippets or {}) do
|
||||
table.insert(snippets, snippet)
|
||||
table.insert(user_snippets, snippet)
|
||||
end
|
||||
|
||||
if #snippets > 0 then
|
||||
luasnip.add_snippets("cpp", snippets)
|
||||
end
|
||||
local all_snippets = vim.list_extend(default_snippets, user_snippets)
|
||||
luasnip.add_snippets("cpp", all_snippets)
|
||||
end
|
||||
|
||||
return M
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue