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), } ) }