package open
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=2458a64a87437b87b2c195636bec1f811ceab176551db630fbad83af72fde13c
md5=b575f0e265a2877b2b6870b271961c55
README.md.html
ocaml-open: open files in their default applications
Conveniently open files such as PDFs in their default applications straigt from OCaml.
Quick start
You can install the library using opam
:
$ opam install open
Then in utop
or ocaml
,
$ ocaml
> #require "open";;
> Open.in_default_app "/home/steffen/ocaml.svg";;
- : bool = true
// SVG viewer opens and displays ocaml.svg
The boolean returned by Open.in_default_app
indicates whether the open command exited normally:
> Open.in_default_app "/path/to/non-existent.file";;
- : bool = false
// nothing happens
Both absolute and relative paths are supported:
> Open.in_default_app ".";;
- : bool = true
// file manager displays current working directory
API
The tiny API is documented here.
Building from source
Dependencies
The library requires dune
(formerly known as jbuilder) to build, but has no other dependencies.
Building Library and Examples
Run make
to build and make test
to see the library in action. This should open several files from the examples/basic
folder.
There is also a more sophisticated example in examples/graphviz
that requires graphivz and Jane Street's core
(version v0.9.0 or higher). You can build & run it as follows:
jbuilder build @graphviz
Limitations and Implementation
The library has been tested under Linux, MacOS, and Cygwin. There is experimental support for native Windows, but this is untested. The implementation uses
xdg-open
on Linuxopen
on MacOScygstart
on Cygiwn, andcmd start
on Windows.
Suggestion and Contributions
Suggestions and contributions are always welcome. Feel free to submit pull requests.