This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
spacemacs/contrib/!lang/ocaml
2015-05-25 00:50:38 -04:00
..
img Prefix categories with ! 2015-05-25 00:50:38 -04:00
config.el Prefix categories with ! 2015-05-25 00:50:38 -04:00
funcs.el Prefix categories with ! 2015-05-25 00:50:38 -04:00
packages.el Prefix categories with ! 2015-05-25 00:50:38 -04:00
README.md Prefix categories with ! 2015-05-25 00:50:38 -04:00

Ocaml contribution layer for Spacemacs

logo

Table of Contents

Description

This is a very basic layer for editing ocaml files.

  • Syntax highlighting (major-mode) via tuareg-mode
  • Error reporting, completion and type display via merlin
  • auto-completion with company mode via merlin
  • syntax-checking via flycheck-ocaml

Install

Layer

To use this contribution add it to your ~/.spacemacs

(setq-default dotspacemacs-configuration-layers '(ocaml))

OPAM packages

This layer requires some opam packages:

  • merlin for auto-completion
  • utop
  • ocp-indent

To install them, use the following command:

opam install merlin utop ocp-indent

Key Bindings

Key Binding       |                 Description

----------------------|-------------------------------------------------------- SPC m c c | Compile SPC m e t | Highlight identifier under cursor and print its type

REPL (utop)

Key Binding       |                 Description

----------------------|-------------------------------------------------------- SPC m s b | Send buffer to the REPL SPC m s B | Send buffer to the REPL and switch to the REPL in insert state SPC m s i | Start a REPL SPC m s p | Send phrase to the REPL SPC m s P | Send phrase to the REPL and switch to the REPL in insert state SPC m s r | Send region to the REPL SPC m s R | Send region to the REPL and switch to the REPL in insert state C-j | (in REPL) next item in history C-k | (in REPL) previous item in history

TODO

  • Add more proper spacemacs key-bindings for basic merlin tasks
  • Add proper keybindings for ocamldebug
  • Add more keybindings for tuareg-mode