Nuclide provides support for other languages as well. Some of these are not as full-featured as similar languages (e.g., Hack vs PHP); others are experimental.

PHP

Nuclide’s PHP support is similar to its support for Hack, except you will not get as full-featured diagnostics, type hinting, etc. since there is no typechecker to assist Nuclide with your project’s metadata.

JavaScript

Nuclide’s JavaScript support is similar to its support for Flow, except you will not get as full-featured diagnostics, type hinting, etc. since there is no typechecker to assist Nuclide with your project’s metadata. Debugging through Node is similar to Flow as well.

JavaScript is a primary language for React Native, and Nuclide is a great IDE for developing React Native applications.

OCaml

This experimental feature provides rudimentary support for OCaml via ocamlmerlin. Merlin can be installed from source or by installing the merlin OPAM package.

OCaml’s integration into Nuclide provides you with productivity features such as:

  • Autocomplete
  • Jump to Definition

It requires that ocamlmerlin be installed on your system and properly configured for your project. ocamlmerlin should be in your $PATH environment variable. If it is not, you may specify the path to ocamlmerlin in the settings for the ‘nuclide’ package.

  1. Open the Nuclide Settings tab either by pressing Cmd+, (Ctrl-, on Linux) or by going to Package | Settings View | Open.
  2. Select Packages from the list at the left, and search for nuclide.
  3. Click on the Settings button for the nuclide package.
  4. Scroll down until you find nuclide-ocaml, and enter the custom path in the Path to Merlin Executable text box.