From 66f19ac2fcb3af564bd54077015597f97084b824 Mon Sep 17 00:00:00 2001 From: Enrico Tassi Date: Wed, 9 Apr 2014 10:32:59 +0200 Subject: nanoPG: when the cursor moves, scroll to make it appear on screen --- ide/nanoPG.ml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ide/nanoPG.ml b/ide/nanoPG.ml index d4b32b9ce..c6ac56992 100644 --- a/ide/nanoPG.ml +++ b/ide/nanoPG.ml @@ -127,15 +127,15 @@ let run key gui action status = b#place_cursor ~where:(b#get_iter_at_mark `SEL_BOUND); status | Motion f -> - let b = (ct gui).script#source_buffer in + let b, script = (ct gui).script#source_buffer, (ct gui).script in let sel_mode = status.sel || List.mem `SHIFT (GdkEvent.Key.state key) in let i = if sel_mode then b#get_iter_at_mark `SEL_BOUND else b#get_iter_at_mark `INSERT in let where, status = f status i in let sel_mode = status.sel || List.mem `SHIFT (GdkEvent.Key.state key) in - if sel_mode then b#move_mark `SEL_BOUND ~where - else b#place_cursor ~where; + if sel_mode then (b#move_mark `SEL_BOUND ~where; script#scroll_mark_onscreen `SEL_BOUND) + else (b#place_cursor ~where; script#scroll_mark_onscreen `INSERT); status let emacs = empty -- cgit v1.2.3