diff options
Diffstat (limited to 'ranger/config/commands.py')
-rw-r--r-- | ranger/config/commands.py | 36 |
1 files changed, 19 insertions, 17 deletions
diff --git a/ranger/config/commands.py b/ranger/config/commands.py index b281a683..453f7f6a 100644 --- a/ranger/config/commands.py +++ b/ranger/config/commands.py @@ -21,10 +21,12 @@ # =================================================================== # Every class defined here which is a subclass of `Command' will be used as a # command in ranger. Several methods are defined to interface with ranger: -# execute(): called when the command is executed. -# cancel(): called when closing the console. -# tab(): called when <TAB> is pressed. -# quick(): called after each keypress. +# execute(): called when the command is executed. +# cancel(): called when closing the console. +# tab(tabnum): called when <TAB> is pressed. +# quick(): called after each keypress. +# +# tab() argument tabnum is 1 for <TAB> and -1 for <S-TAB> by default # # The return values for tab() can be either: # None: There is no tab completion @@ -135,7 +137,7 @@ class cd(Command): else: self.fm.cd(destination) - def tab(self): + def tab(self, tabnum): import os from os.path import dirname, basename, expanduser, join @@ -214,7 +216,7 @@ class shell(Command): command = self.fm.substitute_macros(command, escape=True) self.fm.execute_command(command, flags=flags) - def tab(self): + def tab(self, tabnum): from ranger.ext.get_executables import get_executables if self.arg(1) and self.arg(1)[0] == '-': command = self.rest(2) @@ -248,7 +250,7 @@ class open_with(Command): flags = flags, mode = mode) - def tab(self): + def tab(self, tabnum): return self._tab_through_executables() def _get_app_flags_mode(self, string): @@ -345,7 +347,7 @@ class set_(Command): name, value, _ = self.parse_setting_line() self.fm.set_option_from_string(name, value) - def tab(self): + def tab(self, tabnum): from ranger.gui.colorscheme import get_all_colorschemes name, value, name_done = self.parse_setting_line() settings = self.fm.settings @@ -442,7 +444,7 @@ class default_linemode(Command): for col in self.fm.ui.browser.columns: col.need_redraw = True - def tab(self): + def tab(self, tabnum): mode = self.arg(1) return (self.arg(0) + " " + linemode for linemode in self.fm.thisfile.linemode_dict.keys() @@ -651,7 +653,7 @@ class mkdir(Command): else: self.fm.notify("file/directory exists!", bad=True) - def tab(self): + def tab(self, tabnum): return self._tab_directory_content() @@ -670,7 +672,7 @@ class touch(Command): else: self.fm.notify("file/directory exists!", bad=True) - def tab(self): + def tab(self, tabnum): return self._tab_directory_content() @@ -686,7 +688,7 @@ class edit(Command): else: self.fm.edit_file(self.rest(1)) - def tab(self): + def tab(self, tabnum): return self._tab_directory_content() @@ -766,7 +768,7 @@ class rename(Command): self.fm.tags.tags[t.replace(old_name,new_name)] = tagged[t] self.fm.tags.dump() - def tab(self): + def tab(self, tabnum): return self._tab_directory_content() class rename_append(Command): @@ -931,7 +933,7 @@ class relink(Command): self.fm.thisdir.pointed_obj = cf self.fm.thisfile = cf - def tab(self): + def tab(self, tabnum): if not self.rest(1): return self.line+os.readlink(self.fm.thisfile.path) else: @@ -1187,8 +1189,8 @@ class scout(Command): return True return False - def tab(self): - self._count(move=True, offset=1) + def tab(self, tabnum): + self._count(move=True, offset=tabnum) def _build_regex(self): if self._regex is not None: @@ -1478,7 +1480,7 @@ class meta(prompt_metadata): self.fm.metadata.set_metadata(f.path, update_dict) self._process_command_stack() - def tab(self): + def tab(self, tabnum): key = self.arg(1) metadata = self.fm.metadata.get_metadata(self.fm.thisfile.path) if key in metadata and metadata[key]: |