move to git

This commit is contained in:
Jérémie Dimino 2012-10-17 11:32:11 +02:00
parent 9d5578d6f8
commit cd2f0bd205
10 changed files with 211 additions and 166 deletions

8
.gitignore vendored Normal file
View File

@ -0,0 +1,8 @@
_build/
/utop-*.tar.gz
/setup.data
/setup.log
/setup.exe
/setup-dev.exe
/man/*.gz
/src/lib/uTop_version.ml

55
CHANGES
View File

@ -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

58
CHANGES.md Normal file
View File

@ -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

83
README
View File

@ -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

104
README.md Normal file
View File

@ -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.

6
_oasis
View File

@ -137,6 +137,6 @@ Document "utoprcs"
# +-------------------------------------------------------------------+ # +-------------------------------------------------------------------+
SourceRepository head SourceRepository head
Type: darcs Type: git
Location: http://darcs.ocamlcore.org/repos/utop Location: https://github.com/diml/utop.git
Browser: http://darcs.ocamlcore.org/cgi-bin/darcsweb.cgi?r=utop;a=summary Browser: https://github.com/diml/utop

5
boring
View File

@ -1,5 +0,0 @@
(^|/)_build($|/)
^utop-.*\.tar\.gz$
^setup\.data$
^setup\.log$
^src/lib/uTop_version.ml$

38
dist Executable file
View File

@ -0,0 +1,38 @@
#!/bin/bash
#
# dist
# ----
# Copyright : (c) 2012, Jeremie Dimino <jeremie@dimino.org>
# 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

View File

@ -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

View File

@ -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