package merlin-lib
Merlin's libraries
Install
Dune Dependency
Authors
Maintainers
Sources
merlin-5.3-502.tbz
sha256=2cea46f12397fa6e31ef0c0d4f5e11c1cfd916ee49420694005c95ebb3aa24bc
sha512=e94abb9ae38149245337db033e2c3891c7ec772168e99abf1bda0216a894c0854e7170b56fe88eba83ec98f2ebc0f5c7c723e8db14f59eeb6dd348bec12c6d62
doc/src/merlin-lib.kernel/mppx.ml.html
Source file mppx.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
open Mconfig let { Logger.log } = Logger.for_section "Mppx" let with_include_dir ~visible_path ~ f = let saved_visible = !Clflags.include_dirs in let = !Clflags.hidden_include_dirs in let restore () = Clflags.include_dirs := saved_visible; Clflags.hidden_include_dirs := saved_hidden in Clflags.include_dirs := visible_path; Clflags.hidden_include_dirs := hidden_path; let result = begin try f () with e -> restore (); raise e end in restore (); result let rewrite parsetree cfg = let ppx = cfg.ocaml.ppx in (* add include path attribute to the parsetree *) with_include_dir ~visible_path:(Mconfig.build_path cfg) ~hidden_path:(Mconfig.hidden_build_path cfg) @@ fun () -> match Pparse.apply_rewriters ~restore:false ~ppx ~tool_name:"merlin" parsetree with | parsetree -> parsetree | exception exn -> log ~title:"rewrite" "failed with %a" Logger.fmt (fun fmt -> match Location.error_of_exn exn with | None | Some `Already_displayed -> Format.fprintf fmt "%s" (Printexc.to_string exn) | Some (`Ok err) -> Location.print_main fmt err); Msupport.raise_error exn; parsetree
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>