path.mli (1261B)
1 (* Unison file synchronizer: src/path.mli *) 2 (* Copyright 1999-2020, Benjamin C. Pierce (see COPYING for details) *) 3 4 (* Abstract type of relative pathnames *) 5 type 'a path 6 7 (* Pathname valid on both replicas (case insensitive in case 8 insensitive mode) *) 9 type t = [`Global] path 10 11 (* Pathname specialized to a replica (case sensitive on a case 12 sensitive filesystem) *) 13 type local = [`Local] path 14 15 val mpath : 'a path Umarshal.t 16 val m : t Umarshal.t 17 val mlocal : local Umarshal.t 18 19 val empty : 'a path 20 val length : t -> int 21 val isEmpty : local -> bool 22 23 val child : 'a path -> Name.t -> 'a path 24 val parent : local -> local 25 val finalName : t -> Name.t option 26 val deconstruct : 'a path -> (Name.t * 'a path) option 27 val deconstructRev : local -> (Name.t * local) option 28 29 val fromString : string -> 'a path 30 val toNames : t -> Name.t list 31 val toString : 'a path -> string 32 val toDebugString : local -> string 33 34 val addSuffixToFinalName : local -> string -> local 35 val addPrefixToFinalName : local -> string -> local 36 val addToFinalName : local -> string -> local 37 (* Add to the final name, but before any file extension. *) 38 39 val compare : t -> t -> int 40 41 val followLink : local -> bool 42 val followPred : Pred.t 43 44 val forceLocal : t -> local 45 val makeGlobal : local -> t