module Normalized:sig
..end
The Normalized
module is simply a wrapper that ensures that paths are
always normalized. Used by Datatype.Filepath
.
typet = private
string
The normalized (absolute) path.
val of_string : ?existence:Filepath.existence ->
?base_name:string -> string -> t
of_string s
converts s
into a normalized path.
Invalid_argument
if s
is the empty string.val concat : ?existence:Filepath.existence ->
t -> string -> t
concat ~existence dir file
returns the normalized path
resulting from the concatenation of dir
^ "/" ^ file
.
The resulting path must respect existence
.
val to_pretty_string : t -> string
to_pretty_string p
returns p
prettified,
that is, a relative path-like string.
Note that this prettified string may contain symbolic dirs and is thus
is not a path.
See pretty
for details about usage.
val to_string_list : t list -> string list
to_string_list l
returns l
as a list of strings containing the
absolute paths to the elements of l
.
val equal : t -> t -> bool
val compare : t -> t -> int
Compares normalized paths
val compare_pretty : ?case_sensitive:bool -> t -> t -> int
Compares prettified (i.e. relative) paths, with or without
case sensitivity (by default, case_sensitive = false
).
val pretty : Stdlib.Format.formatter -> t -> unit
Pretty-print a path according to these rules:
Filepath.add_symbolic_dir
for more details.
Therefore, the result of this function may not designate a valid name
in the filesystem and must ONLY be used to pretty-print information;
it must NEVER to be converted back to a filepath later.val pp_abs : Stdlib.Format.formatter -> t -> unit
Pretty-prints the normalized (absolute) path.
val unknown : t
Unknown filepath, used as 'dummy' for Datatype.Filepath
.
val is_unknown : t -> bool
val empty : t
Empty filepath, used as 'dummy' for Datatype.Filepath
.
val is_empty : t -> bool
val is_special_stdout : t -> bool
is_special_stdout f
returns true
iff f
is '-' (a single dash),
which is a special notation for 'stdout'.
val is_file : t -> bool
is_file f
returns true
iff f
points to a regular file
(or a symbolic link pointing to a file).
Returns false
if any errors happen when stat
'ing the file.
val to_base_uri : t -> string option * string
to_base_uri path
returns a pair prefix, rest
, according to the
prettified value of path
:
rest
contains everything after the '/' following the prefix.
E.g. for the path "FRAMAC_SHARE/libc/string.h", returns
("FRAMAC_SHARE", "libc/string.h").