Tuareg 2.1.0 is in OPAM


It is my pleasure to announce a new release of Tuareg which provides Emacs modes to edit OCaml, OPAM, and jbuild files. The full changelog is below.

Happy hacking,


  • 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

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