https://github.com/EasyCrypt/easycrypt
Raw File
Tip revision: e422fcb07e3f2b54871c7686ce0c329db5b01397 authored by Pierre-Yves Strub on 24 July 2021, 17:58:50 UTC
Improve search command
Tip revision: e422fcb
XDG.mli
(* --------------------------------------------------------------------
 * Copyright (c) - 2012--2016 - IMDEA Software Institute
 * Copyright (c) - 2012--2018 - Inria
 * Copyright (c) - 2012--2018 - 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