From cd2f0bd205e2e951aaefb8d763dc1c89de098127 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Dimino?= Date: Wed, 17 Oct 2012 11:32:11 +0200 Subject: [PATCH] move to git --- .gitignore | 8 +++++ CHANGES | 55 ---------------------------- CHANGES.md | 58 ++++++++++++++++++++++++++++++ README | 83 ------------------------------------------ README.md | 104 +++++++++++++++++++++++++++++++++++++++++++++++++++++ _oasis | 6 ++-- boring | 5 --- dist | 38 ++++++++++++++++++++ dist.sh | 8 ----- predist.sh | 12 ------- 10 files changed, 211 insertions(+), 166 deletions(-) create mode 100644 .gitignore delete mode 100644 CHANGES create mode 100644 CHANGES.md delete mode 100644 README create mode 100644 README.md delete mode 100644 boring create mode 100755 dist delete mode 100755 dist.sh delete mode 100755 predist.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..df93662 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +_build/ +/utop-*.tar.gz +/setup.data +/setup.log +/setup.exe +/setup-dev.exe +/man/*.gz +/src/lib/uTop_version.ml diff --git a/CHANGES b/CHANGES deleted file mode 100644 index 6a15ac3..0000000 --- a/CHANGES +++ /dev/null @@ -1,55 +0,0 @@ -===== 1.2.1 (2012-07-31) ===== - - * fix: do not expunge Toploop - * install a non-expunged version of utop: utop-full - -===== 1.2 (2012-07-30) ===== - - * ocaml 4.00 compatibility - * prevent findlib from being initialized twice - * better highlighting of errors - * automatically insert Lwt_main.run for - toplevel expressions of type 'a Lwt.t - * better camlp4 support - ** parse quotations and antiquotations to - handle completion inside them - ** better support revised syntax - * emacs mode improvements - ** various fixes - ** highlight errors - ** add a menu - ** add interactive list of findlib packages - ** packages can be pre-loaded via the file variable - "utop-package-list" - ** better tuareg integration - ** typerex integration - ** allow to complete using the toplevel environment - in a tuareg buffer - ** allow to change the utop command - ** use the same history as the terminal mode - ** follow output of ocaml - -===== 1.1 (2010-08-06) ===== - - * add completion on labels - * add completion on methods - * smarter completion on record fields - * fix a bug in the lexer - * improvement for the emacs mode: - ** now pressing Tab really complete input - ** when sending input from a tuareg buffer, the cursor follow the - end of buffer in all utop windows - ** fix usage of threads - * add help - * add manual pages - * show more information in the prompt: - ** show the current value of the macro counter - ** show the nnumber of key pressed since the beginning of a macro - when recording a macro - ** show intermediate key sequence - * better support for light colors terminals - * add colors for module name and directives - * add UTop.smart_accept to send only lines terminating with a ";;" token - * search for compiler libraries at configure time - * add a script to install compiler libraries - * fix compatibility with ocaml 3.13 diff --git a/CHANGES.md b/CHANGES.md new file mode 100644 index 0000000..364ce0e --- /dev/null +++ b/CHANGES.md @@ -0,0 +1,58 @@ +1.2.1 (2012-07-31) +------------------ + +* fix: do not expunge `Toploop` +* install a non-expunged version of utop: `utop-full` + +1.2 (2012-07-30) +---------------- + +* ocaml 4.00 compatibility +* prevent findlib from being initialized twice +* better highlighting of errors +* automatically insert `Lwt_main.run` for + toplevel expressions of type `'a Lwt.t` +* better camlp4 support + * parse quotations and antiquotations to + handle completion inside them + * better support revised syntax +* emacs mode improvements + * various fixes + * highlight errors + * add a menu + * add interactive list of findlib packages + * packages can be pre-loaded via the file variable + `utop-package-list` + * better tuareg integration + * typerex integration + * allow to complete using the toplevel environment + in a tuareg buffer + * allow to change the utop command + * use the same history as the terminal mode + * follow output of ocaml + +1.1 (2010-08-06) +---------------- + +* add completion on labels +* add completion on methods +* smarter completion on record fields +* fix a bug in the lexer +* improvement for the emacs mode: + * now pressing Tab really complete input + * when sending input from a tuareg buffer, the cursor follow the + end of buffer in all utop windows + * fix usage of threads + * add help + * add manual pages + * show more information in the prompt: + * show the current value of the macro counter + * show the nnumber of key pressed since the beginning of a macro + when recording a macro + * show intermediate key sequence + * better support for light colors terminals + * add colors for module name and directives + * add `UTop.smart_accept` to send only lines terminating with a `;;` token + * search for compiler libraries at configure time + * add a script to install compiler libraries + * fix compatibility with ocaml 3.13 diff --git a/README b/README deleted file mode 100644 index 56c18bc..0000000 --- a/README +++ /dev/null @@ -1,83 +0,0 @@ -A universal toplevel for OCaml. - -url: https://forge.ocamlcore.org/projects/utop/ - -* Requirements: - - utop depends on the following packages: - - * findlib (http://projects.camlcity.org/projects/findlib.html) - * react (http://erratique.ch/software/react) - * lwt (http://ocsigen.org/lwt/) - * camomile (http://camomile.sourceforge.net/) - * zed (http://forge.ocamlcore.org/projects/zed/) - * lambda-term (http://forge.ocamlcore.org/projects/lambda-term/) - - Lwt must be compiled with react support, configure it with: - - $ ./configure --enable-react - - utop also requires OCaml compiler libraries. If you are using - debian, they are available as the package ocaml-compiler-libs, if - you are using godi, they are installed by default. If you installed - ocaml by hand, you can run the script utils/install-compiler-libs.sh. - -* Installation: - - To compile and install lambda-term just type: - - $ ocaml setup.ml -configure - $ ocaml setup.ml -build - $ ocaml setup.ml -install - - If you get the development version of utop you must obtain oasis - (http://oasis.forge.ocamlcore.org/). - -* Usage: - - To use utop, simply run: - - $ utop - - utop display a bar after the prompt which is used to show possible - completions in real-time. You can navigate in it using Alt+Left and - Alt+Right, and select one completion using Alt+Tab. - -* Customization: - - To add colors to utop, copy one of the files utoprc-dark or - utoprc-light to ~/.utoprc. utoprc-dark is for terminals with dark - colors (such as white on black) and utoprc-light is for terminals - with light colors (such as black on white). - - You can also customize the prompt of utop by setting the reference - UTop.prompt. - -* Integration with emacs: - - To use utop in emacs, add the following line to your ~/.emacs file: - - (autoload 'utop "utop" "Toplevel for OCaml" t) - - Then you can run utop by executing the command "utop" in emacs. - -* Integration with the tuareg/typerex mode: - - You can replace the default toplevel used by the tuareg or typerex - mode by utop, for that add the following lines to your ~/.emacs - file: - - (autoload 'utop-setup-ocaml-buffer "utop" "Toplevel for OCaml" t) - (add-hook 'tuareg-mode-hook 'utop-setup-ocaml-buffer) - (add-hook 'typerex-mode-hook 'utop-setup-ocaml-buffer) - - You can also complete text in a tuareg or typerex buffer using the - environment of the toplevel. For that bind the function - "utop-edit-complete" to the key you want. - -* Development: - - The last development version of utop can always be found in the - darcs repository hosted at darcs.ocamlcore.org: - - $ darcs get http://darcs.ocamlcore.org/repos/utop diff --git a/README.md b/README.md new file mode 100644 index 0000000..349a6c0 --- /dev/null +++ b/README.md @@ -0,0 +1,104 @@ +utop - a universal toplevel for OCaml +===================================== + +utop is an improved toplevel for OCaml. It can run in a terminal or +in Emacs. It supports line edition, history, real-time and context +sensitive completion, colors, and more. + +It integrates with the tuareg and typerex modes in Emacs. + +Dependencies +------------ + +* [OCaml](http://caml.inria.fr/ocaml/) (>= 3.12) +* [findlib](http://projects.camlcity.org/projects/findlib.html) +* [react](http://erratique.ch/software/react) +* [lwt](http://ocsigen.org/lwt/) (>= 2.4.0) built with react support +* [Camomile](http://github.com/yoriyuki/Camomile) (>= 0.8) +* [zed](http://github.com/diml/zed) (>= 1.2) +* [lambda-term](http://github.com/diml/lambda-term) (>= 1.2) + +For building the development version, you also need to install +[oasis](http://oasis.forge.ocamlcore.org/) (>= 0.3.0). + +utop also requires OCaml compiler libraries. Since OCaml 4.00 they are +already installed, for previous versions: + +* if you are using debian, they are available as the package + ocaml-compiler-libs, +* if you are using godi, they are installed by default, +* if you installed ocaml by hand, you can run the script + `utils/install-compiler-libs.sh`. + +Installation +------------ + +To build and install Lambda-Term: + + $ ./configure + $ make + $ make install + +### Documentation and manual pages _(optional)_ + +To build the documentation: + + $ make doc + +It will then be installed by `make install`. + +### Tests _(optionnal)_ + +To build and execute tests: + + $ ./configure --enable-tests + $ make test + +Usage +----- + +To use utop, simply run: + + $ utop + +utop display a bar after the prompt which is used to show possible +completions in real-time. You can navigate in it using `Alt+Left` and +`Alt+Right`, and select one completion using `Alt+Tab`. + +Customization +------------- + +To add colors to utop, copy one of the files `utoprc-dark` or +`utoprc-light` to `~/.utoprc`. `utoprc-dark` is for terminals with +dark colors (such as white on black) and `utoprc-light` is for +terminals with light colors (such as black on white). + +You can also customize the prompt of utop by setting the reference +`UTop.prompt`. + +Integration with emacs +---------------------- + +To use utop in emacs, add the following line to your ~/.emacs file: + +```scheme +(autoload 'utop "utop" "Toplevel for OCaml" t) +``` + +Then you can run utop by executing the command `utop` in emacs. + +Integration with the tuareg/typerex mode +---------------------------------------- + +You can replace the default toplevel used by the tuareg or typerex +mode by utop, for that add the following lines to your `~/.emacs` file: + +```scheme +(autoload 'utop-setup-ocaml-buffer "utop" "Toplevel for OCaml" t) +(add-hook 'tuareg-mode-hook 'utop-setup-ocaml-buffer) +(add-hook 'typerex-mode-hook 'utop-setup-ocaml-buffer) +``` + +You can also complete text in a tuareg or typerex buffer using the +environment of the toplevel. For that bind the function +`utop-edit-complete` to the key you want. diff --git a/_oasis b/_oasis index d6f4bb1..41468fc 100644 --- a/_oasis +++ b/_oasis @@ -137,6 +137,6 @@ Document "utoprcs" # +-------------------------------------------------------------------+ SourceRepository head - Type: darcs - Location: http://darcs.ocamlcore.org/repos/utop - Browser: http://darcs.ocamlcore.org/cgi-bin/darcsweb.cgi?r=utop;a=summary + Type: git + Location: https://github.com/diml/utop.git + Browser: https://github.com/diml/utop diff --git a/boring b/boring deleted file mode 100644 index 8ec1466..0000000 --- a/boring +++ /dev/null @@ -1,5 +0,0 @@ -(^|/)_build($|/) -^utop-.*\.tar\.gz$ -^setup\.data$ -^setup\.log$ -^src/lib/uTop_version.ml$ diff --git a/dist b/dist new file mode 100755 index 0000000..ae5efa6 --- /dev/null +++ b/dist @@ -0,0 +1,38 @@ +#!/bin/bash +# +# dist +# ---- +# Copyright : (c) 2012, Jeremie Dimino +# Licence : BSD3 +# +# Script to build the release + +set -e + +# Extract project parameters from _oasis +NAME=`oasis query Name 2> /dev/null` +VERSION=`oasis query Version 2> /dev/null` +PREFIX=$NAME-$VERSION +ARCHIVE=$(pwd)/$PREFIX.tar.gz + +# Temporary directory +DIR=$(mktemp -t -d dist.XXXXXXXXXX) +trap "rm -rf $DIR" EXIT + +# Copy files into the temporary directory +git archive --format=tar --prefix $NAME-$VERSION/ HEAD | tar xf - -C $DIR + +cd $DIR/$PREFIX + +# Generate files +oasis setup + +# Set release mode in the Makefile +sed -i 's/^SETUP := setup-dev.exe.*/SETUP := setup.exe/' Makefile + +# Remove this script +rm -f dist + +# Create the archive +cd .. +tar czf $ARCHIVE $PREFIX diff --git a/dist.sh b/dist.sh deleted file mode 100755 index 8363cf5..0000000 --- a/dist.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -NAME=`oasis query Name 2> /dev/null` -VERSION=`oasis query Version 2> /dev/null` -DARCS_REPO=`pwd` -export DARCS_REPO - -exec darcs dist --dist-name $NAME-$VERSION diff --git a/predist.sh b/predist.sh deleted file mode 100755 index 9ceef43..0000000 --- a/predist.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh - -# Generate CHANGES.darcs -[ -d "$DARCS_REPO" ] && darcs changes --repodir "$DARCS_REPO" > CHANGES.darcs - -# Add oasis stuff -oasis setup - -chmod +x utils/install-compiler-libs.sh - -# Cleanup -rm -f predist.sh boring dist.sh