-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path__init__.py
35 lines (24 loc) · 950 Bytes
/
__init__.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import ranger.api
import ranger.container.directory
# noinspection PyUnresolvedReferences
from .command import fzf_filter, KEY_FZF_FILTER
# region overwrite hook_init
HOOK_INIT_OLD = ranger.api.hook_init
def hook_init(fm):
def clear_fzf_filter(signal):
if fm.settings.clear_filters_on_dir_change and signal.previous:
signal.previous.__dict__[KEY_FZF_FILTER] = None
signal.previous.refilter()
fm.signal_bind('cd', clear_fzf_filter)
return HOOK_INIT_OLD(fm)
ranger.api.hook_init = hook_init
# endregion overwrite hook_init
# region overwrite accept_file
ACCEPT_FILE_OLD = ranger.container.directory.accept_file
def accept_file(fobj, filters):
_fzf_filter = fobj.fm.thisdir.__dict__.get(KEY_FZF_FILTER, None)
if _fzf_filter:
filters.append(_fzf_filter)
return ACCEPT_FILE_OLD(fobj, filters)
ranger.container.directory.accept_file = accept_file
# endregion overwrite accept_file