Module Stdune__.Path
module Local : sig ... end
In the current workspace (anything under the current project root)
module External : sig ... end
In the outside world
module Kind : sig ... end
val to_sexp : t Stdune.Sexp.Encoder.t
val compare : t -> t -> Stdune.Ordering.t
a directory is smaller than its descendants
module Set : sig ... end
module Map : Stdune.Map.S with type key = t
module Table : Stdune.Hashtbl.S with type key = t
val of_string : ?error_loc:Stdune__.Loc0.t -> string -> t
val to_string : t -> string
val to_string_maybe_quoted : t -> string
to_string_maybe_quoted t
ismaybe_quoted (to_string t)
val kind : t -> Kind.t
val root : t
val is_root : t -> bool
val is_managed : t -> bool
val relative : ?error_loc:Stdune__.Loc0.t -> t -> string -> t
val of_filename_relative_to_initial_cwd : string -> t
Create an external path. If the argument is relative, assume it is relative to the initial directory dune was launched in.
val to_absolute_filename : t -> string
Convert a path to an absolute filename. Must be called after the workspace root has been set.
root
is the root directory of local paths
val reach : t -> from:t -> string
val reach_for_running : ?from:t -> t -> string
from
defaults toPath.root
val descendant : t -> of_:t -> t option
val is_descendant : t -> of_:t -> bool
val append : t -> t -> t
val append_local : t -> Local.t -> t
val basename : t -> string
val parent : t -> t option
val parent_exn : t -> t
val is_suffix : t -> suffix:string -> bool
val extend_basename : t -> suffix:string -> t
val extract_build_context : t -> (string * t) option
Extract the build context from a path. For instance, representing paths as strings:
extract_build_context "_build/blah/foo/bar" = Some ("blah", "foo/bar")
val extract_build_context_dir : t -> (t * t) option
Same as
extract_build_context
but return the build context as a path:extract_build_context "_build/blah/foo/bar" = Some ("_build/blah", "foo/bar")
val drop_build_context_exn : t -> t
val drop_optional_build_context : t -> t
Drop the "_build/blah" prefix if present, return
t
otherwise
val sandbox_managed_paths : sandbox_dir:t -> t -> t
Transform managed paths so that they are descedant of
sandbox_dir
.
val explode : t -> string list option
val explode_exn : t -> string list
val build_dir : t
The build directory
val is_in_build_dir : t -> bool
is_in_build_dir t = is_descendant t ~of:build_dir
val is_in_source_tree : t -> bool
is_in_build_dir t = is_managed t && not (is_in_build_dir t)
val is_alias_stamp_file : t -> bool
val is_strict_descendant_of_build_dir : t -> bool
is_strict_descendant_of_build_dir t = is_in_build_dir t && t <> build_dir
val insert_after_build_dir_exn : t -> string -> t
val exists : t -> bool
val readdir_unsorted : t -> string list
val is_directory : t -> bool
val rmdir : t -> unit
val unlink : t -> unit
val unlink_no_err : t -> unit
val rm_rf : t -> unit
val mkdir_p : t -> unit
val extension : t -> string
val split_extension : t -> t * string
val pp : Stdlib.Format.formatter -> t -> unit
val pp_in_source : Stdlib.Format.formatter -> t -> unit
val pp_debug : Stdlib.Format.formatter -> t -> unit
val build_dir_exists : unit -> bool
val ensure_build_dir_exists : unit -> unit
val set_build_dir : Kind.t -> unit
set the build directory. Can only be called once and must be done before paths are converted to strings elsewhere.
val in_source : string -> t
paths guaranteed to be in the source directory
val of_local : Local.t -> t
val set_root : External.t -> unit
Set the workspace root. Can only be called once and the path must be absolute
module Internal : sig ... end
Internal use only
module L : sig ... end