summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorw0rp <devw0rp@gmail.com>2021-03-01 20:11:10 +0000
committerw0rp <devw0rp@gmail.com>2021-03-01 20:11:10 +0000
commit9fe7b1fe6a23fb55e6d782293585d58193123f59 (patch)
tree0403deb70011aee7be08e586b10b5828cf69499e /doc
parent48fab99a0ab793e1b9607795c21659f12bd6947f (diff)
downloadale-9fe7b1fe6a23fb55e6d782293585d58193123f59.zip
Close #2281 - Separate cwd commands from commands
Working directories are now set seperately from the commands so they can later be swapped out when running linters over projects is supported, and also better support filename mapping for running linters on other machines in future.
Diffstat (limited to 'doc')
-rw-r--r--doc/ale-development.txt2
-rw-r--r--doc/ale.txt35
2 files changed, 37 insertions, 0 deletions
diff --git a/doc/ale-development.txt b/doc/ale-development.txt
index dbbeb2da..0ebce87b 100644
--- a/doc/ale-development.txt
+++ b/doc/ale-development.txt
@@ -311,6 +311,7 @@ The full list of commands that will be temporarily defined for linter tests
given the above setup are as follows.
`GivenCommandOutput [...]` - Define output for ale#command#Run.
+`AssertLinterCwd cwd` - Check the `cwd` for the linter.
`AssertLinter executable, command` - Check the executable and command.
`AssertLinterNotExecuted` - Check that linters will not be executed.
`AssertLSPLanguage language` - Check the language given to an LSP server.
@@ -357,6 +358,7 @@ The full list of commands that will be temporarily defined for fixer tests
given the above setup are as follows.
`GivenCommandOutput [...]` - Define output for ale#command#Run.
+`AssertFixerCwd cwd` - Check the `cwd` for the fixer.
`AssertFixer results` - Check the fixer results
`AssertFixerNotExecuted` - Check that fixers will not be executed.
diff --git a/doc/ale.txt b/doc/ale.txt
index 1f7dbe76..1ea65a33 100644
--- a/doc/ale.txt
+++ b/doc/ale.txt
@@ -342,6 +342,12 @@ the buffers being checked.
When a |Dictionary| is returned for an |ALEFix| callback, the following keys
are supported for running the commands.
+ `cwd` An optional |String| for setting the working directory
+ for the command.
+
+ If not set, or `v:null`, the `cwd` of the last command
+ that spawn this one will be used.
+
`command` A |String| for the command to run. This key is required.
When `%t` is included in a command string, a temporary
@@ -3578,6 +3584,12 @@ ale#command#Run(buffer, command, callback, [options]) *ale#command#Run()*
<
The following `options` can be provided.
+ `cwd` - An optional |String| for setting the working directory
+ for the command, just as per |ale#linter#Define|.
+
+ If not set, or `v:null`, the `cwd` of the last command
+ that spawned this one will be used.
+
`output_stream` - Either `'stdout'`, `'stderr'`, `'both'`, or
`'none`' for selecting which output streams to read
lines from.
@@ -3803,10 +3815,33 @@ ale#linter#Define(filetype, linter) *ale#linter#Define()*
The result can be computed with |ale#command#Run()|.
+ The command string can be formatted with format
+ markers. See |ale-command-format-strings|.
+
This command will be fed the lines from the buffer to
check, and will produce the lines of output given to
the `callback`.
+ `cwd` An optional |String| for setting the working
+ directory for the command, or a |Funcref| for a
+ function to call for computing the command, accepting
+ a buffer number. The working directory can be
+ specified as a format string for determining the path
+ dynamically. See |ale-command-format-strings|.
+
+ To set the working directory to the directory
+ containing the file you're checking, you should
+ probably use `'%s:h'` as the option value.
+
+ If this option is absent or the string is empty, the
+ `command` will be run with no determined working
+ directory in particular.
+
+ The directory specified with this option will be used
+ as the default working directory for all commands run
+ in a chain with |ale#command#Run()|, unless otherwise
+ specified.
+
`output_stream` A |String| for the output stream the lines of output
should be read from for the command which is run. The
accepted values are `'stdout'`, `'stderr'`, and