diff options
Diffstat (limited to 'ranger/core')
-rw-r--r-- | ranger/core/helper.py | 2 | ||||
-rw-r--r-- | ranger/core/main.py | 14 |
2 files changed, 16 insertions, 0 deletions
diff --git a/ranger/core/helper.py b/ranger/core/helper.py index d1ef3ed0..910c0241 100644 --- a/ranger/core/helper.py +++ b/ranger/core/helper.py @@ -73,6 +73,8 @@ def parse_arguments(): parser.add_option('--choosedir', type='string', metavar='TARGET', help="Makes ranger act like a directory chooser. When ranger quits" ", it will write the name of the last visited directory to TARGET") + parser.add_option('--list-unused-keys', action='store_true', + help="List common keys which are not bound to any action.") options, positional = parser.parse_args() arg = OpenStruct(options.__dict__, targets=positional) diff --git a/ranger/core/main.py b/ranger/core/main.py index e6392387..5a7b32af 100644 --- a/ranger/core/main.py +++ b/ranger/core/main.py @@ -77,6 +77,20 @@ def main(): fm.tabs = dict((n+1, os.path.abspath(path)) for n, path \ in enumerate(targets[:9])) load_settings(fm, arg.clean) + + if arg.list_unused_keys: + from ranger.ext.keybinding_parser import special_keys + tree = EnvironmentAware.env.keymanager.get_context('browser') + tree.merge(tree.directions) + reversed_special_keys = dict((v,k) for k,v in special_keys.items()) + for key in sorted(special_keys.values()): + if key not in tree._tree: + print("<%s>" % reversed_special_keys[key]) + for key in range(33, 128): + if key not in tree._tree: + print(chr(key)) + return 1 if arg.fail_unless_cd else 0 + if fm.env.username == 'root': fm.settings.preview_files = False fm.settings.use_preview_script = False |