Skip to content
Abstract engine for text edition in OCaml
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Setup code owners Aug 20, 2018
pkg Add topkg boilerplate Nov 6, 2017
src rectify typo and grammatical mistake Jun 8, 2019
.gitignore Move to jbuilder Mar 28, 2017
.travis.yml reformat the overlong sentence Jun 8, 2019
LICENSE fix LICENSE date Aug 25, 2011
Makefile Switch to `dune` Aug 22, 2018
dune-project Switch to `dune` Aug 22, 2018 Switch to `dune` Aug 22, 2018
style.css initial import Mar 1, 2011
zed.descr Add zed.descr Nov 6, 2017
zed.opam zed.opam: add charInfo_width as dependency May 14, 2019


Build Status

Zed is an abstract engine for text edition. It can be used to write text editors, edition widgets, readlines, ... You just have to connect an engine to your inputs and rendering functions to get an editor.

Zed provides:

  • edition state management,
  • multiple cursor support,
  • key-binding helpers,
  • general purpose unicode rope manipulation functions.


To build and install zed, use opam:

$ opam install zed


  • Zed_edit: the main module, it defines edition engines.
  • Zed_cursor: manages cursors. Cursors are automatically updated when the text is modified.
  • Zed_lines: maintains the offsets of beginning of lines.
  • Zed_input: helpers for implementing key bindings.
  • Zed_macro: helpers for writing macro systems.
  • Zed_utf8: general purpose UTF-8 strings manipulation.
  • Zed_rope: general purpose unicode ropes manipulation.
  • Zed_char: general purpose unicode characters manipulation.
  • Zed_string: general purpose unicode strings manipulation.
You can’t perform that action at this time.