57 lines
1016 B
Lua
57 lines
1016 B
Lua
local ls = require("luasnip")
|
|
local s = ls.snippet
|
|
local t = ls.text_node
|
|
local i = ls.insert_node
|
|
local f = ls.function_node
|
|
|
|
-- Function to get the datetime
|
|
-- with daylight saving time
|
|
-- according to the locale
|
|
local get_date = function()
|
|
return os.date("%Y-%m-%dT%H:%M:%S%z")
|
|
end
|
|
|
|
-- Function to get an id based on the datetime
|
|
local get_id = function()
|
|
return os.date("%Y%m%d%H%M%S")
|
|
end
|
|
|
|
return {
|
|
s(
|
|
{
|
|
trig = "datetime",
|
|
dscr = "Insert datetime with locale daylight saving"
|
|
},
|
|
{
|
|
f(get_date, {})
|
|
}
|
|
),
|
|
s(
|
|
{
|
|
trig = "id",
|
|
dscr = "Insert an id based on the datetime"
|
|
},
|
|
{
|
|
f(get_id, {})
|
|
}
|
|
),
|
|
s(
|
|
{
|
|
trig = "yaml",
|
|
dscr = "Insert a YAML frontmatter for markdown"
|
|
},
|
|
{
|
|
t { "---", "title: " },
|
|
i(1, "title"),
|
|
t{ "", "date: " },
|
|
f(get_date, {}),
|
|
t{ "", "id: " },
|
|
f(get_id, {}),
|
|
t{ "","tags: [" },
|
|
i(2, "tags"),
|
|
t{ "]", "---", "" },
|
|
i(0),
|
|
}
|
|
)
|
|
}
|