Module Stdune.FpathSource

Functions on paths that are represented as strings

Sourcetype mkdir_result = [
  1. | `Already_exists
    (*

    The directory already exists. No action was taken.

    *)
  2. | `Created
    (*

    The directory was created.

    *)
  3. | `Missing_parent_directory
]

No parent directory, use mkdir_p if you want to create it too.

Sourceval mkdir : ?perms:int -> string -> mkdir_result
Sourcetype mkdir_p_result = [
  1. | `Already_exists
    (*

    The directory already exists. No action was taken.

    *)
  2. | `Created
    (*

    The directory was created.

    *)
]
Sourceval dyn_of_mkdir_p_result : mkdir_p_result -> Dyn.t
Sourceval mkdir_p : ?perms:int -> string -> mkdir_p_result
Sourceval mkdir_p_strict : ?perms:int -> string -> [ mkdir_p_result | `Not_a_dir ]

link src dst creates a hardlink from src to dst.

follow_symlinks path returns a file path that is equivalent to path, but free of symbolic links. The value None is returned if the maximum symbolic link depth is reached (i.e., follow_symlink returns the value Error Max_depth_exceeded on some intermediate path).

Unlink and return error, if any.

Sourceval rename_exn : string -> string -> unit
Sourceval initial_cwd : string
Sourcetype clear_dir_result =
  1. | Cleared
  2. | Directory_does_not_exist
Sourceval clear_dir : ?chmod:bool -> string -> clear_dir_result

clear_dir t deletes all the contents of directory t without removing t itself.

Sourceval rm_rf : ?chmod:bool -> string -> unit

If the path does not exist, this function is a no-op.

Sourceval is_root : string -> bool
Sourceval traverse : dir:string -> init:'acc -> ?on_file:(dir:string -> Filename.t -> 'acc -> 'acc) -> ?on_dir:(dir:string -> Filename.t -> 'acc -> 'acc) -> ?on_other: [ `Ignore | `Raise | `Call of dir:string -> Filename.t -> Unix.file_kind -> 'acc -> 'acc ] -> ?on_symlink: [ `Ignore | `Resolve | `Raise | `Call of dir:string -> Filename.t -> 'acc -> 'acc * Unix.file_kind option ] -> ?enter_dir:(dir:string -> Filename.t -> bool) -> ?on_error: [ `Ignore | `Raise | `Call of dir:string -> Unix_error.Detailed.t -> 'acc -> 'acc ] -> unit -> 'acc
Sourceval traverse_files : dir:string -> init:'acc -> f:(dir:string -> Filename.t -> 'acc -> 'acc) -> 'acc

is_broken_simlink path returns true iff path refers to a symlink whose target does not exist. Returns false if path is not a symlink, or is a symlink whose target exists.

Sourceval is_directory : string -> bool
Sourceval exists : string -> bool