23 lines
817 B
Lua
23 lines
817 B
Lua
local diary_open = function(opts)
|
|
local date = opts.args ~= '' and opts.args or os.date('%Y-%m-%d')
|
|
local year, month = date:match('(%d%d%d%d)-(%d%d)')
|
|
local file = string.format('~/.diary/asciidoc/%s/diary-%s-%s.adoc', year, year, month)
|
|
print("file is:", file)
|
|
vim.cmd('e ' .. file)
|
|
vim.cmd('normal! G')
|
|
|
|
-- NOTE.2025-06-08 [1] and [2] should be replaced with snippet name, but I
|
|
-- don't know how -- neither do grok nor chatgpt ...
|
|
local snips = require('luasnip')
|
|
local asnippets = snips.get_snippets('asciidoc')
|
|
if vim.fn.getfsize(file) == 0 then
|
|
snips.snip_expand(asnippets[1])
|
|
vim.cmd('normal! G')
|
|
end
|
|
|
|
vim.cmd('normal! 3o') -- insert some newlines before new entry
|
|
snips.snip_expand(asnippets[2])
|
|
end
|
|
|
|
vim.api.nvim_create_user_command("Diary", diary_open, { nargs = '?' })
|