diff --git a/qutebrowser/completion/models/instances.py b/qutebrowser/completion/models/instances.py index 568607b79..d3b49c0ec 100644 --- a/qutebrowser/completion/models/instances.py +++ b/qutebrowser/completion/models/instances.py @@ -29,7 +29,7 @@ import functools from qutebrowser.completion.models import miscmodels, urlmodel, configmodel from qutebrowser.utils import objreg, usertypes, log, debug -from qutebrowser.config import configdata +from qutebrowser.config import configdata, config _instances = {} @@ -155,6 +155,12 @@ def update(completions): did_run.append(func) +@config.change_filter('aliases', function=True) +def _update_aliases(): + """Update completions that include command aliases.""" + update([usertypes.Completion.command]) + + def init(): """Initialize completions. Note this only connects signals.""" quickmark_manager = objreg.get('quickmark-manager') @@ -176,3 +182,5 @@ def init(): keyconf = objreg.get('key-config') keyconf.changed.connect( functools.partial(update, [usertypes.Completion.command])) + + objreg.get('config').changed.connect(_update_aliases) diff --git a/tests/unit/config/test_config.py b/tests/unit/config/test_config.py index f2a6a79f1..e2f91c0d1 100644 --- a/tests/unit/config/test_config.py +++ b/tests/unit/config/test_config.py @@ -214,7 +214,7 @@ class TestKeyConfigParser: """Test config.parsers.keyconf.KeyConfigParser.""" - def test_cmd_binding(self, cmdline_test): + def test_cmd_binding(self, cmdline_test, config_stub): """Test various command bindings. See https://github.com/The-Compiler/qutebrowser/issues/615 @@ -222,6 +222,7 @@ class TestKeyConfigParser: Args: cmdline_test: A pytest fixture which provides testcases. """ + config_stub.data = {'aliases': []} kcp = keyconf.KeyConfigParser(None, None) kcp._cur_section = 'normal' if cmdline_test.valid: