summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorJake Zimmerman <zimmerman.jake@gmail.com>2017-09-03 11:56:14 -0700
committerw0rp <w0rp@users.noreply.github.com>2017-09-03 19:56:14 +0100
commit63e8946fc808c19512454b33d641be1a5fd99ce0 (patch)
treea48101ae352803d9dd1fc7e726ef6ed92e458345 /doc
parentc7fbcb3c02131a4e168290005c1e550b953cb8f4 (diff)
downloadale-63e8946fc808c19512454b33d641be1a5fd99ce0.zip
Detect and use CM files for smlnj (#884)
* Detect and use CM files for smlnj * Split into two checkers - one for CM projects - one for single SML files * Fix some typos * Fix error caught by writing tests We want to actually use `glob` to search in paths upwards from us. (Previously we were just searching in the current directory every time!) * Fix errors from former test run * Write tests for GetCmFile and GetExecutableSmlnj * Typo in 'smlnj/' fixture filenames
Diffstat (limited to 'doc')
-rw-r--r--doc/ale-sml.txt36
-rw-r--r--doc/ale.txt2
2 files changed, 38 insertions, 0 deletions
diff --git a/doc/ale-sml.txt b/doc/ale-sml.txt
new file mode 100644
index 00000000..cc8d6794
--- /dev/null
+++ b/doc/ale-sml.txt
@@ -0,0 +1,36 @@
+===============================================================================
+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:
diff --git a/doc/ale.txt b/doc/ale.txt
index fe91d4da..a8b30213 100644
--- a/doc/ale.txt
+++ b/doc/ale.txt
@@ -119,6 +119,8 @@ CONTENTS *ale-contents*
sh....................................|ale-sh-options|
shell...............................|ale-sh-shell|
shellcheck..........................|ale-sh-shellcheck|
+ sml...................................|ale-sml-options|
+ smlnj...............................|ale-sml-smlnj|
spec..................................|ale-spec-options|
rpmlint.............................|ale-spec-rpmlint|
stylus................................|ale-stylus-options|