summary refs log tree commit diff stats
path: root/ranger/container/commandlist.py
diff options
context:
space:
mode:
Diffstat (limited to 'ranger/container/commandlist.py')
-rw-r--r--ranger/container/commandlist.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/ranger/container/commandlist.py b/ranger/container/commandlist.py
index 2ba22ef7..e66871ea 100644
--- a/ranger/container/commandlist.py
+++ b/ranger/container/commandlist.py
@@ -126,6 +126,17 @@ class CommandList(object):
 		self.commandlist.append(obj)
 		for key in obj.keys:
 			self.paths[key] = obj
+	
+	def alias(self, existing, *new):
+		"""bind the <new> keys to the command of the <existing> key"""
+		existing = self._str_to_tuple(existing)
+		new = tuple(map(self._str_to_tuple, new))
+
+		cmd = self.paths[existing]
+
+		for key in new:
+			self.paths[key] = cmd
+			cmd.keys |= set([key])
 
 	def unbind(self, *keys):
 		i = len(self.commandlist)