package merlin-lib
Merlin's libraries
Install
Dune Dependency
Authors
Maintainers
Sources
merlin-5.5-503.tbz
sha256=67da3b34f2fea07678267309f61da4a2c6f08298de0dc59655b8d30fd8269af1
sha512=1fb3b5180d36aa82b82a319e15b743b802b6888f0dc67645baafdb4e18dfc23a7b90064ec9bc42f7424061cf8cde7f8839178d8a8537bf4596759f3ff4891873
doc/src/merlin-lib.index_format/lid.ml.html
Source file lid.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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
module G = Granular_marshal type pos = { lnum : int; cnum : int; bol : int } let pos_of_loc { Lexing.pos_lnum = lnum; pos_cnum = cnum; pos_bol = bol; _ } = { lnum; cnum; bol } let loc_of_pos pos_fname { lnum; cnum; bol } = { Lexing.pos_lnum = lnum; pos_cnum = cnum; pos_bol = bol; pos_fname } type t = { longident : Longident.t G.link; filename : string G.link; start : pos; stop : pos; ghost : bool } let of_lid { Location.txt; loc = { loc_start; loc_end; loc_ghost } } = { filename = G.link loc_start.pos_fname; longident = G.link txt; ghost = loc_ghost; start = pos_of_loc loc_start; stop = pos_of_loc loc_end } let to_lid { filename; longident; ghost; start; stop } = let filename = G.fetch filename in let loc_start = loc_of_pos filename start in let loc_end = loc_of_pos filename stop in { Location.txt = G.fetch longident; loc = { loc_start; loc_end; loc_ghost = ghost } } let pp fmt t = let { Location.txt; loc } = to_lid t in Format.fprintf fmt "%S: %a" (try Longident.flatten txt |> String.concat "." with _ -> "<?>") Location.print_loc loc let compare_pos p1 p2 = Int.compare p1.cnum p2.cnum let compare_filename t1 t2 = String.compare (G.fetch t1.filename) (G.fetch t2.filename) let compare t1 t2 = match compare_filename t1 t2 with | 0 -> ( match compare_pos t1.start t2.start with | 0 -> compare_pos t1.stop t2.stop | c -> c) | c -> c let type_string : string G.link Type.Id.t = Type.Id.make () let type_longident : Longident.t G.link Type.Id.t = Type.Id.make () let schema iter t = iter.G.yield t.filename type_string G.schema_no_sublinks; iter.G.yield t.longident type_longident G.schema_no_sublinks module Li = struct include Longident let equal = ( = ) let hash = Hashtbl.hash end let cache () = G.(cache (module String), cache (module Li)) let deduplicate (cache_filename, cache_lid) t = cache_filename t.filename; cache_lid t.longident
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>