===============================================================================
ALE SML Integration                                           *ale-sml-options*

===============================================================================
smlnj                                                           *ale-sml-smlnj*
                                                             *ale-sml-smlnj-cm*

There are two SML/NJ powered checkers:

- one using Compilation Manager that works on whole projects, but requires you
  to save before errors show up
- one using the SML/NJ REPL that works as you change the text, but might fail
  if your project can only be built with CM.

We dynamically select which one to use based whether we find a `*.cm` file at
or above the directory of the file being checked. Only one checker (`smlnj`,
`smlnj-cm`) will be enabled at a time.

-------------------------------------------------------------------------------

g:ale_sml_smlnj_cm_file                               *g:ale_sml_smlnj_cm_file*
                                                      *b:ale_sml_smlnj_cm_file*
  Type: |String|
  Default: `'*.cm'`

  By default, ALE will look for a `*.cm` file in your current directory,
  searching upwards. It stops when it finds at least one `*.cm` file (taking
  the first file if there are more than one).

  Change this option (in the buffer or global scope) to control how ALE finds
  CM files. For example, to always search for a CM file named `sandbox.cm`:
>
      let g:ale_sml_smlnj_cm_file = 'sandbox.cm'

===============================================================================
  vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:
