1{ lib, fetchFromGitHub, buildDunePackage, zed, lwt_log, lwt_react, mew_vi }:
2
3buildDunePackage rec {
4 pname = "lambda-term";
5 version = "3.1.0";
6
7 useDune2 = true;
8
9 src = fetchFromGitHub {
10 owner = "ocaml-community";
11 repo = pname;
12 rev = version;
13 sha256 = "1k0ykiz0vhpyyj9fkss29ajas4fh1xh449j702xkvayqipzj1mkg";
14 };
15
16 propagatedBuildInputs = [ zed lwt_log lwt_react mew_vi ];
17
18 meta = { description = "Terminal manipulation library for OCaml";
19 longDescription = ''
20 Lambda-term is a cross-platform library for
21 manipulating the terminal. It provides an abstraction for keys,
22 mouse events, colors, as well as a set of widgets to write
23 curses-like applications.
24
25 The main objective of lambda-term is to provide a higher level
26 functional interface to terminal manipulation than, for example,
27 ncurses, by providing a native OCaml interface instead of bindings to
28 a C library.
29
30 Lambda-term integrates with zed to provide text edition facilities in
31 console applications.
32 '';
33
34 inherit (src.meta) homepage;
35 license = lib.licenses.bsd3;
36 maintainers = [
37 lib.maintainers.gal_bolle
38 ];
39 };
40}