From 15389262bfb4ba280fc1aa1b0dd688947aa00f80 Mon Sep 17 00:00:00 2001 From: DefaultGen Date: Thu, 6 Jun 2024 04:55:50 -0400 Subject: Change filenames --- lua/simple-denote.lua | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 lua/simple-denote.lua (limited to 'lua') diff --git a/lua/simple-denote.lua b/lua/simple-denote.lua new file mode 100644 index 0000000..3f199fe --- /dev/null +++ b/lua/simple-denote.lua @@ -0,0 +1,46 @@ +local M = {} + +local api = require("simple-denote.api") +local config = require("simple-denote.config") + +function M.load_cmd(options) + vim.api.nvim_create_user_command("Denote", function(opts) + if opts.fargs[1] == "note" then + api.note(options) + elseif opts.fargs[1] == "title" then + api.title(options) + elseif opts.fargs[1] == "tag" then + api.tag(options) + elseif opts.fargs[1] == "signature" then + api.signature(options) + else + error("Unsupported operation " .. opts.fargs[1]) + end + end, { + nargs = 1, + complete = function() + return { "note", "title", "tag", "signature" } + end, + }) +end + +---Add / to directory if necessary and set the heading_char based on the ext +function M.fix_options() + if config.options.dir:sub(-1) ~= "/" then + config.options.dir = config.options.dir .. "/" + end + if config.options.ext == "md" then + config.options.heading_char = "#" + elseif config.options.ext == "org" or config.options.ext == "norg" then + config.options.heading_char = "*" + end +end + +---@param options? table user configuration +function M.setup(options) + config.options = vim.tbl_deep_extend("force", config.defaults, options or {}) + M.fix_options() + M.load_cmd(config.options) +end + +return M -- cgit v1.2.3