summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--ranger/core/actions.py3
-rwxr-xr-xranger/ext/rifle.py4
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