unison

Fork of Unison, a bi-directional file synchronization tool
git clone git://git.laack.co/unison.git
Log | Files | Refs | README | LICENSE

fspath.mli (1268B)


      1 (* Unison file synchronizer: src/fspath.mli *)
      2 (* Copyright 1999-2020, Benjamin C. Pierce (see COPYING for details) *)
      3 
      4 (* Defines an abstract type of absolute filenames (fspaths) *)
      5 
      6 type t
      7 
      8 val m : t Umarshal.t
      9 
     10 val child : t -> Name.t -> t
     11 val concat : t -> Path.local -> t
     12 
     13 val canonize : string option -> t
     14 val toString : t -> string
     15 val toPrintString : t -> string
     16 val toDebugString : t -> string
     17 
     18 (* If fspath+path refers to a (followed) symlink, then return the directory  *)
     19 (* of the symlink's target; otherwise return the parent dir of path.  If     *)
     20 (* fspath+path is a root directory, raise Fatal.                             *)
     21 val findWorkingDir : t -> Path.local -> (t * Path.local)
     22 
     23 (* Return the least distinguishing suffixes of two fspaths, for displaying   *)
     24 (* in the user interface.                                                    *)
     25 val differentSuffix: t -> t -> (string * string)
     26 
     27 (* Return the AppleDouble filename; if root dir, raise Invalid_argument      *)
     28 val appleDouble : t -> t
     29 (* Return the resource fork filename; if root dir, raise Invalid_argument    *)
     30 val rsrc : t -> t
     31 
     32 (* Escaped fspath (to pass as shell parameter) *)
     33 val quotes : t -> string
     34 
     35 (* CASE-SENSITIVE comparison between fspaths *)
     36 val compare : t -> t -> int