fsharp-mode 0.9

Robin Neatherway - Sun 31 March 2013 - fsharp, emacs

This is a fairly major update to the F# Emacs integration and is now available from MELPA. Using the fantastic auto-complete package, completion suggestions are now presented using a drop-down menu system with type information also being provided for each candidate.

Completion by menu with tooltips

The background process has been reworked to provide richer completion data in JSON format if requested. However, for large namespaces such as System the completion data can range up to hundreds of kilobytes and takes a second or two to receive using Emacs' asynchronous process communication. Generally though the speed is good, and candidates are in any case requested in the background so text entry is not blocked during requests. I'm exploring options for improving the speed of these large requests.

Users familiar with Visual Studio keybindings might like to add the following to their .emacs:

(add-hook 'fsharp-mode-hook
 (lambda ()
   (define-key fsharp-mode-map (kbd "M-RET") 'fsharp-eval-region)
   (define-key fsharp-mode-map (kbd "C-SPC") 'fsharp-ac/complete-at-point)))

Note that M-RET doesn't have any default binding, but C-SPC is normally used to set the mark. I use cua-mode so I don't miss this, but many would. By default, C-c C-. provides manual invocation of the completion menu. Suggestions for a better binding are welcome!

For other configuration hints, check the README

As before please get in touch if you have any suggestions, irritations etc. via twitter, github or the fsharp-opensource mailing list.