The F# mode for Emacs is two years old, and has been downloaded more than 1,000 times. Several users have sent me emails and even a few patches. It's now time for an update.

If you haven't tried it yet, here are the main features:

  • Syntax highlighting.
  • Indentation. The mode knows where blocks begin and end, and tries to correctly indent your code.
  • F# Interactive support. You can easily send your code to fsi and get the result.

And here are changes since the last release:

  • The infinite loop with the indentation of "else" (and some other keywords) is removed! I think that was the painful problem with the F# mode.
  • The paths to fsi.exe and fsc.exe can now have spaces. This makes the installation on Windows much easier. Thanks to Jens Horstmeier!
  • When you send an expression to fsi, error messages now display the real location in your source code (instead of "stdin").
  • Error messages from fsc.exe are now parsed correctly, so that you can use next-error functions (C-x` by default).
  • Error messages from fsi.exe are also parsed. The interactive buffer now uses compilation-minor-mode to highlights errors.
  • Improve default key bindings.
  • Update the graphical menu bar to make it more user-friendly.
  • Fix coloration issues. In particular, Caml-style comments are correctly handled, even when nested and over multiple lines.
  • "Old-style backquotes" warning from Emacs 22 is removed.
  • Fix the eval region function when it ends by a comment. Thanks to Diego Echeverri!
  • Improved README file and instructions.
  • Various other fixes and cleanups.

It is important you use a recent version of Emacs, as it fixes a few problems. I recommend you to look at the README file for a complete description of key shortcuts. For instance, you'll learn that Alt + Enter automatically adds the ";;" before sending the expression, in the interactive buffer. Now, get fsharp-mode 0.3!