aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lua/simple-denote.lua2
-rw-r--r--lua/simple-denote/api.lua5
-rw-r--r--lua/simple-denote/internal.lua13
3 files changed, 9 insertions, 11 deletions
diff --git a/lua/simple-denote.lua b/lua/simple-denote.lua
index 5709e3a..f7e24f2 100644
--- a/lua/simple-denote.lua
+++ b/lua/simple-denote.lua
@@ -10,7 +10,7 @@ function M.load_cmd(options)
elseif opts.fargs[1] == "title" then
api.title(options)
elseif opts.fargs[1] == "keywords" then
- api.keywords(options)
+ api.keywords()
elseif opts.fargs[1] == "signature" then
api.signature()
elseif opts.fargs[1] == "extension" then
diff --git a/lua/simple-denote/api.lua b/lua/simple-denote/api.lua
index a03c9f2..ded8022 100644
--- a/lua/simple-denote/api.lua
+++ b/lua/simple-denote/api.lua
@@ -36,10 +36,9 @@ function M.title(options, filename, title)
internal.title(options, filename, title)
end
----@param options table
---@param filename string|nil
---@param keywords string|nil
-function M.keywords(options, filename, keywords)
+function M.keywords(filename, keywords)
if not filename then
filename = vim.fn.expand("%")
end
@@ -49,7 +48,7 @@ function M.keywords(options, filename, keywords)
end)
end
if not keywords then return end
- internal.keyword(options, filename, keywords)
+ internal.keyword(filename, keywords)
end
---@param filename string|nil
diff --git a/lua/simple-denote/internal.lua b/lua/simple-denote/internal.lua
index 8821689..33593c6 100644
--- a/lua/simple-denote/internal.lua
+++ b/lua/simple-denote/internal.lua
@@ -73,7 +73,7 @@ end
---@param title string
--- Retitles the filename and changes the first heading of the note
function M.title(options, filename, title)
- local prefix = filename:match("^(.-%d%d%d%d%d%d%d%dT%d%d%d%d%d%d).*")
+ local prefix, ext = filename:match("^(.-%d%d%d%d%d%d%d%dT%d%d%d%d%d%d).*(%..+)")
if not prefix then
error("This doesn't look like a Denote filename")
end
@@ -86,24 +86,23 @@ function M.title(options, filename, title)
M.set_heading(options, title)
end
title = M.format_denote_string(title, "-")
- local new_filename = prefix .. sig .. title .. keywords .. "." .. options.ext
+ local new_filename = prefix .. sig .. title .. keywords .. ext
M.replace_file(filename, new_filename)
end
----@param options table
---@param filename string
---@param keywords string
---Replaces the __keywords in filename
-function M.keyword(options, filename, keywords)
- local prefix = filename:match("^(.*)__.*$")
+function M.keyword(filename, keywords)
+ local prefix, ext = filename:match("^(.*)__.*(%..+)$")
if not prefix then
- prefix = filename:match("^(.*)%..-$")
+ prefix, ext = filename:match("^(.*)(%..+)$")
end
if not prefix:match("%d%d%d%d%d%d%d%dT%d%d%d%d%d%d") then
error("This doesn't look like a Denote filename")
end
keywords = M.format_denote_string(keywords, "_")
- local new_filename = prefix .. keywords .. "." .. options.ext
+ local new_filename = prefix .. keywords .. ext
M.replace_file(filename, new_filename)
end