Skip to content

Commit 86443c7

Browse files
committed
Clean up vi key handling, remove duplication
1 parent 91a7cf4 commit 86443c7

File tree

1 file changed

+24
-54
lines changed

1 file changed

+24
-54
lines changed

pudb/debugger.py

+24-54
Original file line numberDiff line numberDiff line change
@@ -708,6 +708,22 @@ def move_home(w, size, key):
708708
def move_end(w, size, key):
709709
w.keypress(size, "end")
710710

711+
def add_vi_nav_keys(widget):
712+
widget.listen("k", move_up)
713+
widget.listen("j", move_down)
714+
widget.listen("h", move_left)
715+
widget.listen("l", move_right)
716+
widget.listen("ctrl b", page_up)
717+
widget.listen("ctrl f", page_down)
718+
widget.listen("ctrl u", page_up)
719+
widget.listen("ctrl d", page_down)
720+
widget.listen("g", move_home)
721+
widget.listen("G", move_end)
722+
723+
def add_help_keys(widget):
724+
widget.listen("f1", helpside)
725+
widget.listen("?", helpside)
726+
711727
# }}}
712728

713729
# {{{ left/source column
@@ -791,6 +807,9 @@ def clear_cmdline_history(btn):
791807
def helpside(w, size, key):
792808
help(HELP_HEADER + HELP_SIDE + HELP_MAIN + HELP_LICENSE)
793809

810+
add_vi_nav_keys(self.rhs_col_sigwrap)
811+
add_help_keys(self.rhs_col_sigwrap)
812+
794813
# }}}
795814

796815
self.columns = urwid.Columns(
@@ -1007,23 +1026,10 @@ def insert_watch(w, size, key):
10071026
self.var_list.listen("[", partial(change_rhs_box, 'variables', 0, -1))
10081027
self.var_list.listen("]", partial(change_rhs_box, 'variables', 0, 1))
10091028

1010-
self.var_list.listen("k", move_up)
1011-
self.var_list.listen("j", move_down)
1012-
self.var_list.listen("h", move_left)
1013-
self.var_list.listen("l", move_right)
1014-
self.var_list.listen("ctrl b", page_up)
1015-
self.var_list.listen("ctrl f", page_down)
1016-
self.var_list.listen("ctrl u", page_up)
1017-
self.var_list.listen("ctrl d", page_down)
1018-
self.var_list.listen("g", move_home)
1019-
self.var_list.listen("G", move_end)
1020-
1021-
self.var_list.listen("f1", helpside)
1022-
self.var_list.listen("?", helpside)
1023-
10241029
# }}}
10251030

10261031
# {{{ stack listeners
1032+
10271033
def examine_frame(w, size, key):
10281034
_, pos = self.stack_list._w.get_focus()
10291035
self.debugger.set_frame_index(self.translate_ui_stack_index(pos))
@@ -1046,23 +1052,10 @@ def move_stack_down(w, size, key):
10461052
self.stack_list.listen("[", partial(change_rhs_box, 'stack', 1, -1))
10471053
self.stack_list.listen("]", partial(change_rhs_box, 'stack', 1, 1))
10481054

1049-
self.stack_list.listen("k", move_up)
1050-
self.stack_list.listen("j", move_down)
1051-
self.stack_list.listen("h", move_left)
1052-
self.stack_list.listen("l", move_right)
1053-
self.stack_list.listen("ctrl b", page_up)
1054-
self.stack_list.listen("ctrl f", page_down)
1055-
self.stack_list.listen("ctrl u", page_up)
1056-
self.stack_list.listen("ctrl d", page_down)
1057-
self.stack_list.listen("g", move_home)
1058-
self.stack_list.listen("G", move_end)
1059-
1060-
self.stack_list.listen("f1", helpside)
1061-
self.stack_list.listen("?", helpside)
1062-
10631055
# }}}
10641056

10651057
# {{{ breakpoint listeners
1058+
10661059
def save_breakpoints(w, size, key):
10671060
self.debugger.save_breakpoints()
10681061

@@ -1192,19 +1185,6 @@ def show_breakpoint(w, size, key):
11921185
self.bp_list.listen("[", partial(change_rhs_box, 'breakpoints', 2, -1))
11931186
self.bp_list.listen("]", partial(change_rhs_box, 'breakpoints', 2, 1))
11941187

1195-
self.bp_list.listen("k", move_up)
1196-
self.bp_list.listen("j", move_down)
1197-
self.bp_list.listen("h", move_left)
1198-
self.bp_list.listen("l", move_right)
1199-
self.bp_list.listen("ctrl b", page_up)
1200-
self.bp_list.listen("ctrl f", page_down)
1201-
self.bp_list.listen("ctrl u", page_up)
1202-
self.bp_list.listen("ctrl d", page_down)
1203-
self.bp_list.listen("g", move_home)
1204-
self.bp_list.listen("G", move_end)
1205-
1206-
self.bp_list.listen("f1", helpside)
1207-
self.bp_list.listen("?", helpside)
12081188
# }}}
12091189

12101190
# {{{ source listeners
@@ -1521,17 +1501,6 @@ def helpmain(w, size, key):
15211501
self.source_sigwrap.listen("c", cont)
15221502
self.source_sigwrap.listen("t", run_to_cursor)
15231503

1524-
self.source_sigwrap.listen("k", move_up)
1525-
self.source_sigwrap.listen("j", move_down)
1526-
self.source_sigwrap.listen("h", scroll_left)
1527-
self.source_sigwrap.listen("l", scroll_right)
1528-
self.source_sigwrap.listen("ctrl b", page_up)
1529-
self.source_sigwrap.listen("ctrl f", page_down)
1530-
self.source_sigwrap.listen("ctrl u", page_up)
1531-
self.source_sigwrap.listen("ctrl d", page_down)
1532-
self.source_sigwrap.listen("g", move_home)
1533-
self.source_sigwrap.listen("G", move_end)
1534-
15351504
self.source_sigwrap.listen("L", go_to_line)
15361505
self.source_sigwrap.listen("/", search)
15371506
self.source_sigwrap.listen(",", search_previous)
@@ -1543,8 +1512,9 @@ def helpmain(w, size, key):
15431512
self.source_sigwrap.listen("H", move_stack_top)
15441513
self.source_sigwrap.listen("u", move_stack_up)
15451514
self.source_sigwrap.listen("d", move_stack_down)
1546-
self.source_sigwrap.listen("f1", helpmain)
1547-
self.source_sigwrap.listen("?", helpmain)
1515+
1516+
add_vi_nav_keys(self.source_sigwrap)
1517+
add_help_keys(self.source_sigwrap)
15481518

15491519
# }}}
15501520

0 commit comments

Comments
 (0)