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.
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
(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)))
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