Skip to content
Commits on Source (13)
......@@ -4,3 +4,5 @@ _build/
/setup.log
/setup.exe
/setup-dev.exe
.merlin
*.install
\ No newline at end of file
language: c
sudo: required
install: wget https://raw.githubusercontent.com/ocaml/ocaml-ci-scripts/master/.travis-opam.sh
script: bash -ex .travis-opam.sh
env:
- OCAML_VERSION=4.02
- OCAML_VERSION=4.03
- OCAML_VERSION=4.04
- OCAML_VERSION=4.05
- OCAML_VERSION=4.06
- OCAML_VERSION=4.07
os:
- linux
- osx
2.0.3 (2019-08-09)
------------------
* Zed\_string
* `exception Invalid of string * string` raised when an invalid Zed\_char sequence is encounted
* `next_ofs : t -> int -> int` returns the offset of the next zchar in `t`
* `prev_ofs : t -> int -> int` returns the offset of the prev zchar in `t`
2.0.2 (2019-06-21)
------------------
* Zed\_utf8: fix an ofs-stepping bug in function `unsafe_extract_prev`
2.0.1 (2019-06-04)
------------------
* Zed\_char: add an `indv_combining` option to the transforming
functions(`of_uChars, zChars_of_uChars, of_utf8`) to determine whether
to extract individual combining marks from the parameter (#18)
* Zed\_char: clarify some documentation comments (#18)
2.0 (2019-05-17)
----------------
### Additions
* module Zed\_char
* module Zed\_string
* Zed\_cursor
* `column_display: Zed_cursor.t -> int React.signal`
* `get_column: Zed_cursor.t -> int`
* `coordinates_display: Zed_cursor.t -> (int * int) React.signal`
* `get_coordinates: Zed_cursor.t -> int * int`
* Zed\_edit
* `regexp_word_core: Zed_re.Core.t`
* `regexp_word_raw: Zed_re.raw.t`
* `match_by_regexp_core`
* `match_by_regexp_raw`
### Breaking
* Zed\_rope
* Zed\_rope.empty is a function now
* Other functions in this module take `Zed_char.t` or `Zed_string.t` as arguemnts instead of `UChar.t` or `Zed_utf8.t`
* module Zipper is divided into two modules, Zip and Zip\_raw, to navigate over a rope by Zed\_char.t or UChar.t, respectively
* module Text is divided into three modules, Text, Text\_core, Text\_raw, to manager Zed\_rope by Zed\_char.t, the core UChar.t of a `Zed_char.t` and raw `UChar.t`, respectively
* Zed\_re is therefore divided into two modules: Core and Raw
* Zed\_cursor: the type `changes` is defined as a structure and has two more fields: `added_width` and `removed_width`
### General
* README: Add Travis badge (Kevin Ji, #11)
* Add travis config (Anurag Soni, #10)
* Switch to dune (Anurag Soni, #9)
1.6 (2017-11-05)
----------------
* safe-string compatibility (#8)
1.5 (2017-04-26)
----------------
* Switch to jbuilder (Rudi Gringberg, #4)
* Make `{delete_,kill_,}{next,prev}_word` consistent near the
start/end of the buffer (Fabian (github use copy), #5)
1.4 (2015-01-07)
----------------
......
# Makefile
# --------
# Copyright : (c) 2012, Jeremie Dimino <jeremie@dimino.org>
# Licence : BSD3
#
# Generic Makefile for oasis project
build:
dune build
# Set to setup.exe for the release
SETUP := setup.exe
test:
dune runtest
# Default rule
default: build
all-supported-ocaml-versions:
dune build @install @runtest --workspace dune-workspace.dev
# Setup for the development version
setup-dev.exe: _oasis setup.ml
sed '/^#/D' setup.ml > setup_dev.ml
ocamlfind ocamlopt -o $@ -linkpkg -package ocamlbuild,oasis.dynrun setup_dev.ml || \
ocamlfind ocamlc -o $@ -linkpkg -package ocamlbuild,oasis.dynrun setup_dev.ml || true
rm -f setup_dev.*
clean:
dune clean
# Setup for the release
setup.exe: setup.ml
ocamlopt.opt -o $@ $< || ocamlopt -o $@ $< || ocamlc -o $@ $<
rm -f setup.cmx setup.cmi setup.o setup.obj setup.cmo
build: $(SETUP) setup.data
./$(SETUP) -build $(BUILDFLAGS)
doc: $(SETUP) setup.data build
./$(SETUP) -doc $(DOCFLAGS)
test: $(SETUP) setup.data build
./$(SETUP) -test $(TESTFLAGS)
all: $(SETUP)
./$(SETUP) -all $(ALLFLAGS)
install: $(SETUP) setup.data
./$(SETUP) -install $(INSTALLFLAGS)
uninstall: $(SETUP) setup.data
./$(SETUP) -uninstall $(UNINSTALLFLAGS)
reinstall: $(SETUP) setup.data
./$(SETUP) -reinstall $(REINSTALLFLAGS)
clean: $(SETUP)
./$(SETUP) -clean $(CLEANFLAGS)
distclean: $(SETUP)
./$(SETUP) -distclean $(DISTCLEANFLAGS)
configure: $(SETUP)
./$(SETUP) -configure $(CONFIGUREFLAGS)
setup.data: $(SETUP)
./$(SETUP) -configure $(CONFIGUREFLAGS)
.PHONY: default build doc test all install uninstall reinstall clean distclean configure
.PHONY: build all-supported-ocaml-versions clean test
Zed
===
[![Build Status](https://travis-ci.org/ocaml-community/zed.svg?branch=master)](https://travis-ci.org/ocaml-community/zed)
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
......@@ -13,40 +15,12 @@ Zed provides:
* key-binding helpers,
* general purpose unicode rope manipulation functions.
Dependencies
------------
* [OCaml](http://caml.inria.fr/ocaml/) (>= 3.12)
* [findlib](http://projects.camlcity.org/projects/findlib.html)
* [Camomile](http://github.com/yoriyuki/Camomile) (>= 0.8)
* [react](http://erratique.ch/software/react)
For building the development version, you also need to install
[oasis](http://oasis.forge.ocamlcore.org/) (>= 0.3.0).
Installation
------------
To build and install zed:
$ ./configure
$ make
$ make install
### Documentation _(optional)_
To build the documentation:
$ make doc
It will then be installed by `make install`.
### Tests _(optionnal)_
To build and execute tests:
To build and install zed, use opam:
$ ./configure --enable-tests
$ make test
$ opam install zed
Modules
-------
......@@ -59,3 +33,5 @@ Modules
* `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.
# +-------------------------------------------------------------------+
# | Package parameters |
# +-------------------------------------------------------------------+
OASISFormat: 0.3
OCamlVersion: >= 3.12
Name: zed
Version: 1.4
LicenseFile: LICENSE
License: BSD-3-clause
Authors: Jeremie Dimino
Maintainers: Jeremie Dimino <jeremie@dimino.org>
Homepage: http://zed.forge.ocamlcore.org/
BuildTools: ocamlbuild
Plugins: DevFiles (0.3), META (0.3)
XDevFilesEnableMakefile: false
Synopsis: Abstract engine for text edition in OCaml
Description:
Zed is an abstract engine for text edition. It can be used to
write text editors, edition widgets, readlines, ...
.
Zed uses Camomile to fully support the Unicode specification, and
implements an UTF-8 encoded string type with validation, and a rope
datastructure to achieve efficient operations on large Unicode
buffers. Zed also features a regular expression search on ropes.
.
To support efficient text edition capabilities, Zed provides macro
recording and cursor management facilities.
# +-------------------------------------------------------------------+
# | The library |
# +-------------------------------------------------------------------+
Library zed
FindlibName: zed
BuildDepends: bytes, react, camomile (>= 0.8)
XMETADescription: Edition engine
Path: src
Install: true
Modules:
Zed_utf8,
Zed_rope,
Zed_edit,
Zed_cursor,
Zed_lines,
Zed_re,
Zed_input,
Zed_macro
# +-------------------------------------------------------------------+
# | Doc |
# +-------------------------------------------------------------------+
Document "zed-api"
Title: API reference for Zed
Type: ocamlbuild (0.3)
Install: true
InstallDir: $htmldir/api
DataFiles: style.css
BuildTools: ocamldoc
XOCamlbuildPath: ./
XOCamlbuildLibraries: zed
# +-------------------------------------------------------------------+
# | Misc |
# +-------------------------------------------------------------------+
SourceRepository head
Type: git
Location: https://github.com/diml/zed.git
Browser: https://github.com/diml/zed
# OASIS_START
# DO NOT EDIT (digest: bf9a998597fdf67b0b4fae25145f3bc3)
# Ignore VCS directories, you can use the same kind of rule outside
# OASIS_START/STOP if you want to exclude directories that contains
# useless stuff for the build process
true: annot, bin_annot
<**/.svn>: -traverse
<**/.svn>: not_hygienic
".bzr": -traverse
".bzr": not_hygienic
".hg": -traverse
".hg": not_hygienic
".git": -traverse
".git": not_hygienic
"_darcs": -traverse
"_darcs": not_hygienic
# Library zed
"src/zed.cmxs": use_zed
<src/*.ml{,i,y}>: pkg_bytes
<src/*.ml{,i,y}>: pkg_camomile
<src/*.ml{,i,y}>: pkg_react
# OASIS_STOP
#!/bin/sh
# OASIS_START
# DO NOT EDIT (digest: dc86c2ad450f91ca10c931b6045d0499)
set -e
FST=true
for i in "$@"; do
if $FST; then
set --
FST=false
fi
case $i in
--*=*)
ARG=${i%%=*}
VAL=${i##*=}
set -- "$@" "$ARG" "$VAL"
;;
*)
set -- "$@" "$i"
;;
esac
done
ocaml setup.ml -configure "$@"
# OASIS_STOP
zed (1.4-4) UNRELEASED; urgency=medium
zed (2.0.3-1) unstable; urgency=medium
[ Stéphane Glondu ]
* Team upload
* New upstream release
* Remove Lifeng from Uploaders (Closes: #925113)
* Update Vcs-*
* Bump debhelper compat level to 12
* Bump Standards-Version to 4.4.0
[ Nicolas Dandrimont ]
* d/control: remove myself from Uploaders
-- Stéphane Glondu <glondu@debian.org> Thu, 08 Aug 2019 10:33:49 +0200
-- Stéphane Glondu <glondu@debian.org> Tue, 10 Sep 2019 09:46:28 +0200
zed (1.4-3) unstable; urgency=medium
......
......@@ -4,14 +4,15 @@ Maintainer: Debian OCaml Maintainers <debian-ocaml-maint@lists.debian.org>
Uploaders:
Hilko Bengen <bengen@debian.org>,
Build-Depends:
debhelper (>= 9),
debhelper-compat (= 12),
dh-ocaml (>= 0.9),
libreact-ocaml-dev,
libcamomile-ocaml-dev (>= 0.8.0~),
libcharinfo-width-ocaml-dev,
ocaml-findlib,
ocamlbuild,
ocaml-dune,
ocaml-nox (>= 3.12.0~)
Standards-Version: 3.9.6
Standards-Version: 4.4.0
Section: ocaml
Homepage: http://forge.ocamlcore.org/projects/zed/
Vcs-Browser: https://salsa.debian.org/ocaml-team/zed
......
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: zed
Upstream-Contact: Jérémie Dimino <jeremie@dimino.org>
Source: https://forge.ocamlcore.org/projects/zed/
......
Document: zed
Title: Zed API documentation
Author: Jérémie Dimino
Abstract: Zed ocamldoc-generated API documentation
Section: Programming/OCaml
Format: HTML
Index: /usr/share/doc/libzed-ocaml-dev/api/index.html
Files: /usr/share/doc/libzed-ocaml-dev/api/*
usr/share/doc/libzed-ocaml-dev
@OCamlStdlibDir@/zed/*.annot
@OCamlStdlibDir@/zed/*dune*
@OCamlStdlibDir@/zed/*opam*
@OCamlStdlibDir@/zed/*.cmi
@OCamlStdlibDir@/zed/*.cmt
@OCamlStdlibDir@/zed/*.cmti
@OCamlStdlibDir@/zed/*.mli
@OCamlStdlibDir@/zed/*.ml*
OPT: @OCamlStdlibDir@/zed/*.cmx
OPT: @OCamlStdlibDir@/zed/*.cmxa
OPT: @OCamlStdlibDir@/zed/*.a
......@@ -8,39 +8,18 @@ DESTDIR=$(CURDIR)/debian/tmp
include /usr/share/ocaml/ocamlvars.mk
export OCAML_DLL_DIR
export OCAML_HAVE_OCAMLOPT
export OCAMLFIND_DESTDIR=$(DESTDIR)/$(OCAML_STDLIB_DIR)
export OCAMLFIND_LDCONF=ignore
%:
dh $@ --with ocaml
.PHONY: override_dh_auto_configure
override_dh_auto_configure:
ocaml setup.ml -configure --prefix /usr --destdir '$(DESTDIR)' --docdir /usr/share/doc/libzed-ocaml-dev
.PHONY: override_dh_auto_build
override_dh_auto_build:
ocaml setup.ml -build
ocaml setup.ml -doc
dune build -p zed --verbose
override_dh_auto_install:
dune install --destdir=$(DESTDIR) --prefix=/usr --libdir=..$(OCAML_STDLIB_DIR) --verbose
rm -f $(DESTDIR)/usr/doc/zed/LICENSE
.PHONY: override_dh_auto_test
override_dh_auto_test:
ocaml setup.ml -test
dune runtest -p zed --verbose
.PHONY: override_dh_auto_install
override_dh_auto_install:
mkdir -p '$(OCAMLFIND_DESTDIR)'
ocaml setup.ml -install
.PHONY: override_dh_install
override_dh_install:
ifeq ($(OCAML_NATDYNLINK),no)
find $(DESTDIR) -name '*.cmxs' -delete
endif
dh_install --fail-missing
.PHONY: override_dh_auto_clean
override_dh_auto_clean:
ocaml setup.ml -distclean
override_dh_missing:
dh_missing --fail-missing
unapply-patches
abort-on-upstream-changes
(lang dune 1.1)
(name zed)
(lang dune 1.1)
;; This file is used by `make all-supported-ocaml-versions`
(context (opam (switch 4.02.3)))
(context (opam (switch 4.03.0)))
(context (opam (switch 4.04.2)))
(context (opam (switch 4.05.0)))
(context (opam (switch 4.06.1)))
(context (opam (switch 4.07.0)))