Add UUID prefix to new notes

This commit is contained in:
lambtho12
2022-01-27 10:54:30 +01:00
parent 15f68e7d9f
commit 9705f5795b
3 changed files with 58 additions and 0 deletions

View File

@@ -52,6 +52,11 @@ M.Cfg = {
-- markdown file extension
extension = ".md",
-- prefix file with uuid
prefix_title_by_uuid = false,
-- file uuid type ("rand" or input for os.date()")
uuid_type = "%Y%m%d%H%M",
-- following a link to a non-existing note will create it
follow_creates_nonexisting = true,
dailies_create_nonexisting = true,
@@ -143,6 +148,32 @@ local function file_exists(fname)
end
end
local function random_variable(length)
math.randomseed(os.clock() ^ 5)
local res = ""
for _ = 1, length do
res = res .. string.char(math.random(97, 122))
end
return res
end
local function append_uuid(opts, title)
opts.prefix_title_by_uuid = opts.prefix_title_by_uuid
or M.Cfg.prefix_title_by_uuid
opts.uuid_type = opts.uuid_type or M.Cfg.uuid_type
if opts.prefix_title_by_uuid then
local uuid = ""
if opts.uuid_type ~= "rand" then
uuid = os.date(opts.uuid_type)
else
uuid = random_variable(6)
end
title = uuid .. "-" .. title
end
return title
end
local function print_error(s)
vim.cmd("echohl ErrorMsg")
vim.cmd("echomsg " .. '"' .. s .. '"')
@@ -1793,6 +1824,8 @@ local function on_create_with_template(opts, title)
return
end
title = append_uuid(opts, title)
opts = opts or {}
opts.insert_after_inserting = opts.insert_after_inserting
or M.Cfg.insert_after_inserting
@@ -1874,6 +1907,8 @@ local function on_create(opts, title)
return
end
title = append_uuid(opts, title)
local pinfo = Pinfo:new({ title = title, opts })
local fname = pinfo.filepath