171 lines
4.8 KiB
Lua
171 lines
4.8 KiB
Lua
require("luasnip.session.snippet_collection").clear_snippets "markdown"
|
||
|
||
local ls = require "luasnip"
|
||
|
||
local s = ls.snippet
|
||
local t = ls.text_node
|
||
local c = ls.choice_node
|
||
local i = ls.insert_node
|
||
local f = ls.function_node
|
||
|
||
local fmt = require("luasnip.extras.fmt").fmt
|
||
|
||
ls.add_snippets(
|
||
"markdown",
|
||
{
|
||
s({ trig = "imh", dscr = "Insert markdown task heading" },
|
||
fmt(
|
||
[==[
|
||
→ [[#{} ✗]]
|
||
]==],
|
||
{
|
||
i(0),
|
||
}
|
||
)
|
||
),
|
||
s("link", {
|
||
t("["), i(1, "description"), t("]("),
|
||
f(function()
|
||
local clip = vim.fn.getreg("+")
|
||
if clip == "" then
|
||
return "url"
|
||
end
|
||
return clip
|
||
end),
|
||
t(")"), i(0),
|
||
}),
|
||
s({ trig = "ics", dscr = "Insert code snippet" },
|
||
fmt(
|
||
[[
|
||
```{}
|
||
{}
|
||
```
|
||
]],
|
||
{
|
||
c(1, { t "python", t "bash", t "go", t "", t "swift", t "c" }),
|
||
i(2),
|
||
}
|
||
)
|
||
),
|
||
s({ trig = "iq", dscr = "Insert question" },
|
||
fmt(
|
||
[[
|
||
┏━━━━━━━━━━━━━━ Question 0 ━━━━━━━━━━━━━━━
|
||
**Question**
|
||
{}
|
||
|
||
**Answer**:
|
||
|
||
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||
]],
|
||
{
|
||
i(0),
|
||
}
|
||
)
|
||
),
|
||
s({ trig = "ip", dscr = "Insert problem" },
|
||
fmt(
|
||
[[
|
||
┏━━━━━━━━━━━━━━ Problem 0 ━━━━━━━━━━━━━━━
|
||
**Problem**:
|
||
{}
|
||
|
||
**Solution**:
|
||
|
||
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||
]],
|
||
{
|
||
i(0),
|
||
}
|
||
)
|
||
),
|
||
|
||
s({ trig = "isn", dscr = "Insert side notes" },
|
||
fmt(
|
||
[[
|
||
┏━━━━━━━━━━━━━ Sticky notes ━━━━━━━━━━━━━━
|
||
**Theme**: {}
|
||
{}
|
||
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||
]],
|
||
{
|
||
i(1),
|
||
i(2),
|
||
}
|
||
)
|
||
),
|
||
|
||
s({ trig = "ntn", dscr = "Template NTN (obsidian)" }, {
|
||
t({
|
||
"---",
|
||
"backlinks: ",
|
||
"created: ",
|
||
}),
|
||
f(function() return os.date("%Y-%m-%d") end),
|
||
t({
|
||
"",
|
||
"---",
|
||
"# Про что заметка?",
|
||
"Про ",
|
||
"***",
|
||
"# Основное",
|
||
}),
|
||
i(0),
|
||
}),
|
||
|
||
s({ trig = "nte", dscr = "Template NTE (obsidian)" }, {
|
||
t({
|
||
"---",
|
||
"project:",
|
||
"\t- ",
|
||
"completed:",
|
||
"delayed:",
|
||
"started: ",
|
||
}),
|
||
f(function() return os.date("%Y-%m-%d") end),
|
||
t({
|
||
"",
|
||
"finished:",
|
||
"cssclasses:",
|
||
" - wide-page",
|
||
"link:",
|
||
"---",
|
||
"**УСТАНОВИ STARTED ДАТУ И ПРОЕКТ!!!**",
|
||
"***",
|
||
"# Checklist",
|
||
"## Общее",
|
||
"- [ ] JIO: Проверить версию сервиса",
|
||
"- [ ] Написать кодовую базу",
|
||
"- [ ] Написать тесты к функционалу",
|
||
"- [ ] Избавиться от дебаг кода",
|
||
"- [ ] Исправить замечания линтера",
|
||
"- [ ] Создать все нужные MR'ы и пофиксить комменты в них:",
|
||
" - [ ] MR_placeholder",
|
||
"- [ ] Влить апрувнутые MR'ы",
|
||
"- [ ] Перечитать доку по разрабатываемому функционалу и если нужно - обновить ее согласно новым изменениям",
|
||
"- [ ] Если необходимо: Добавить/обновить документацию",
|
||
"- [ ] Если необходимо: добавить новые индексы в `package/indexes.json`",
|
||
"- [ ] Собрать нужные пакеты и выкатить на прод",
|
||
" - [ ] При создании новой версии проверить что все коммиты в промежутке включены в CHANGELOG",
|
||
"- [ ] Проверить работоспособность на проде",
|
||
"- [ ] Отписать в таске результаты проверки на проде",
|
||
"- [ ] Закрыть таску",
|
||
"***",
|
||
"# Links",
|
||
"- ",
|
||
"",
|
||
"***",
|
||
"# Хронология",
|
||
"- Взял задачу в работу → [[#Погружение в задачу ✗]]",
|
||
"",
|
||
"***",
|
||
"# Sticky notes",
|
||
"",
|
||
"***",
|
||
"",
|
||
"# Погружение в задачу ✗",
|
||
}),
|
||
i(0),
|
||
}),
|
||
}
|
||
)
|