2.2.0 2018-
-----------
* New mode `tuareg-menhir` thanks to Stefan Monnier.
Note that C-c C-c launches the compilation.
* `tuareg-jbuilder`: C-c C-c launches the compilation.
* Be more subtle in phrase detection.
* Syntax highlighting improvements: faster; much better highlighting
of function, class, and method arguments (including setting the
`font-lock-multiline` property); `[]` and `::` have the constructor
face; first class module, `type nonrec`, `raise_notrace`, `with
type` are handled. Finer highlighting of infix operators. Support
for [binding operators][]. Moreover, font-lock now has 3 possible
levels of fontification (see the README).
* The switch .ml ↔ .mli now uses the Emacs built-in `find-file` and
was extended to `.eliom` ↔ `.eliomi` and `.mly` ↔ `.mli`.
* Set `beginning-of-defun-function` and `end-of-defun-function` which
allows to go to the beginning of the current function (resp. end)
with C-M-home, C-M-a or ESC
(resp. , C-M-e, or
ESC ).
* `tuareg-comment-dwim` is now bound to C-cC-; (fixes #149).
* Rework electric functions (fixes issues #150 and #162).
* Update the compilation regexp to detect warnings and for the
upcoming OCaml 4.08. This also improves the highlighting of error
messages.
* Evaluation of phrases: evaluate the above phrase if the point is in
or after comments immediately following the let-binding (without
separating blank lines).
* Use a pty to communicate with the `ocaml` process (fixes #83).
* Remove `tuareg-light`, you should now use `tuareg`.
* `tuareg-opam`: syntax highlighting updates.
Note that the mode `tuareg-dune` which was in the development version
of this package is now part of [Dune](https://github.com/ocaml/dune).
[binding operators]: https://caml.inria.fr/pub/docs/manual-ocaml-4.08/manual046.html
2.1.0 2017-11-10
----------------
* Let M-q reformat strings (and use only SMIE).
* Do not indent an expression after `;;` (issue #106).
* New face `tuareg-font-double-colon-face` to highlight `;;`.
* For `type … and …`, left-align `and` with `type`.
* Fix indentation of some GADT type definitions.
* Use `prettify-symbols-mode` to turn `+.` into `∔`,… and add a menu
entry to toggle it.
* Properly indent `type 'a foo = 'a bla = …` (issue #98).
* Properly indent (issue #7):
module … with module X = Z
and type t := C.t
* Support `let exception E in expr` (issue #102).
* Improved highlighting of `val` and `module` in first class module
expressions.
* Warn if a file inside a `_build` is edited and propose to switch.
* Add a custom face `tuareg-font-lock-label-face` for labels.
* Add option `tuareg-match-patterns-aligned` to allow to choose
between the two styles:
function v.s. function
| A | A
| B -> ... | B -> ...
| C -> ... | C -> ... "
* Highlight attributes and extension nodes.
* Disable by default and improve the compilation advice—see the new
variable `tuareg-opam-insinuate` (issue #97).
* New keybinding C-cC-w and function `tuareg-opam-update-env`
to update the environment to an opam switch (offering completion).
* Improved highlighting of quoted strings `{|…|}` (issue #89).
* Move after `;;` when evaluating a phrase in the toploop (issue #96).
* ocamldebug:
- Add support for `completion-at-point`.
- Highlight the right location even in presence of non-ascii chars
(issue #80).
- Make possible to pass argument to ocamldebug (say, paths with `-I`).
- Make possible to pass argument to the program being debugged (issue #66).
- Warn if SMIE is disabled.
* New modes `tuareg-jbuild` and `tuareg-opam` with syntax
highlighting, indentation, and skeletons.
2.0.10
------
* New indentation config var for SMIE: tuareg-indent-align-with-first-arg.
* Many indentation improvements.
* Fixed point jumping in ocamldebug completion (by Darius Foo).
* Improved (var: t) syntax highlighting.
* Color all predefined exceptions with font-lock-builtin-face
* Syntax highlight cppo preprocessor directives.
2.0.9
-----
* Do not activate Tuareg for .mll and .mly files.
* Toplevel prompt is readonly.
* Font-lock code completely rewritten (avoids several hangs). New faces
`tuareg-font-lock-module-face', `tuareg-font-lock-constructor-face',
and `tuareg-font-lock-line-number-face'.
* Non-closed comment does not cause M-q to hang.
* New variables `caml-types-build-dirs' and `caml-types-annot-dir' for
a more versatile specification of .annot files. (Submitted back to
caml-mode.)
* Fix toplevel highlighting of output and errors.