summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <git@the-compiler.org>2018-05-03 13:58:59 +0200
committerFlorian Bruhin <git@the-compiler.org>2018-05-03 14:04:56 +0200
commit6eb8284fe05f9d97573d18ac205d4d83ff375cd0 (patch)
tree71c9152006b89bc72d110a2417507f269987f831
parent49bdcd5a972f28e0f45e09b63a1102d44cbabe10 (diff)
downloadqutebrowser-6eb8284fe05f9d97573d18ac205d4d83ff375cd0.tar.gz
qutebrowser-6eb8284fe05f9d97573d18ac205d4d83ff375cd0.zip
Refactor handling search in command.py
-rw-r--r--qutebrowser/mainwindow/statusbar/command.py33
1 files changed, 21 insertions, 12 deletions
diff --git a/qutebrowser/mainwindow/statusbar/command.py b/qutebrowser/mainwindow/statusbar/command.py
index 61b9fb43a..c0e3e095d 100644
--- a/qutebrowser/mainwindow/statusbar/command.py
+++ b/qutebrowser/mainwindow/statusbar/command.py
@@ -71,13 +71,25 @@ class Command(misc.MinimalLineEditMixin, misc.CommandLineEdit):
self.textChanged.connect(self.updateGeometry)
self.textChanged.connect(self._incremental_search)
- dispatcher = objreg.get('command-dispatcher',
- scope='window', window=self._win_id)
- search_fn = dispatcher.search
- self.search_prefixes = {
- '/': search_fn,
- '?': functools.partial(search_fn, reverse=True)
+ self._command_dispatcher = objreg.get(
+ 'command-dispatcher', scope='window', window=self._win_id)
+
+ def _handle_search(self):
+ """Check if the currently entered text is a search, and if so, run it.
+
+ Return:
+ True if a search was executed, False otherwise.
+ """
+ search_prefixes = {
+ '/': self._command_dispatcher.search,
+ '?': functools.partial(
+ self._command_dispatcher.search, reverse=True)
}
+ if self.prefix() in search_prefixes:
+ search_fn = search_prefixes[self.prefix()]
+ search_fn(self.text()[1:])
+ return True
+ return False
def prefix(self):
"""Get the currently entered command prefix."""
@@ -178,10 +190,8 @@ class Command(misc.MinimalLineEditMixin, misc.CommandLineEdit):
modeman.leave(self._win_id, usertypes.KeyMode.command,
'cmd accept')
- prefix = text[0]
- if prefix in self.search_prefixes:
- self.search_prefixes[prefix](text[1:])
- else:
+ was_search = self._handle_search()
+ if not was_search:
self.got_cmd[str].emit(text[1:])
@cmdutils.register(instance='status-command', scope='window')
@@ -268,5 +278,4 @@ class Command(misc.MinimalLineEditMixin, misc.CommandLineEdit):
if not config.val.search.incremental:
return
- if self.prefix() in self.search_prefixes:
- self.search_prefixes[self.prefix()](text[1:])
+ self._handle_search()