aboutsummaryrefslogtreecommitdiffhomepage
path: root/ide/coqide.ml
diff options
context:
space:
mode:
authorGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2015-02-13 11:14:54 +0100
committerGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2015-02-13 11:15:59 +0100
commit8f73830d46d985906deadae3059db75772281516 (patch)
treeb993e25a13f7e3d7a0ed3fbb5b4532d6566b04fa /ide/coqide.ml
parent7c9938cfbd0cf9093f90b0ee7b856105528c2a87 (diff)
Selection of the current word in CoqIDE looks at all buffers.
Diffstat (limited to 'ide/coqide.ml')
-rw-r--r--ide/coqide.ml15
1 files changed, 12 insertions, 3 deletions
diff --git a/ide/coqide.ml b/ide/coqide.ml
index 1d76ceada..5aac8f2a1 100644
--- a/ide/coqide.ml
+++ b/ide/coqide.ml
@@ -588,9 +588,18 @@ let get_current_word term =
| Some p -> p
| None ->
(** Then look at the current selected word *)
- if term.script#buffer#has_selection then
- let (start, stop) = term.script#buffer#selection_bounds in
- term.script#buffer#get_text ~slice:true ~start ~stop ()
+ let buf1 = term.script#buffer in
+ let buf2 = term.proof#buffer in
+ let buf3 = term.messages#buffer in
+ if buf1#has_selection then
+ let (start, stop) = buf1#selection_bounds in
+ buf1#get_text ~slice:true ~start ~stop ()
+ else if buf2#has_selection then
+ let (start, stop) = buf2#selection_bounds in
+ buf2#get_text ~slice:true ~start ~stop ()
+ else if buf3#has_selection then
+ let (start, stop) = buf3#selection_bounds in
+ buf3#get_text ~slice:true ~start ~stop ()
(** Otherwise try to find the word around the cursor *)
else
let it = term.script#buffer#get_iter_at_mark `INSERT in