diff options
author | Henrique <typoon@gmail.com> | 2019-11-13 10:17:07 -0500 |
---|---|---|
committer | Henrique <typoon@gmail.com> | 2019-11-13 10:17:07 -0500 |
commit | af7088d7f377ff32e2ff9ab197f6c899a835515d (patch) | |
tree | a38901ddecdedf46f56bedfd6cf88130e17b3b91 | |
parent | 875adb2ba82bb6b94fec755d4f2ac9800066c47d (diff) | |
download | mitmproxy-af7088d7f377ff32e2ff9ab197f6c899a835515d.tar.gz mitmproxy-af7088d7f377ff32e2ff9ab197f6c899a835515d.tar.bz2 mitmproxy-af7088d7f377ff32e2ff9ab197f6c899a835515d.zip |
Fixed issue introduced by change in the lexer that caused mitmproxy to
crash when pressing `:`.
-rw-r--r-- | mitmproxy/tools/console/commander/commander.py | 35 |
1 files changed, 21 insertions, 14 deletions
diff --git a/mitmproxy/tools/console/commander/commander.py b/mitmproxy/tools/console/commander/commander.py index 0c043081..ee31e1e9 100644 --- a/mitmproxy/tools/console/commander/commander.py +++ b/mitmproxy/tools/console/commander/commander.py @@ -89,21 +89,28 @@ class CommandBuffer: """ parts, remhelp = self.parse_quoted(self.text) ret = [] - for p in parts: - if p.valid: - if p.type == mitmproxy.types.Cmd: - ret.append(("commander_command", p.value)) - else: - ret.append(("text", p.value)) - elif p.value: - ret.append(("commander_invalid", p.value)) - else: - ret.append(("text", "")) - ret.append(("text", " ")) - if remhelp: + if parts == []: + # Means we just received the leader, so we need to give a blank + # text to the widget to render or it crashes + ret.append(("text", "")) ret.append(("text", " ")) - for v in remhelp: - ret.append(("commander_hint", "%s " % v)) + else: + for p in parts: + if p.valid: + if p.type == mitmproxy.types.Cmd: + ret.append(("commander_command", p.value)) + else: + ret.append(("text", p.value)) + elif p.value: + ret.append(("commander_invalid", p.value)) + else: + ret.append(("text", "")) + ret.append(("text", " ")) + if remhelp: + ret.append(("text", " ")) + for v in remhelp: + ret.append(("commander_hint", "%s " % v)) + return ret def flatten(self, txt): |