package dune-site
Embed locations information inside executable and libraries
Install
Dune Dependency
Authors
Maintainers
Sources
dune-3.17.2.tbz
sha256=9deafeed0ecfe9e65e642cd8e6197f0864f73fcd7b94b5b199ae4d2e07a2ea64
sha512=1e85bb297a12c9571b8645541d85a719deffb619d5e4f48dbf4566ac14e9f385d8a05342698a6f9c81ba17325b1da4ad004a5772d66cd88ed135c43d43e88f9e
doc/src/dune-site.private/dune_site_private.ml.html
Source file dune_site_private.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 43 44 45 46 47 48 49 50 51
(* TODO already exists in stdune/bin.ml *) let path_sep = if Sys.win32 then ';' else ':' let dune_dir_locations_env_var = "DUNE_DIR_LOCATIONS" let dune_ocaml_stdlib_env_var = "DUNE_OCAML_STDLIB" let dune_ocaml_hardcoded_env_var = "DUNE_OCAML_HARDCODED" let dune_sourceroot_env_var = "DUNE_SOURCEROOT" type entry = { package : string ; section : Dune_section.t ; dir : string } let decode_dune_dir_locations = let rec aux acc = function | [] -> Some (List.rev acc) | package :: section :: dir :: l -> let section = match Dune_section.of_string section with | None -> invalid_arg ("Dune-site: Unknown section " ^ section) | Some s -> s in aux ({ package; section; dir } :: acc) l | _ -> None in fun s -> let l = String.split_on_char path_sep s in aux [] l ;; let encode_dune_dir_locations = let add b { package; section; dir } = Buffer.add_string b package; Buffer.add_char b path_sep; Buffer.add_string b (Dune_section.to_string section); Buffer.add_char b path_sep; Buffer.add_string b dir in let rec loop b = function | [] -> () | [ x ] -> add b x | x :: xs -> add b x; Buffer.add_char b path_sep; loop b xs in fun s -> let b = Buffer.create 16 in loop b s; Buffer.contents b ;;
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>