Ann: Merlin 1.3





Merlin is an editor-assistant for the OCaml programming language,

focusing on working incrementally on incomplete files that are being

edited.

It has both a Vim and an Emacs mode (we warmly welcome

additional frontends), and provides advanced compiler-aware features

such as type-aware completion, type information feedback, and

interactive warning and error feedback.





Merlin is available at:





Merlin 1.0 was released on April 11, and the last version, Merlin

1.2, on July 21. As a sign of improved stability, we have received no

bug reports between Merlin 1.2 and the tagging of this new release,

which therefore focused on new features -- so that we can get more

bugs to fix before 1.4...





You can find a detailed changelog at

https://github.com/def-lkb/merlin/blob/master/CHANGELOG , but the

highlights are:





- There is a new "locate" command, to find the definition location of

the identifier under the cursor, much like the venerable ocamlspot

project. It works out of the box for identifiers defined in the

local buffer (this is where merlin shines), and relies on presence

of .cmt files for external modules. It is bound to the :Locate

command in vim, and merlin-locate, C-c C-l by default, in emacs.





- There is now specific support for OMake's polling mode: if you

invoke OMake with our `omake-merlin` wrapper

omake-merlin omake ...

each recompilation will instruct merlin to reload the interfaces

that changed.





- Merlin now accepts the "type nonrec", "with compare" and "with

fields" syntax extensions -- but there are still a few glitches

being ironed out





- The emacs mode now has "semantic movement" commands to move to the

next or previous phrase (C-c C-p, C-c C-n)





- The vim mode's :TypeOf command now accept an optional argument, an

OCaml _expression_ or constructor name that will be type-checked in

the environment at the cursor position.





This release was brought to you by Simon Castellan, Thomas Refis and

Frédéric Bour. Previous unannounced releases also received helpful feedback

and contributions from Rudy Grinberg, Anil Madhavapeddy, Andrew Noyes,

Gabriel Scherer and Marc Weber.





Merlin relies on its benevolent contributors, which you should not

hesitate to join. We warmly welcome any feedback, bugreport, and of

course documentation and code contributions.



