diff options
-rw-r--r-- | ranger/config/commands.py | 5 | ||||
-rw-r--r-- | ranger/fsobject/directory.py | 2 | ||||
-rw-r--r-- | ranger/gui/widgets/statusbar.py | 6 |
3 files changed, 8 insertions, 5 deletions
diff --git a/ranger/config/commands.py b/ranger/config/commands.py index c267dcf3..290fcb13 100644 --- a/ranger/config/commands.py +++ b/ranger/config/commands.py @@ -1257,7 +1257,10 @@ class filter(Command): """ def execute(self): - self.fm.set_filter(self.rest(1)) + if self.rest(1): + self.fm.set_filter(re.compile(re.escape(self.rest(1)))) + else: + self.fm.set_filter(None) self.fm.reload_cwd() quick = execute diff --git a/ranger/fsobject/directory.py b/ranger/fsobject/directory.py index 546fc6d0..3e5e4f84 100644 --- a/ranger/fsobject/directory.py +++ b/ranger/fsobject/directory.py @@ -39,7 +39,7 @@ def sort_naturally_icase(path): def accept_file(fname, directory, hidden_filter, name_filter): if hidden_filter and hidden_filter.search(fname): return False - if name_filter and name_filter not in fname: + if name_filter and not name_filter.search(fname): return False if directory.temporary_filter and not directory.temporary_filter.search(fname): return False diff --git a/ranger/gui/widgets/statusbar.py b/ranger/gui/widgets/statusbar.py index d0a92b21..ae54cf42 100644 --- a/ranger/gui/widgets/statusbar.py +++ b/ranger/gui/widgets/statusbar.py @@ -243,9 +243,9 @@ class StatusBar(Widget): base = 'scroll' if self.fm.thisdir.filter: - right.add(" f=", base, 'filter') - right.add(repr(self.fm.thisdir.filter), base, 'filter') - right.add(", ", "space") + right.add(" f=`", base, 'filter') + right.add(self.fm.thisdir.filter.pattern, base, 'filter') + right.add("', ", "space") if target.marked_items: if len(target.marked_items) == len(target.files): |