This adds the first syntaxchecker for `Dockerfile`. This uses
[dockerfile-lint](https://github.com/projectatomic/dockerfile_lint)
and expect the `dockerfile-lint` binary to be available (usually
through the `npm` install).
By default, it will simply check for basic syntax correctness of the
`Dockerfile`. One can pass a custom `yml` rule file through the `syntastic_dockerfile_dockerfile_lint_post_args`, for example:
```vim
let b:syntastic_dockerfile_dockerfile_lint_post_args = '-r /path/to/rule/file.yml'
```
I've used `preprocess` to convert the json output.
Bug fix: proper escaping of special characters in filenames.
Workaround for a bug in Vim: errorformat's "%f" doesn't properly detect
filenames if they are not delimited by characters that are illegal in
filenames, such as ":". Solution: switch to a preprocess function.
References: http://docs.basex.org/wiki/Commands#Valid_Names
Checkers pc_lint, javac, flow, C compilers: findfile() should start in
the current file's base directory rather than the current directory.
Elixir checker: use the more efficient findfile() instead of
syntastic#util#findInParent().
ghc-mod will always use UTF-8 encoding on output, regardless of the
current encoding. This is a problem for syntastic because it mangles
the filenames. The commit below is a (perhaps misguided) attempt to
fix that, by calling iconv() to re-encode output from ghc-mod to Vim's
encoding.
Undocumented option "bash_hack" is gone.
New function syntastic#util#system(), that sets up the environment and
is now used consistently everywhere.
Unrelated fix for the elixir checker (syntax).
When the python/prospector checker finds no issues in the file, the "messages" key is absent in the JSON output. Make sure we don't spew out a warning when that happens.
If a key in `quiet_messages` is prefixed by an exclamation mark "!", the
corresponding filter is negated.
Also, the "file" key may now be followed by filename modifiers.