package file_path

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
include File_path_io.S with type 'a io := 'a Async.Deferred.t
val executable_name : File_path.t Core.Lazy.t

The currently running executable.

OCaml semantics do not guarantee an absolute path here.

File I/O Wrappers

These functions abstract over either In_channel and Out_channel, or Async.Reader and Async.Writer.

val read_file : File_path.t -> string Async.Deferred.t
val write_file : File_path.t -> contents:string -> unit Async.Deferred.t
val load_sexps : File_path.t -> Core.Sexp.t list Async.Deferred.t
val load_as_sexp : File_path.t -> of_sexp:(Core.Sexp.t -> 'a) -> 'a Async.Deferred.t
val load_as_sexps : File_path.t -> of_sexp:(Core.Sexp.t -> 'a) -> 'a list Async.Deferred.t
val save_sexp : File_path.t -> Core.Sexp.t -> unit Async.Deferred.t
val save_sexps : File_path.t -> Core.Sexp.t list -> unit Async.Deferred.t
val save_as_sexp : File_path.t -> 'a -> sexp_of:('a -> Core.Sexp.t) -> unit Async.Deferred.t
val save_as_sexps : File_path.t -> 'a list -> sexp_of:('a -> Core.Sexp.t) -> unit Async.Deferred.t

Filename Wrappers

These functions abstract over Filename_unix.

val realpath_relative_to_cwd : File_path.t -> File_path.Absolute.t Async.Deferred.t

Sys Wrappers

These functions abstract over either Core.Sys or Async.Sys.

val exists : File_path.t -> [ `Yes | `No | `Unknown ] Async.Deferred.t
val exists_exn : File_path.t -> bool Async.Deferred.t
val is_directory : File_path.t -> [ `Yes | `No | `Unknown ] Async.Deferred.t
val is_directory_exn : File_path.t -> bool Async.Deferred.t
val is_file : File_path.t -> [ `Yes | `No | `Unknown ] Async.Deferred.t
val is_file_exn : File_path.t -> bool Async.Deferred.t

Unix Wrappers

These functions abstract over either Core_unix or Async.Unix.

val rmdir : File_path.t -> unit Async.Deferred.t
val chdir : File_path.t -> unit Async.Deferred.t
val rename : src:File_path.t -> dst:File_path.t -> unit Async.Deferred.t
val mkdir : ?parents:bool -> File_path.t -> unit Async.Deferred.t

Current Directory Functions

These functions combine File_path and getcwd.

val make_absolute_under_cwd : File_path.t -> File_path.Absolute.t Async.Deferred.t

Like File_path.make_absolute ~under:(getcwd ()). Avoids calling getcwd unless necessary.

val make_relative_to_cwd : File_path.t -> File_path.Relative.t option Async.Deferred.t

Like File_path.make_relative ~if_under:(getcwd ()). Avoids calling getcwd unless necessary.

val make_relative_to_cwd_exn : File_path.t -> File_path.Relative.t Async.Deferred.t

Like make_relative_to_cwd. Raises instead of returning None.

val make_relative_to_cwd_if_possible : File_path.t -> File_path.t Async.Deferred.t

Like make_relative_to_cwd. Returns the original path instead of None.