diff options
-rw-r--r-- | ranger/core/actions.py | 3 | ||||
-rwxr-xr-x | ranger/ext/rifle.py | 4 |
2 files changed, 5 insertions, 2 deletions
diff --git a/ranger/core/actions.py b/ranger/core/actions.py index e7be0c65..435fcf13 100644 --- a/ranger/core/actions.py +++ b/ranger/core/actions.py @@ -960,7 +960,8 @@ class Actions( # pylint: disable=too-many-instance-attributes,too-many-public-m except IndexError: self.ui.browser.draw_info = [] return - programs = [program for program in self.rifle.list_commands([target.path], None)] + programs = [program for program in self.rifle.list_commands([target.path], None, + skip_ask=True)] if programs: num_digits = max((len(str(program[0])) for program in programs)) program_info = ['%s | %s' % (str(program[0]).rjust(num_digits), program[1]) diff --git a/ranger/ext/rifle.py b/ranger/ext/rifle.py index ad7d0049..a55e14c7 100755 --- a/ranger/ext/rifle.py +++ b/ranger/ext/rifle.py @@ -277,7 +277,7 @@ class Rifle(object): # pylint: disable=too-many-instance-attributes filenames = "' '".join(f.replace("'", "'\\\''") for f in files if "\x00" not in f) return "set -- '%s'; %s" % (filenames, action) - def list_commands(self, files, mimetype=None): + def list_commands(self, files, mimetype=None, skip_ask=False): """List all commands that are applicable for the given files Returns one 4-tuple for all currently applicable commands @@ -292,6 +292,8 @@ class Rifle(object): # pylint: disable=too-many-instance-attributes self._skip = None self._app_flags = '' self._app_label = None + if skip_ask and cmd == ASK_COMMAND: + continue for test in tests: if not self._eval_condition(test, files, None): break |