diff options
| author | Pierre-Marie Pédrot | 2019-08-04 12:22:27 +0200 |
|---|---|---|
| committer | Pierre-Marie Pédrot | 2019-08-04 12:22:27 +0200 |
| commit | 5f7c88d0835631ed4fdaf6dc056c958bf8865b56 (patch) | |
| tree | ae37c5b6b2edc6752fc4cd5110816a7d1836fb0b /ide | |
| parent | e831ec5efd8b3b434eaf8b57b7150c3e8882e314 (diff) | |
| parent | 0d5b3272afefe1b417edbdf1258849b758648eb3 (diff) | |
Merge PR #10579: Remove underscores from inserted texts.
Reviewed-by: ppedrot
Diffstat (limited to 'ide')
| -rw-r--r-- | ide/coqide.ml | 18 |
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') |
