package merlin-lib
Merlin's libraries
Install
Dune Dependency
Authors
Maintainers
Sources
merlin-4.18-414.tbz
sha256=f6d6f7a266141e358c1a869612c8135c859185d547ea3ba5c9ad7bb67fe30cc1
sha512=4f272bdb028fd984fef406f7e1eadd0a3ab99d94016316f1b842782b1d1bba2bd50dcf3b4021c2096c6d9b5e5f9f6bae61bedcfd9f933f15c190e01777ef83a9
doc/src/merlin-lib.utils/file_id.ml.html
Source file file_id.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
type t = Unix.stats let null_stat = { Unix.st_dev = -1; st_ino = -1; st_kind = Unix.S_REG; st_nlink = -1; st_perm = -1; st_uid = -1; st_gid = -1; st_rdev = -1; st_size = -1; st_atime = nan; st_mtime = nan; st_ctime = nan } let get_res filename = try Result.ok @@ Unix.stat filename with _ -> Error ("Stat for" ^ filename ^ "couldn't be gathered") let get filename = match get_res filename with | Ok fn -> fn | Error _ -> null_stat let check a b = a == b || a != null_stat && b != null_stat && let open Unix in a.st_mtime = b.st_mtime && a.st_size = b.st_size && a.st_ino = b.st_ino && a.st_dev = b.st_dev let cache = ref None let with_cache k = Std.let_ref cache (Some (Hashtbl.create 7)) k let get filename = match !cache with | None -> get filename | Some table -> ( match Hashtbl.find table filename with | stats -> Logger.log ~section:"stat_cache" ~title:"reuse cache" "%s" filename; stats | exception Not_found -> let stats = get filename in Hashtbl.add table filename stats; stats)
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>