Re: [RFC/PATCH 4/4] git-gui: incremental goto line in blame view
From: Pat Thoyts <hidden>
Date: 2016-06-15 22:52:16
Bert Wesarg [off-list ref] writes:
quoted hunk
The view jumps now to the given line number after each key press. Signed-off-by: Bert Wesarg <redacted> --- I didn't know this before, but gedits goto-line-dialog works this way. lib/line.tcl | 15 +++++++++++---- 1 files changed, 11 insertions(+), 4 deletions(-)diff --git a/lib/line.tcl b/lib/line.tcl index 70785e1..0113e06 100644 --- a/lib/line.tcl +++ b/lib/line.tcl@@ -20,7 +20,7 @@ constructor new {i_w i_text args} {-background lightgreen \ -validate key \ -validatecommand [cb _validate %P] - ${NS}::button $w.bn -text [mc Go] -command [cb _incrgoto] + ${NS}::button $w.bn -text [mc Go] -command [cb _goto] pack $w.l -side left pack $w.bn -side right@@ -29,7 +29,8 @@ constructor new {i_w i_text args} {eval grid conf $w -sticky we $args grid remove $w - bind $w.ent <Return> [cb _incrgoto] + trace add variable linenum write [cb _goto_cb] + bind $w.ent <Return> [cb _goto] bind $w.ent <Escape> [cb hide] bind $w <Destroy> [list delete_this $this]@@ -67,10 +68,16 @@ method _validate {P} {return 0 } -method _incrgoto {} { +method _goto_cb {name ix op} { + after idle [cb _goto 1] +} + +method _goto {{nohide {0}}} { if {$linenum ne {}} { $ctext see $linenum.0 - hide $this + if {!$nohide} { + hide $this + } } }
Works fine. Will apply. OK These 4 patches are applied and pushed to master branch - with modifications made to 'only accept numbers in the goto-line input' made as mentioned. Thanks, -- Pat Thoyts http://www.patthoyts.tk/ PGP fingerprint 2C 6E 98 07 2C 59 C8 97 10 CE 11 E6 04 E0 B9 DD