summary refs log blame commit diff stats
path: root/examples/plugin_new_macro.py
blob: 8dbe435dd7e44a7e479861d08d6104ba7e1b6902 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
16
17
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight .c { color: #888888 } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #008800; font-weight: bold } /* Keyword */
.highlight .ch { color: #888888 } /* C
# Compatible with ranger 1.6.0 through 1.7.*
#
# 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