summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSébastien Dailly <sebastien@chimrod.com>2021-02-25 08:41:50 +0100
committerSébastien Dailly <sebastien@dailly.me>2022-02-07 16:43:33 +0100
commitccd68208146e87b9f185f543aadccc1110e72642 (patch)
tree54776d4456c97d8c63dcd4acdb10562fb17d23a2
parent3f5e3dd53755dd67c24721afc62e32d2187e3583 (diff)
Update editor
-rwxr-xr-xeditor/plugins.ml1
-rwxr-xr-xeditor/tooltip.ml43
2 files changed, 20 insertions, 24 deletions
diff --git a/editor/plugins.ml b/editor/plugins.ml
index 6173c4f..8dd960a 100755
--- a/editor/plugins.ml
+++ b/editor/plugins.ml
@@ -127,7 +127,6 @@ let default pm schema =
(* Add the custom keymaps in the list *)
let _ = setup##unshift keymaps in
let _ = setup##push (input_rule pm) in
- let _ = setup##push (Tooltip.tooltip_plugin pm) in
let _ = setup##push (Tooltip.bold_plugin pm) in
diff --git a/editor/tooltip.ml b/editor/tooltip.ml
index 06426d1..693d68d 100755
--- a/editor/tooltip.ml
+++ b/editor/tooltip.ml
@@ -20,9 +20,7 @@ let set_position
let box_left = Jv.(Id.of_jv @@ get (Jv.Id.to_jv box) "left") in
let box_bottom = Jv.(Id.of_jv @@ get (Jv.Id.to_jv box) "bottom") in
- let left = Float.max
- ((start##.left +. end'##.left) /. 2.)
- (start##.left +. 3.) in
+ let left = (start##.left +. end'##.left) /. 2. in
El.set_inline_style (Jstr.v "left")
Jstr.( (of_float ( left -. box_left )) + (v "px") )
@@ -47,8 +45,7 @@ let tooltip
: PM.View.editor_view Js.t -> PM.State.editor_state Js. t Js.opt -> unit
= fun view state_opt ->
- Js.Opt.case state_opt
- (fun () -> ())
+ Js.Opt.iter state_opt
(fun previous_state ->
if ((view##.state##.doc##eq previous_state##.doc) = Js._true)
&& ((previous_state##.selection##eq view##.state##.selection) = Js._true)
@@ -101,24 +98,24 @@ let boldtip
: PM.View.editor_view Js.t -> PM.State.editor_state Js. t Js.opt -> unit
= fun view _state_opt ->
let state = view##.state in
- let is_bold = match PM.O.get state##.schema##.marks "strong" with
- | None -> None
- | Some mark_type ->
- let is_strong = Js.Opt.bind state##.storedMarks (fun t -> mark_type##isInSet t) in
- Js.Opt.case is_strong
- (fun () -> None)
- (fun _ -> Some (Jstr.v "gras")) in
- let is_em = match PM.O.get state##.schema##.marks "em" with
- | None -> None
- | Some mark_type ->
- let is_strong = Js.Opt.bind state##.storedMarks (fun t -> mark_type##isInSet t) in
- Js.Opt.case is_strong
- (fun () -> None)
- (fun _ -> Some (Jstr.(v "emphase"))) in
-
- let marks = List.filter_map [is_bold ; is_em]
- ~f:(fun x -> x) in
-
+ let is_bold = Option.bind (PM.O.get state##.schema##.marks "strong")
+ (fun mark_type ->
+ let is_strong =
+ Js.Opt.bind state##.storedMarks
+ (fun t -> mark_type##isInSet t) in
+ Js.Opt.case is_strong
+ (fun () -> None)
+ (fun _ -> Some (Jstr.v "gras"))) in
+ let is_em = Option.bind (PM.O.get state##.schema##.marks "em")
+ (fun mark_type ->
+ let is_strong =
+ Js.Opt.bind state##.storedMarks
+ (fun t -> mark_type##isInSet t) in
+ Js.Opt.case is_strong
+ (fun () -> None)
+ (fun _ -> Some (Jstr.(v "emphase")))) in
+
+ let marks = List.filter_map [is_bold; is_em] ~f:(fun x -> x) in
match marks with
| [] -> El.set_inline_style El.Style.display (Jstr.v "none") tooltip
| _ ->