package directories
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=89aa3586af3c38aea17302cfb0b6243afdf0fd90b2eb1f86fb69990917304445
sha512=3302f8c8c2c3ecc217f199e97d8d32d1ef14af9dd3763cbc1030522832ce375192422f7b6b6acd8cd8399d96ccd52d5e5cfffac3cb392f1cf8b9f67374c1cf7c
Description
directories is an OCaml library that provides configuration, cache and data paths (and more!) following the suitable conventions on Linux, macOS and Windows. It is inspired by similar libraries for other languages such as directories-jvm. The following conventions are used: XDG Base Directory Specification and xdg-user-dirs on Linux, Known Folders on Windows, Standard Directories on macOS.
Published: 09 Nov 2020
README
directories
directories is an OCaml library that provides configuration, cache and data paths (and more!) following the suitable conventions on Linux, macOS and Windows. It is inspired by similar libraries for other languages such as directories-jvm.
The following conventions are used:
XDG Base Directory Specification and xdg-user-dirs on Linux
Known Folders on Windows
Standard Directories on macOS
On Linux and macOS it has no dependency. On Windows, it depends only on ctypes.
Quickstart
You should depend on directories
then :
let () =
let module App_id = struct
let qualifier = "com"
let organization = "YourCompany"
let application = "yourapp"
end in
let module M = Directories.Project_dirs (App_id) in
let option_value = function None -> "None" | Some v -> v in
Format.printf "cache dir = `%s`@." (option_value M.cache_dir);
Format.printf "config dir = `%s`@." (option_value M.config_dir);
Format.printf "data dir = `%s`@." (option_value M.data_dir)
For more, have a look at the example folder.
About
Dependencies (4)
-
ctypes
>= "0.17.1" | "os" != "win32" | "os" != "mingw"
-
ctypes-foreign
>= "0.4.0" | "os" != "win32" | "os" != "mingw"
-
ocaml
>= "4.07.0"
-
dune
>= "2.1"
Dev Dependencies
None
Used by (5)
-
bogue
= "20231209"
- catapult-sqlite
- ccbg
- gotd
- sun
Conflicts
None