Fix --debug-config failing when no options are changed

This commit is contained in:
Kovid Goyal
2018-05-05 11:18:51 +05:30
parent 577ba0b39d
commit d46a8c893a

View File

@@ -555,13 +555,14 @@ def flatten_sequence_map(m):
def compare_opts(opts): def compare_opts(opts):
print('\nConfig options different from defaults:') print('\nConfig options different from defaults:')
default_opts = load_config() default_opts = load_config()
skip = ('key_definitions', 'keymap', 'sequence_map') changed_opts = [
fmt = '{{:{:d}s}}'.format( f for f in sorted(defaults._fields)
max(len(k) for k in opts if getattr(opts, k) != getattr(defaults, k) and k not in skip)) if f not in ('key_definitions', 'keymap', 'sequence_map') and getattr(opts, f) != getattr(defaults, f)
]
for f in sorted(defaults._fields): field_len = max(map(len, changed_opts)) if changed_opts else 20
if getattr(opts, f) != getattr(defaults, f) and f not in skip: fmt = '{{:{:d}s}}'.format(field_len)
print(title(fmt.format(f)), getattr(opts, f)) for f in changed_opts:
print(title(fmt.format(f)), getattr(opts, f))
final, initial = opts.keymap, default_opts.keymap final, initial = opts.keymap, default_opts.keymap
final = {(k,): v for k, v in final.items()} final = {(k,): v for k, v in final.items()}