summary refs log tree commit diff stats
path: root/doc/examples/plugin_new_macro.py
diff options
context:
space:
mode:
Diffstat (limited to 'doc/examples/plugin_new_macro.py')
-rw-r--r--doc/examples/plugin_new_macro.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/doc/examples/plugin_new_macro.py b/doc/examples/plugin_new_macro.py
new file mode 100644
index 00000000..159a92f2
--- /dev/null
+++ b/doc/examples/plugin_new_macro.py
@@ -0,0 +1,19 @@
+# Compatible with ranger 1.6.*
+#
+# This plugin adds the new macro %date which is substituted with the current
+# date in commands that allow macros.  You can test it with the command
+# ":shell echo %date; read"
+
+# Save the original macro function
+import ranger.core.actions
+old_get_macros = ranger.core.actions.Actions._get_macros
+
+# Define a new macro function
+import time
+def get_macros_with_date(self):
+       macros = old_get_macros(self)
+       macros['date'] = time.strftime('%m/%d/%Y')
+       return macros
+
+# Overwrite the old one
+ranger.core.actions.Actions._get_macros = get_macros_with_date