@@ -241,6 +241,78 @@ module ExtendedHover = struct
241241 [@@@ end]
242242end
243243
244+ module StandardHover = struct
245+ type t = { enable : bool [@ default true ] }
246+ [@@ deriving_inline yojson ] [@@ yojson.allow_extra_fields]
247+
248+ let _ = fun (_ : t ) -> ()
249+
250+ let t_of_yojson =
251+ (let _tp_loc = " ocaml-lsp-server/src/config_data.ml.StandardHover.t" in
252+ function
253+ | `Assoc field_yojsons as yojson ->
254+ let enable_field = ref Ppx_yojson_conv_lib.Option. None
255+ and duplicates = ref []
256+ and extra = ref [] in
257+ let rec iter = function
258+ | (field_name , _field_yojson ) :: tail ->
259+ (match field_name with
260+ | "enable" ->
261+ (match Ppx_yojson_conv_lib. ( ! ) enable_field with
262+ | Ppx_yojson_conv_lib.Option. None ->
263+ let fvalue = bool_of_yojson _field_yojson in
264+ enable_field := Ppx_yojson_conv_lib.Option. Some fvalue
265+ | Ppx_yojson_conv_lib.Option. Some _ ->
266+ duplicates := field_name :: Ppx_yojson_conv_lib. ( ! ) duplicates)
267+ | _ -> () );
268+ iter tail
269+ | [] -> ()
270+ in
271+ iter field_yojsons;
272+ (match Ppx_yojson_conv_lib. ( ! ) duplicates with
273+ | _ :: _ ->
274+ Ppx_yojson_conv_lib.Yojson_conv_error. record_duplicate_fields
275+ _tp_loc
276+ (Ppx_yojson_conv_lib. ( ! ) duplicates)
277+ yojson
278+ | [] ->
279+ (match Ppx_yojson_conv_lib. ( ! ) extra with
280+ | _ :: _ ->
281+ Ppx_yojson_conv_lib.Yojson_conv_error. record_extra_fields
282+ _tp_loc
283+ (Ppx_yojson_conv_lib. ( ! ) extra)
284+ yojson
285+ | [] ->
286+ let enable_value = Ppx_yojson_conv_lib. ( ! ) enable_field in
287+ { enable =
288+ (match enable_value with
289+ | Ppx_yojson_conv_lib.Option. None -> true
290+ | Ppx_yojson_conv_lib.Option. Some v -> v)
291+ }))
292+ | _ as yojson ->
293+ Ppx_yojson_conv_lib.Yojson_conv_error. record_list_instead_atom _tp_loc yojson
294+ : Ppx_yojson_conv_lib.Yojson.Safe. t -> t)
295+ ;;
296+
297+ let _ = t_of_yojson
298+
299+ let yojson_of_t =
300+ (function
301+ | { enable = v_enable } ->
302+ let bnds : (string * Ppx_yojson_conv_lib.Yojson.Safe.t) list = [] in
303+ let bnds =
304+ let arg = yojson_of_bool v_enable in
305+ (" enable" , arg) :: bnds
306+ in
307+ `Assoc bnds
308+ : t -> Ppx_yojson_conv_lib.Yojson.Safe. t)
309+ ;;
310+
311+ let _ = yojson_of_t
312+
313+ [@@@ end]
314+ end
315+
244316module DuneDiagnostics = struct
245317 type t = { enable : bool [@ default true ] }
246318 [@@ deriving_inline yojson ] [@@ yojson.allow_extra_fields]
@@ -461,6 +533,8 @@ type t =
461533 { codelens : Lens .t Json.Nullable_option .t [@ default None ] [@ yojson_drop_default ( = )]
462534 ; extended_hover : ExtendedHover .t Json.Nullable_option .t
463535 [@ key "extendedHover" ] [@ default None ] [@ yojson_drop_default ( = )]
536+ ; standard_hover : StandardHover .t Json.Nullable_option .t
537+ [@ key "standardHover" ] [@ default None ] [@ yojson_drop_default ( = )]
464538 ; inlay_hints : InlayHints .t Json.Nullable_option .t
465539 [@ key "inlayHints" ] [@ default None ] [@ yojson_drop_default ( = )]
466540 ; dune_diagnostics : DuneDiagnostics .t Json.Nullable_option .t
@@ -480,6 +554,7 @@ let t_of_yojson =
480554 | `Assoc field_yojsons as yojson ->
481555 let codelens_field = ref Ppx_yojson_conv_lib.Option. None
482556 and extended_hover_field = ref Ppx_yojson_conv_lib.Option. None
557+ and standard_hover_field = ref Ppx_yojson_conv_lib.Option. None
483558 and inlay_hints_field = ref Ppx_yojson_conv_lib.Option. None
484559 and dune_diagnostics_field = ref Ppx_yojson_conv_lib.Option. None
485560 and syntax_documentation_field = ref Ppx_yojson_conv_lib.Option. None
@@ -507,6 +582,15 @@ let t_of_yojson =
507582 extended_hover_field := Ppx_yojson_conv_lib.Option. Some fvalue
508583 | Ppx_yojson_conv_lib.Option. Some _ ->
509584 duplicates := field_name :: Ppx_yojson_conv_lib. ( ! ) duplicates)
585+ | "standardHover" ->
586+ (match Ppx_yojson_conv_lib. ( ! ) standard_hover_field with
587+ | Ppx_yojson_conv_lib.Option. None ->
588+ let fvalue =
589+ Json.Nullable_option. t_of_yojson StandardHover. t_of_yojson _field_yojson
590+ in
591+ standard_hover_field := Ppx_yojson_conv_lib.Option. Some fvalue
592+ | Ppx_yojson_conv_lib.Option. Some _ ->
593+ duplicates := field_name :: Ppx_yojson_conv_lib. ( ! ) duplicates)
510594 | "inlayHints" ->
511595 (match Ppx_yojson_conv_lib. ( ! ) inlay_hints_field with
512596 | Ppx_yojson_conv_lib.Option. None ->
@@ -570,13 +654,15 @@ let t_of_yojson =
570654 | [] ->
571655 let ( codelens_value
572656 , extended_hover_value
657+ , standard_hover_value
573658 , inlay_hints_value
574659 , dune_diagnostics_value
575660 , syntax_documentation_value
576661 , merlin_jump_code_actions_value )
577662 =
578663 ( Ppx_yojson_conv_lib. ( ! ) codelens_field
579664 , Ppx_yojson_conv_lib. ( ! ) extended_hover_field
665+ , Ppx_yojson_conv_lib. ( ! ) standard_hover_field
580666 , Ppx_yojson_conv_lib. ( ! ) inlay_hints_field
581667 , Ppx_yojson_conv_lib. ( ! ) dune_diagnostics_field
582668 , Ppx_yojson_conv_lib. ( ! ) syntax_documentation_field
@@ -590,6 +676,10 @@ let t_of_yojson =
590676 (match extended_hover_value with
591677 | Ppx_yojson_conv_lib.Option. None -> None
592678 | Ppx_yojson_conv_lib.Option. Some v -> v)
679+ ; standard_hover =
680+ (match standard_hover_value with
681+ | Ppx_yojson_conv_lib.Option. None -> None
682+ | Ppx_yojson_conv_lib.Option. Some v -> v)
593683 ; inlay_hints =
594684 (match inlay_hints_value with
595685 | Ppx_yojson_conv_lib.Option. None -> None
@@ -618,6 +708,7 @@ let yojson_of_t =
618708 (function
619709 | { codelens = v_codelens
620710 ; extended_hover = v_extended_hover
711+ ; standard_hover = v_standard_hover
621712 ; inlay_hints = v_inlay_hints
622713 ; dune_diagnostics = v_dune_diagnostics
623714 ; syntax_documentation = v_syntax_documentation
@@ -667,6 +758,16 @@ let yojson_of_t =
667758 let bnd = " inlayHints" , arg in
668759 bnd :: bnds)
669760 in
761+ let bnds =
762+ if None = v_standard_hover
763+ then bnds
764+ else (
765+ let arg =
766+ (Json.Nullable_option. yojson_of_t StandardHover. yojson_of_t) v_standard_hover
767+ in
768+ let bnd = " standardHover" , arg in
769+ bnd :: bnds)
770+ in
670771 let bnds =
671772 if None = v_extended_hover
672773 then bnds
@@ -696,9 +797,10 @@ let _ = yojson_of_t
696797let default =
697798 { codelens = Some { enable = false }
698799 ; extended_hover = Some { enable = false }
800+ ; standard_hover = Some { enable = true }
699801 ; inlay_hints = Some { hint_pattern_variables = false ; hint_let_bindings = false }
700802 ; dune_diagnostics = Some { enable = true }
701803 ; syntax_documentation = Some { enable = false }
702- ; merlin_jump_code_actions = Some { enable = true }
804+ ; merlin_jump_code_actions = Some { enable = false }
703805 }
704806;;
0 commit comments