; Set up Merlin on top of Tuareg mode.

(setq opam-share (substring (shell-command-to-string "opam config var share 2> /dev/null") 0 -1))
(add-to-list 'load-path (concat opam-share "/emacs/site-lisp"))
(require 'merlin)
(add-hook 'tuareg-mode-hook 'merlin-mode t)
(setq merlin-command 'opam)

; Enable company-mode in Merlin buffers.

; Install company, if not already installed.
(package-initialize)
(unless (package-installed-p 'company)
  (package-install 'company))
; Make company aware of Merlin.
(eval-after-load 'company '(progn
  (add-to-list 'company-backends 'merlin-company-backend)
))
; Enable company on Merlin-managed buffers.
(add-hook 'merlin-mode-hook 'company-mode)

; Start completion at 1 characters (instead of 3 by default).
(setq company-minimum-prefix-length 1)