aboutsummaryrefslogtreecommitdiff
path: root/lua/simple-denote
diff options
context:
space:
mode:
authorhistoria <gravel.justness270@slmail.me>2024-08-14 16:11:38 -0400
committerhistoria <gravel.justness270@slmail.me>2024-08-14 16:11:38 -0400
commit98607a8a8c206e4ab2d4d47fb60f2d439a9d37d4 (patch)
treebbc9dda11e267ef20e82e425c9f599ea6da93716 /lua/simple-denote
parent64b58e667d0d255439b055227f1f11012fcc9006 (diff)
downloadsimple-denote.nvim-98607a8a8c206e4ab2d4d47fb60f2d439a9d37d4.tar.gz
fix: renaming commands respect original extension
Diffstat (limited to 'lua/simple-denote')
-rw-r--r--lua/simple-denote/api.lua5
-rw-r--r--lua/simple-denote/internal.lua13
2 files changed, 8 insertions, 10 deletions
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