aboutsummaryrefslogtreecommitdiff
path: root/ide
diff options
context:
space:
mode:
authorPierre-Marie Pédrot2019-08-04 12:22:27 +0200
committerPierre-Marie Pédrot2019-08-04 12:22:27 +0200
commit5f7c88d0835631ed4fdaf6dc056c958bf8865b56 (patch)
treeae37c5b6b2edc6752fc4cd5110816a7d1836fb0b /ide
parente831ec5efd8b3b434eaf8b57b7150c3e8882e314 (diff)
parent0d5b3272afefe1b417edbdf1258849b758648eb3 (diff)
Merge PR #10579: Remove underscores from inserted texts.
Reviewed-by: ppedrot
Diffstat (limited to 'ide')
-rw-r--r--ide/coqide.ml18
1 files changed, 14 insertions, 4 deletions
diff --git a/ide/coqide.ml b/ide/coqide.ml
index 2c9f116cc3..00168a06b1 100644
--- a/ide/coqide.ml
+++ b/ide/coqide.ml
@@ -878,10 +878,20 @@ let no_under = Util.String.map (fun x -> if x = '_' then '-' else x)
let alpha_items menu_name item_name l =
let mk_item text =
let text' =
- let last = String.length text - 1 in
- if text.[last] = '.'
- then text ^"\n"
- else text ^" "
+ let len = String.length text in
+ let buf = Buffer.create (len + 1) in
+ let escaped = ref false in
+ String.iter (fun c ->
+ if !escaped then
+ let () = Buffer.add_char buf c in
+ escaped := false
+ else if c = '_' then escaped := true
+ else Buffer.add_char buf c
+ ) text;
+ if text.[len - 1] = '.'
+ then Buffer.add_char buf '\n'
+ else Buffer.add_char buf ' ';
+ Buffer.contents buf
in
let callback _ =
on_current_term (fun sn -> sn.buffer#insert_interactive text')