mirror of
https://github.com/vee1e/mitmproxy.git
synced 2026-09-02 02:37:15 +00:00
#3911 Support keybinding for different contexts with different commands
This commit is contained in:
parent
fbe296aaba
commit
4d2cb321d6
2 changed files with 19 additions and 5 deletions
|
|
@ -202,7 +202,7 @@ class KeymapConfig:
|
|||
user_ctxs = v.get("ctx", ["global"])
|
||||
try:
|
||||
km._check_contexts(user_ctxs)
|
||||
km.remove(v["key"], Contexts)
|
||||
km.remove(v["key"], user_ctxs)
|
||||
km.add(
|
||||
key = v["key"],
|
||||
command = v["cmd"],
|
||||
|
|
|
|||
|
|
@ -117,6 +117,21 @@ def test_load_path(tmpdir):
|
|||
kmc.load_path(km, dst)
|
||||
assert(km.get("chooser", "key1"))
|
||||
|
||||
with open(dst, 'w') as f:
|
||||
f.write(
|
||||
"""
|
||||
- key: key2
|
||||
ctx: [flowlist]
|
||||
cmd: foo
|
||||
- key: key2
|
||||
ctx: [flowview]
|
||||
cmd: bar
|
||||
"""
|
||||
)
|
||||
kmc.load_path(km, dst)
|
||||
assert(km.get("flowlist", "key2"))
|
||||
assert(km.get("flowview", "key2"))
|
||||
|
||||
km.add("key123", "str", ["flowlist", "flowview"])
|
||||
with open(dst, 'w') as f:
|
||||
f.write(
|
||||
|
|
@ -127,10 +142,9 @@ def test_load_path(tmpdir):
|
|||
"""
|
||||
)
|
||||
kmc.load_path(km, dst)
|
||||
for b in km.bindings:
|
||||
if b.key == "key123":
|
||||
assert b.contexts == ["options"]
|
||||
break
|
||||
assert(km.get("flowlist", "key123"))
|
||||
assert(km.get("flowview", "key123"))
|
||||
assert(km.get("options", "key123"))
|
||||
|
||||
|
||||
def test_parse():
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue