aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md1
-rw-r--r--plugins/datetimestamps.lua60
2 files changed, 61 insertions, 0 deletions
diff --git a/README.md b/README.md
index 1754b69..56b21e5 100644
--- a/README.md
+++ b/README.md
@@ -18,6 +18,7 @@ Plugin | Description
[`colorpreview`](plugins/colorpreview.lua?raw=1) | Underlays color values (eg. `#ff00ff` or `rgb(255, 0, 255)`) with their resultant color. *([screenshot](https://user-images.githubusercontent.com/3920290/80743752-731bd780-8b15-11ea-97d3-847db927c5dc.png))*
[`console`](https://github.com/rxi/console)* | A console for running external commands and capturing their output *([gif](https://user-images.githubusercontent.com/3920290/81343656-49325a00-90ad-11ea-8647-ff39d8f1d730.gif))*
[`copyfilelocation`](plugins/copyfilelocation.lua?raw=1) | Copy file location to clipboard
+[`datetimestamps`](plugins/datetimestamps.lua?raw=1) | Insert date-, time- and date-time-stamps
[`detectindent`](plugins/detectindent.lua?raw=1) | Automatically detects and uses the indentation size and tab type of a loaded file
[`drawwhitespace`](plugins/drawwhitespace.lua?raw=1) | Draws tabs and spaces *([screenshot](https://user-images.githubusercontent.com/3920290/80573013-22ae5800-89f7-11ea-9895-6362a1c0abc7.png))*
[`eval`](plugins/eval.lua?raw=1) | Replaces selected Lua code with its evaluated result
diff --git a/plugins/datetimestamps.lua b/plugins/datetimestamps.lua
new file mode 100644
index 0000000..518f0a9
--- /dev/null
+++ b/plugins/datetimestamps.lua
@@ -0,0 +1,60 @@
+local core = require "core"
+local config = require "core.config"
+local command = require "core.command"
+
+--[[
+Date and time format placeholders
+from https://www.lua.org/pil/22.1.html
+%a abbreviated weekday name (e.g., Wed)
+%A full weekday name (e.g., Wednesday)
+%b abbreviated month name (e.g., Sep)
+%B full month name (e.g., September)
+%c date and time (e.g., 09/16/98 23:48:10)
+%d day of the month (16) [01-31]
+%H hour, using a 24-hour clock (23) [00-23]
+%I hour, using a 12-hour clock (11) [01-12]
+%M minute (48) [00-59]
+%m month (09) [01-12]
+%p either "am" or "pm" (pm)
+%S second (10) [00-61]
+%w weekday (3) [0-6 = Sunday-Saturday]
+%x date (e.g., 09/16/98)
+%X time (e.g., 23:48:10)
+%Y full year (1998)
+%y two-digit year (98) [00-99]
+%% the character `%ยด
+--]]
+config.datetimestamps_format_datestamp = "%Y%m%d"
+config.datetimestamps_format_datetimestamp = "%Y%m%d_%H%M%S"
+config.datetimestamps_format_timestamp = "%H%M%S"
+
+local function datestamp()
+
+ local sOut = os.date(config.datetimestamps_format_datestamp)
+
+ core.active_view.doc:text_input(sOut)
+
+end
+
+local function datetimestamp()
+
+ local sOut = os.date(config.datetimestamps_format_datetimestamp)
+
+ core.active_view.doc:text_input(sOut)
+
+end
+
+local function timestamp()
+
+ local sOut = os.date(config.datetimestamps_format_timestamp)
+
+ core.active_view.doc:text_input(sOut)
+
+end
+
+command.add("core.docview", {
+ ["datetimestamps:insert-datestamp"] = datestamp,
+ ["datetimestamps:insert-timestamp"] = timestamp,
+ ["datetimestamps:insert-datetimestamp"] = datetimestamp
+})
+