diff options
| author | Enrico Tassi | 2014-04-09 10:32:59 +0200 |
|---|---|---|
| committer | Enrico Tassi | 2014-04-09 10:33:11 +0200 |
| commit | 66f19ac2fcb3af564bd54077015597f97084b824 (patch) | |
| tree | ae3d7b7a5158822c96d763e075370fa5040f16b2 | |
| parent | fda8ba0154742f9cbab2b88eed88d52c1f01129c (diff) | |
nanoPG: when the cursor moves, scroll to make it appear on screen
| -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 d4b32b9ce2..c6ac56992d 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 |
