about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorGermainZ <germanosz@gmail.com>2018-10-15 01:58:43 +0200
committerGermainZ <germanosz@gmail.com>2018-10-15 02:00:07 +0200
commit65832d74998e772230fcdbfe64c5f2ffb671102a (patch)
treeb4648baed7dc14fab71f9e4f6f47668c212c4f59
parent16949531f739ccf0cbf8ae543e7282de4291e165 (diff)
downloadranger-65832d74998e772230fcdbfe64c5f2ffb671102a.tar.gz
Do not include "ask" in open_with options (fixes #1047)
-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 4e76df65..c7523bfb 100644
--- a/ranger/core/actions.py
+++ b/ranger/core/actions.py
@@ -931,7 +931,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 ee156d9a..d0d5408d 100755
--- a/ranger/ext/rifle.py
+++ b/ranger/ext/rifle.py
@@ -279,7 +279,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
@@ -294,6 +294,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