https://github.com/EasyCrypt/easycrypt
Raw File
Tip revision: 8aa82eab0051a774c5bdaadad88869c196c38a50 authored by Pierre-Yves Strub on 29 March 2022, 10:28:41 UTC
[matching]: when crossing a binder, update the env. accordingly
Tip revision: 8aa82ea
XDG.mli
(* --------------------------------------------------------------------
 * Copyright (c) - 2012--2016 - IMDEA Software Institute
 * Copyright (c) - 2012--2021 - Inria
 * Copyright (c) - 2012--2021 - Ecole Polytechnique
 *
 * Distributed under the terms of the CeCILL-C-V1 license
 * -------------------------------------------------------------------- *)

(* -------------------------------------------------------------------- *)
type path = string

type xdgroots = {
  xdg_data_home   : path;
  xdg_config_home : path;
  xdg_cache_home  : path;
  xdg_data_dirs   : path list;
  xdg_config_dirs : path list;
}

val xdgroots : xdgroots

exception XdgUndefined of string

(* -------------------------------------------------------------------- *)
val home : string

(* -------------------------------------------------------------------- *)
type mode = [`User | `System | `All]

type xdgfile =
     ?roots:xdgroots
  -> ?exists:bool
  -> appname:string
  -> mode:mode
  -> path
  -> path list

(* -------------------------------------------------------------------- *)
module Data : sig
  val user   : ?roots:xdgroots -> unit -> path
  val system : ?roots:xdgroots -> unit -> path list
  val all    : ?roots:xdgroots -> unit -> path list
  val file   : xdgfile
end

(* -------------------------------------------------------------------- *)
module Config : sig
  val user   : ?roots:xdgroots -> unit -> path
  val system : ?roots:xdgroots -> unit -> path list
  val all    : ?roots:xdgroots -> unit -> path list
  val file   : xdgfile
end

(* -------------------------------------------------------------------- *)
module Cache : sig
  val user : ?roots:xdgroots -> unit -> path
  val file : xdgfile
end
back to top