diff options
author | Enrico Tassi <Enrico.Tassi@inria.fr> | 2014-04-09 10:32:59 +0200 |
---|---|---|
committer | Enrico Tassi <Enrico.Tassi@inria.fr> | 2014-04-09 10:33:11 +0200 |
commit | 66f19ac2fcb3af564bd54077015597f97084b824 (patch) | |
tree | ae3d7b7a5158822c96d763e075370fa5040f16b2 /ide/nanoPG.ml | |
parent | fda8ba0154742f9cbab2b88eed88d52c1f01129c (diff) |
nanoPG: when the cursor moves, scroll to make it appear on screen
Diffstat (limited to 'ide/nanoPG.ml')
-rw-r--r-- | ide/nanoPG.ml | 6 |
1 files 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 |