package lsp

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Temporary file management

This module provides a high-level interface for temporary files. It ensures that all temporary files created by the application are systematically cleaned up on exit.

type what =
  1. | Dir
  2. | File
val temp_in_dir : ?perms:int -> what -> dir:Path.t -> prefix:string -> suffix:string -> Path.t

Create a temporary file or directory inside an existing directory

val create : ?perms:int -> what -> prefix:string -> suffix:string -> Path.t
val destroy : what -> Path.t -> unit
val clear_dir : Path.t -> unit

Delete the contents of a temporary directory without deleting the directory itself.

val temp_path : dir:Path.t -> prefix:string -> suffix:string -> Path.t

temp_path ~dir ~prefix ~suffix generate a temporary path in dir. The base name of the temporary file is formed by concatenating prefix, then a suitably chosen integer number, then suffix.

val with_temp_path : dir:Path.t -> prefix:string -> suffix:string -> f:((Path.t, exn) Stdlib.result -> 'a) -> 'a

Like temp_path, but passes the temporary file to the callback f, and makes sure the temporary file is deleted when f completes. If f raises an exception, the exception is reraised (and the file is still deleted).