module Filename:sig
..end
Core.Core_filename
.val normalize : string -> string
normalize path
Removes as much "." and ".." from the path as possible. If the path is
absolute they will all be removed.val parent : string -> string
parent path
The parent of the root directory is the root directorypath
.val make_relative : ?to_:string -> string -> string
make_relative ~to_:src f
returns f
relative to src
.Failure
if is_relative f <> is_relative src
val make_absolute : string -> string
make_absolute src
Turn src
in an absolute path expanded from the current working directory.val expand : ?from:string -> string -> string
expand
Makes a path absolute and expands ~
~username
to home directories.
In case of error (e.g.: path home of a none existing user) raises Failure
with a (hopefully) helpful message.val explode : string -> string list
val implode : string list -> string
val compare : string -> string -> int
String.collate
("rfc02.txt > rfc1.txt") and extenstions ("a.c" > "a.h").
It is a total comparaison on normalized filenames.
val with_open_temp_file : ?in_dir:string ->
?write:(Pervasives.out_channel -> unit) ->
f:(string -> 'a) -> string -> string -> 'a
with_open_temp_file ~write ~f prefix suffix
create a temporary file; runs write
on its out_channel
and then f
on
the resulting file. The file is removed once f
is done running.val with_temp_dir : ?in_dir:string -> string -> string -> f:(string -> 'a) -> 'a
f
with a temporary dir as option and removes the directory afterwards.val is_parent : string -> string -> bool