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
Török Edwin e57c8aa095 ocaml: comment out auto-complete initialization code
to make sure only one completion engine is active
2015-05-31 22:52:05 -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 ocaml: comment out auto-complete initialization code 2015-05-31 22:52:05 -04:00
README.md ocaml layer: Add key bindings 2015-05-31 22:51:27 -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 c p | Check .merlin for errors SPC m c r | Refresh changed .cmis in merlin SPC m e C | Check for errors in current buffer SPC m e n | Jump to next error SPC m e N | Jump back to previous error SPC m g a | Switch ML <-> MLI SPC m g b | Go back to the last position where the user did a locate SPC m g g | Locate the identifier under point (same window) SPC m g G | Locate the identifier under point (different window) SPC m g l | Prompt for identifier and locate SPC m g i | Prompt for module name and switch to ML file SPC m g I | Prompt for module name and switch to MLI file SPC m h h | Document the identifier under point SPC m h t | Highlight identifier under cursor and print its type SPC m h T | Prompt for expression and show its type SPC m r d | Case analyze the current enclosing

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