Commit Graph

1092 Commits

Author SHA1 Message Date
w0rp
2f2dcb8444
Close #1476 - Make the javac executable configurable 2018-04-08 20:35:06 +01:00
w0rp
1123669839
Close #1315 - Make the vint executable configurable 2018-04-08 18:10:00 +01:00
w0rp
bb775e4e22
Fix #1479 - Respect g:hdevtools_options for hdevtools 2018-04-07 22:50:31 +01:00
P M
85a2a00826 Integration of qmlfmt linting tool (#1462)
* Add first qmlfmt support

* Add GetCommand() function

- pass --error/-e option

* Add handle unittest

- fix pattern regex
- store col as integer

* Update docs

* Add command callback unit test
2018-04-05 21:09:41 +02:00
Nils Leuzinger
912f632bf5 Add fsc linter for Scala (#1452)
* Add fsc as a Scala linter

* Pull reused code into `autoload/ale/` directory

* Include fsc into the README

* Add unit test for testing the scala handler

* Add unit test for scala's fsc linter

* Rename scala unit tests for clarity

* Fix typo in README

* Fix typos in doc/ale.txt

* Fix author headline

* Put methods for fsc commands back into fsc.vim

* Move command_callback tests to correct location

* Rewrite handler test so it actually tests handler

* Clarify description of test in test_scala_handler
2018-04-05 21:04:11 +02:00
w0rp
a2acdecbc2
Merge pull request #1455 from Christian-Gibbons/flawfinder_cpp_severity_fix
Fix Flawfinder for C++
2018-04-05 15:00:08 +01:00
w0rp
8baab691e9
Merge pull request #1429 from stewy33/master
Add support for Mercury language using mmc as a linter.
2018-04-05 12:34:45 +01:00
christian-gibbons
f1d56a343e Flawfinder for C++:
Fix missing variable causing flawfinder to fail for c++
2018-03-28 14:09:03 +00:00
w0rp
95ec9bb780
#1167 Use the make -n parsing for C++ compilers, and document the new option 2018-03-27 19:24:22 +01:00
w0rp
018831d601
Merge pull request #1434 from roel0/master
Automatically determine build flags by parsing `make -n` output #1167
2018-03-27 09:55:43 +01:00
Stewy Slocum
84952918cc add support for mercury language using mmc as linter 2018-03-25 13:33:24 -04:00
P M
107516c757 Add basic qmllint support (#1419)
* Add basic qmllint support

* Use temp file, remove superfluous error code key, adjust author info

* Add qmllint handler parse test
2018-03-25 11:55:59 +01:00
yasuhiroki
1d33d2cacf Support textlint for plaintext without textlintrc 2018-03-24 14:40:44 +09:00
w0rp
dbf530e87f Fix #1373 - Fix a bug with Fish errors not being handled on Linux 2018-03-23 12:17:54 +00:00
Adrián González Rus
87217ae347 fix: Handle ranges for the remark linter #1207 2018-03-22 11:47:16 +01:00
roel0
69237a7e57 Added additional unit tests + adapted review comments #1167 2018-03-21 20:44:35 +01:00
Bojan Mihelac
763fcb8512 fix: po msgfmt output to stdout (#1435) 2018-03-21 09:21:20 +01:00
roel0
18d0aeb1a0 * Shell commands should by called async with the help of a command chain
* The makefile parser unit test should only test the cflag parser itself
#1167
2018-03-20 21:49:31 +01:00
w0rp
64c95d4881
Merge remote-tracking branch 'tylucaskelley/master' 2018-03-20 20:27:50 +00:00
Ben Paxton
6452c5e2f0 Use govet handler for gosimple, gotype, staticcheck 2018-03-20 14:19:48 +00:00
roel0
38953c4626 Clang parser shoud fallback on old method if parsing fails #1167 2018-03-20 12:37:53 +01:00
roel0
3fb7efa2c6 Added some unit tests and fixed some linting errors for automatic makefile parsing in C #1167 2018-03-20 11:56:46 +01:00
roel0
c47b5fd4b8 Automatically determine build flags by parsing 'make -n' output #1167 2018-03-19 21:56:18 +01:00
Ben Paxton
0cb3e36554 Lint whole package for gosimple and gotype
Fixes #936
2018-03-19 15:52:42 +00:00
Hideaki Tokida
1b1e53ef61 add textlint support for markdown (#1383) 2018-03-18 17:28:26 +00:00
w0rp
c112ee9dff
Fix #1392 - Only check files on disk for gotype 2018-03-18 17:16:13 +00:00
w0rp
bdd8d2399f
#416 Escape the tslint command 2018-03-18 16:48:28 +00:00
Anthony DeDominic
92e6e4d1ba Fix awk linter and security concerns. (#1411)
* Fixed (g)awk linter

 * Made it secure, albeit less useful.
 * Added gawk handler; the cpplint one was not working?
 * Added gawk handler test.
 * added warning to gawk handler.
 * added gawk command callback test
 * added comment about --source

* added back optional commandline option
2018-03-14 17:46:57 +00:00
Christian-Gibbons
b586eba4a4 Handle flawfinder severity level (#1400)
* Handle flawfinder severity level
* Reverted code allowing Flawfinder to piggyback off of gcc's format handler
* Gave Flawfinder its own format handler and made requested changes.
2018-03-10 10:44:55 +00:00
Ty-Lucas Kelley
2a575ca551 add basic support for markdownlint 2018-03-03 19:16:41 -05:00
w0rp
565ffa0dc5 Use the configured mdl executable, escape it in the command, and add test for it 2018-03-03 13:27:19 +00:00
w0rp
857723e7d5
Merge pull request #1377 from joshleeb/markdown-mdl-options
Add options for markdown_mdl linter
2018-03-03 13:16:27 +00:00
Olaf Alders
8a77290553 [WIP] Begin to distinguish between Perl warnings and errors (#933)
* If a Perl script compiles, there are only warnings and no errors

* Let the first Perl error or warning win.

Take the following example:

***

sub foo {
    my $thing;

***

This might have the following messages when we compile it:

Missing right curly or square bracket at warning.pl line 7, at end of
line
syntax error at warning.pl line 7, at EOF
warning.pl had compilation errors.

With the current behaviour, we just get a "syntax error" message, which
isn't all that helpful.  With this patch we get "Missing right curly or
square bracket".

* Fix variable scope and pattern matching syntax

* Use named variable to enhance clarity when matching Perl output

* Add more tests for Perl linter

* Remove unnecessary parens

* Simplify check for pattern match
2018-03-02 21:04:52 +00:00
w0rp
b6bf6ecdbc Try to fix it again 2018-03-02 20:57:55 +00:00
Josh Leeb-du Toit
7e20d9c639 Add options for markdown_mdl linter 2018-02-26 20:10:55 +11:00
Christian-Gibbons
82f8a04e18 New linter: Flawfinder (#1361)
* Flawfinder support added for C and C++

A minor modification to gcc handler was made to support flawfinder's
single-line output format that does not have a space following the
colon denoting the warning level.  gcc handler still passes its
Vader tests after this modification.

* Documentation fixes

* Revert documentation regression

* Added Flawfinder to table of contents

* Removed trailing whitespace

* Follow ALE conventions better

Added additional documentation and Vader tests
2018-02-25 14:11:04 +00:00
w0rp
b6ccd60dd0
Merge pull request #1351 from svanharmelen/f-issue-936
This fixes issue #936 by linting the whole package
2018-02-25 11:54:05 +00:00
John Eikenberry
4941bd8d0e Fix #1358, fix #1369 - Lint the package on save for go vet instead 2018-02-25 11:39:45 +00:00
Sander van Harmelen
ab5257c344 This fixes issue #936 by linting the whole package 2018-02-20 16:11:35 +01:00
w0rp
5915a0ee39 Escape the ponyc executable 2018-02-18 10:06:40 +00:00
w0rp
608b6dafd4
Merge pull request #1343 from kevinkjt2000/ponyc
Add Support for Ponylang
2018-02-18 09:48:35 +00:00
w0rp
5972b97223 #476 Make F401 a warning and E112 a syntax error 2018-02-18 09:44:04 +00:00
Kevin Tindall
716b46e10d
functional pony linter 2018-02-10 13:17:53 -06:00
Fenner Macrae
c2ab885384 Removed trailing whitespaces 2018-02-05 11:33:23 -08:00
Fenner Macrae
5dc884b24d Fixed lintr::lint_package command 2018-02-05 09:54:15 -08:00
Fenner Macrae
dda132c1a2 Add lint_package support to lintr 2018-02-04 10:57:52 -08:00
w0rp
33b3331b04 #1206 Add support for setting options for gobuild, and escape paths better 2018-02-04 13:55:09 +00:00
w0rp
31e0f48d62
Merge pull request #1326 from michaelquinn32/patch-1
Call lintr library before linting
2018-02-04 11:38:05 +00:00
Michael Quinn
b13f290390 Update formatting and tests. 2018-01-31 18:06:35 -08:00
w0rp
52fe924a13
Merge pull request #1308 from lorenzo/patch-1
Improving hadolint checker
2018-01-30 16:04:44 +00:00
Michael Quinn
bb095df25e
Call lintr library before linting
This solves namespace issues related to the objects used to set linting options.
2018-01-29 20:18:14 -08:00
Jose Lorenzo Rodriguez
4df87eaadd
Added tests for hadolint 2018-01-29 22:21:50 +01:00
w0rp
1832240cff
Merge pull request #1321 from butlerx/feature/po
add po support with proselint, writegood, msgfmt and alex
2018-01-28 12:49:18 +00:00
w0rp
65fc5d11c7 Fix #1038 - Automatically detect and use htmlhint configuration files 2018-01-28 12:44:42 +00:00
butlerx
9dad25778f
add po support with proselint, writegood, msgfmt and alex 2018-01-27 12:17:15 +00:00
w0rp
9849c79ff7
Merge pull request #1157 from elebow/eruby-add-erubi-linter
[eruby] Add erubi linter
2018-01-24 10:40:57 +00:00
José Lorenzo Rodríguez
dd413a4732
Improving hadolint checker
- Displaying dockerfile parse errors instead of silently failing
- Adding error detail with link to the docs
2018-01-23 22:46:59 +01:00
Fran Casas
038789f0ed Add Elixir linter for dialyxir (#1257)
* Add Elixir linter for dialyxir

* Update doc/ale.txt with dialyxir

* Keep elixir tools alphabetically ordered in README

* Add a missing entry for dialyxir to the main documentation file.
2018-01-22 12:21:07 +00:00
Christoffer Aasted
7cd25181b2
Fix #1246 - Newer ESLint outputs to stderr
I think Vader test still applies for this one.
2018-01-20 03:20:13 +01:00
w0rp
1d3b542031
Merge pull request #1266 from sharils/patch-1
Work around hot-reloading issue
2018-01-19 17:18:49 +00:00
w0rp
7b50b3ec82
Merge pull request #1272 from Codezerker/master
Add a luac linter for Lua
2018-01-19 17:10:29 +00:00
Eddie Lebow
aa29c91cdc [eruby] Add erubi linter
Erubi is yet another parser for eRuby. This is the default parser in
Rails as of version 5.1. It supports some additional syntax with similar
behavior to Rails' extensions to the language, though incompatible.
Rails currently still recommends their own syntax, so GetCommand still
has to do the translation introduced in
https://github.com/w0rp/ale/pull/1114 .

Erubi does not supply an executable—It is intended to be invoked only
from within a Ruby program. In this case, a one-liner on the command
line.
2018-01-16 00:38:35 -05:00
w0rp
f6af75aac4
Merge pull request #1268 from bbannier/master
Make it possible to inject flags of protoc invocation.
2018-01-12 20:43:43 +00:00
w0rp
5005871644
Merge pull request #1256 from jonatanolofsson/master
Fix #1255: Move extra clang-check args to before user options
2018-01-12 12:09:30 +00:00
w0rp
65fa901ef0
Merge pull request #1275 from ipetkov/cargo-features
Teach ALE about cargo features and add some configuration options
2018-01-12 12:04:26 +00:00
Ivan Petkov
2ef45ab745
Teach ALE about cargo features and add some configuration options
* When working on rust/cargo projects of varying sizes, it may be useful
to either build all possible features (i.e. lint all possible
conditionally compiled code), or even turn off other features for a
quicker edit-lint cycle (e.g. for large projects with large build times)
* Added a g:ale_rust_cargo_default_feature_behavior flag for instructing
cargo to not build any features at all (via `--no-default-features`),
building default features (via no extra flags), or building all possible
features (via `--all-features`)
* Also added a g:ale_rust_cargo_include_features flag for including
arbitrary features to be checked by cargo. When coupled with
g:ale_rust_cargo_default_feature_behavior this allows for full
customization of what features are checked and which ones are ignored
2018-01-11 19:24:44 -08:00
w0rp
adba2bd919 Allow syntax errors for mypy to be ignored 2018-01-11 16:43:10 +00:00
sharils
29acafdaf4
Work around hot-reloading issue
See https://github.com/phoenixframework/phoenix/issues/1165 for more detail
2018-01-10 20:53:02 +08:00
jiangzhi.xie
112fcf7dd5 Add a luac linter for Lua 2018-01-08 23:32:02 +08:00
Benjamin Bannier
b5a5cdf920 Make it possible to inject flags of protoc invocation.
Typically proto files depend on and make use of proto definitions in
other files. When invoking protoc user can supply paths to inspect for
dependencies.

This patch makes it possible to configure flags passed to protoc. This
makes it e.g., possible to change include paths of the linter's protoc
invocation.
2018-01-07 17:56:56 +01:00
w0rp
f1747901cc
Merge pull request #1262 from rhysd/avoid-old-tidy
html: Avoid old tidy on macOS
2018-01-07 16:02:49 +00:00
Jelte Fennema
b6d1c41925 Go: Add gotype support (#1099) 2018-01-07 12:11:01 +00:00
rhysd
401b964e9c html: Avoid old tidy on macOS
On macOS, Apple's command line toolchain installs very old `tidy`
command (It was released on 31 Oct 2006). It does not consider new specs
such as HTML5 so we should avoid it.
2018-01-03 01:50:31 +09:00
Jonatan Olofsson
ff8d4c5286 Fix #1255: Move extra clang-check args to before user options 2018-01-02 16:09:38 +01:00
w0rp
5285b0b332
Merge pull request #1260 from kevinkjt2000/add-ghc-options
haskell_ghc_options are now added to the ghc command
2018-01-02 14:05:40 +00:00
w0rp
80342b119a
Merge pull request #1252 from nthapaliya/fish-shell-linter
Fish shell linter
2018-01-02 13:32:59 +00:00
w0rp
d9a3722e06 Merge branch 'add-fountain-proselint-support' 2018-01-02 13:23:00 +00:00
Kevin Tindall
d8f71c46da
haskell_ghc_options are now added to the ghc command 2018-01-01 22:21:21 -06:00
Niraj Thapaliya
e2d3dca486 Support for fish file linting 2017-12-26 12:25:17 -06:00
Jansen Mitchell
4d4d2d8122 Add four spaces, not tabs. 2017-12-20 22:53:03 -06:00
w0rp
87ffc9b55c Make the error codes configurable for gitlint 2017-12-20 10:46:08 +00:00
Nick Diego Yamane
d4b43d23f4 Add support for linting git commit message files (#1233) 2017-12-20 10:10:07 +00:00
Jansen Mitchell
4b56b91ac8 Add support for Fountain with proselint. 2017-12-19 20:27:12 -06:00
w0rp
73f61514c9 Fix #1031 - Make the rust flags configurable 2017-12-19 18:10:29 +00:00
w0rp
cc8e5502c8 Fix #1240 - Parse line and column numbers for fatal embertemplatelint errors 2017-12-19 17:42:51 +00:00
w0rp
0ad2547997 Fix mcsc paths and escaping for Windows 2017-12-19 17:34:34 +00:00
w0rp
a7d51afda5
Merge pull request #1221 from JelteF/patch-1
Fix erb linter for puppet style erb templates
2017-12-19 14:09:00 +00:00
Johannes Wienke
1e574ed5f7 Make alex a file linter
alex does not find its configuration file when using temporary files for
input.
2017-12-18 15:26:52 +01:00
Johannes Wienke
1626fce1c9 Enable the vale linter also for further markup languages (#1230)
* Enable the vale linter also for LaTeX
* Enable the vale linter for rst files
2017-12-18 10:15:00 +00:00
Johannes Wienke
96b90b45db Use JSON output with vale
Switches all vale instances to JSON output and provides an appropriate
handler for that. Without JSON, no end_col is provided and text
highlighting only catches the first character of every result.
2017-12-17 16:49:57 +01:00
w0rp
c4956657dc
Merge pull request #1220 from languitar/linter-alex
Add a linter for alex
2017-12-17 13:11:49 +00:00
Stephen Rathbone
78d1f5f5df Fix PHP linter to support PHP 7.2 lint output 2017-12-13 21:23:18 +00:00
Jelte Fennema
e7eb272714
Fix erb linter for puppet style erb scripts 2017-12-13 14:59:59 +01:00
Johannes Wienke
55ca96bd83 Add a linter for alex
https://github.com/wooorm/alex

Enabled for text-like file formats and documented in README and doc.
2017-12-13 14:37:42 +01:00
w0rp
d2a6d9a915 Fix #1216 - Suppress trailing whitespace warings for ansible-lint when the option is set 2017-12-13 11:14:31 +00:00
w0rp
cebe7c3918 Fix #1210 - Do not report this file as a temporary file in the quickfix list for TSLint 2017-12-10 09:58:33 +00:00
w0rp
c6fc9cdb7b
Merge pull request #1192 from fvictorio/add-solhint-support
Add solhint support
2017-12-07 18:50:33 +00:00
w0rp
63ecc8341d Fix #1202 - Do not use --all-targets by default, because it doesn't work some of the time. 2017-12-07 18:47:01 +00:00
Franco Victorio
85e0bd3314 Extract error code from message 2017-12-05 16:02:15 -03:00
Jeff Willette
e2a8f759d8 Added option for gometalinter to lint package (#1156)
* Added option for `gometalinter` to lint package
* added tests for the `gometalinter` command
* changed gometalinter commands to use BufferCdString
2017-12-04 18:42:36 +00:00
Franco Victorio
0d627d4613 Add solhint support 2017-12-04 14:23:23 -03:00
w0rp
2f9869de44 Escape the perl executable, and cover the callbacks with tests 2017-12-02 20:47:01 +00:00
w0rp
acd1260339 Revert "Fix #1186 - Use -w by default for Perl, which does not execute code"
This reverts commit f5fc746d00.
2017-12-02 20:38:28 +00:00
Dave Wongillies
2bd966c5cc Puppet: allow for when parser doesn't supply column for errors (#1182)
* puppet: add test for puppet parser validate

* puppet: handle where parser validate doesn't supply the column

* puppet: add test for when parser validate doesn't supply column

* Fix puppet regex to handle Windows paths
2017-12-02 12:29:17 +00:00
w0rp
f5fc746d00 Fix #1186 - Use -w by default for Perl, which does not execute code 2017-12-02 12:26:44 +00:00
Sven-Hendrik Haase
51b127a4fd Add glslls (#1179)
* Add glslls-based LSP linter
* Make logfile configureable
2017-12-01 17:36:44 +00:00
Carlos Coêlho
daee4a4722 Add prospector for checking Python code (#1183) 2017-12-01 17:04:30 +00:00
w0rp
a43ada93e4 Allow warnings about trailing whitespace to be disabled for pycodestyle, and cover the flake8 code with tests 2017-11-28 10:12:49 +00:00
w0rp
0ab689db0a Allow warnings about trailing blank lines to be hidden for flake8 and pycodestyle 2017-11-28 10:08:34 +00:00
w0rp
4e821e64c7 Fix #1168 - Make the ruby linter executable configurable 2017-11-28 09:48:35 +00:00
Benjie Gillam
e84ee4332f Add support for linting GraphQL with ESLint 2017-11-27 14:41:49 +00:00
w0rp
c07b3b9bfc Fix #1166 - Add an option for the rls toolchain 2017-11-26 18:47:30 +00:00
w0rp
52f3ad7c75 Escape the pyls executable in the command, and support running virtualenv pyls executables 2017-11-21 23:51:18 +00:00
w0rp
e6fb32b792 Remove a Unicode character Vint complains about 2017-11-21 16:39:05 +00:00
w0rp
3ef98f42bd Fix #783 - Do not run Flow with home directory configuration files by default 2017-11-21 14:37:01 +00:00
w0rp
ac7f69063d #1151 - Overhaul the foodcritic linter for checking files on disk 2017-11-21 13:38:33 +00:00
w0rp
5a3a695586
Merge pull request #1154 from deltaskelta/add-filename-key-for-gobuild
Added filename key for `go build` linter
2017-11-20 20:58:43 +00:00
w0rp
c9e203e620 Fix #859 Include test and jaxb Java source paths when available 2017-11-20 18:54:57 +00:00
Jeff Willette
b9f02ffb27 Added filename key for go build linter
- Re: f224ce8a37

- The issues that prompted the above commit which reverted changes made to `go build` and
`gometalinter` seemed to suggest that the main issue was with gometalinter and that
changes should be put into different commits so they are independent of each other

- This commit reinstates the changes to the `go build` linter which seem to be uncontested
and it also seems absolutely necessary to show errors from all files in the package which
may have caused a build failure.
2017-11-20 23:50:14 +09:00
Shogo NAMEKI
f20e5a4cf0 Add drafter for checking API Blueprint files (#1152) 2017-11-20 10:57:13 +00:00
w0rp
f224ce8a37 Revert "Show problems from other files for gobuild and gometalinter"
This reverts commit e721f851b4.
2017-11-20 10:43:45 +00:00
RedBug312
1afe2992e2 Make options configurable for iverilog (#1143) 2017-11-19 22:59:17 +00:00
w0rp
62904d39ee #852 - Capture error codes for tflint 2017-11-19 13:37:56 +00:00
w0rp
fa7f0e2b85 #852 - Capture error codes for swiftlint 2017-11-19 13:33:20 +00:00
w0rp
b16c82f2f1 #852 - Capture error codes for swaglint 2017-11-19 12:46:06 +00:00
w0rp
01b2971d04 #852 - Capture error codes for slim-lint 2017-11-19 01:08:20 +00:00
w0rp
7123f7236b #852 - Capture error codes for reek 2017-11-19 00:54:09 +00:00
w0rp
c012563984 #852 - Capture error codes for nimcheck 2017-11-19 00:38:00 +00:00
w0rp
3c8f3221df #852 - Capture error codes for mcs and mcsc 2017-11-19 00:19:09 +00:00
w0rp
40e26f0bc2 #852 - Capture error codes for luacheck 2017-11-19 00:02:35 +00:00
w0rp
41cb174f3a #852 - Capture error codes for jscs 2017-11-18 23:55:47 +00:00
w0rp
7455e2e97d #852 - Capture error codes for checkstyle 2017-11-18 18:29:12 +00:00
w0rp
49ccfb1a00 Fix #516 - Add support for pyflakes for Python 2017-11-17 18:11:28 +00:00
w0rp
0e96d4576a
Merge pull request #1142 from rhysd/redpen-ext
* redpen support for asciidoc, reST, LaTeX and Re:VIEW
* redpen: fix start column
* add redpen as text linter
2017-11-17 16:34:01 +00:00
Thomas van der Burgt
22ec81e1de add ale_asm_gcc_executable option (#1138)
* add ale_asm_gcc_executable option
* add Vader tests for asm gcc linter command callbacks
2017-11-17 10:02:30 +00:00
rhysd
79f15b0e30 add redpen as text linter 2017-11-17 16:43:16 +09:00
rhysd
44cd07d39c redpen support for asciidoc, reST, LaTeX and Re:VIEW 2017-11-17 15:34:07 +09:00
Eddie Lebow
b390c69642 erb, erubis: Redirect file into first command.
The previous version relied on a zsh-specific behavior where
`<filename` after a pipe could redirect to the first command. This
is the standard way to do it.
2017-11-16 23:10:25 -05:00
w0rp
1f4f19cbd4
Merge pull request #1133 from nicwest/linter-clj-joker
add joker handler for clojure
2017-11-16 11:06:27 +00:00
w0rp
3ddb858881
Merge pull request #1137 from rhysd/redpen
Add Redpen support
2017-11-16 10:44:52 +00:00
rhysd
f1314b285c redpen: support end_lnum and end_col if possible 2017-11-16 19:28:30 +09:00
w0rp
f90a2d5474
Merge pull request #1114 from elebow/eruby-strip-rails-flavoring
Strip Rails flavoring from eRuby when in a Rails project. Fixes #580.
2017-11-16 10:19:32 +00:00
rhysd
981cb95d80 add redpen support 2017-11-16 18:12:08 +09:00
aurieh
d585123d64 #852 Capture error codes for checkmake 2017-11-16 00:58:33 +02:00
Nic West
eda20d0585 add joker handler for clojure
Adds new linter for clojure using joker

https://github.com/candid82/joker

fixes #975
ref #544 #1040
2017-11-15 22:23:46 +00:00
w0rp
1d65e5692f #852 Capture error codes for pycodestyle, and consider every code except E999 to be style errors or warnings 2017-11-15 17:47:24 +00:00
w0rp
cf538c3a58 #852 Capture error codes for pylint, throw away the msgid values 2017-11-15 17:35:34 +00:00
w0rp
08f4f8f0fc #852 Capture error codes for shellcheck 2017-11-15 17:26:52 +00:00
Jeff Willette
e721f851b4 Show problems from other files for gobuild and gometalinter
* Added filename keys to gobuild and gometalinter
* Removed skipping files not in current package
* Removed `--include` for gometalinter
* Fixed the tests
2017-11-15 16:34:30 +00:00
w0rp
290ed4885b Fix #1131 - Capture both output streams for golint 2017-11-15 16:24:29 +00:00
w0rp
ff5c6b0509 #852 - Capture error codes for ansible-lint 2017-11-15 10:11:32 +00:00
Aliou Diallo
425482116e
#852 - Capture error codes for Rubocop 2017-11-14 17:50:15 +01:00
w0rp
d8f9aef84a #852 - Capture error codes for flake8 2017-11-14 09:41:29 +00:00
w0rp
037aaae593 #852 - Capture error codes for TSLint 2017-11-13 23:36:15 +00:00
w0rp
6c112dd1cc Fix #1122 - Handle notes for shellcheck errors again, and use type 'I' for notes 2017-11-13 16:08:09 +00:00
Eddie Lebow
ad7ea36307 [eruby] Add GetCommand to erubis linter
GetCommand conditionally adds a filter (implemented as inline Ruby code
in the command line) to transform some of the problematic
Rails-specific eRuby syntax. Specifically, <%= tags are replaced with
<%.

This does not reduce the effectiveness of the linter, because the
transformed code is still evaluated.

This solution was suggested by @rgo at
https://github.com/w0rp/ale/issues/580#issuecomment-337676607.
2017-11-12 23:33:34 -05:00
Eddie Lebow
ea7f68226e [eruby] Add GetCommand to erb linter
GetCommand conditionally adds a filter (implemented as inline Ruby code
in the command line) to transform some of the problematic
Rails-specific eRuby syntax. Specifically, <%= tags are replaced with
<%.

This does not reduce the effectiveness of the linter, because the
transformed code is still evaluated.

This solution was suggested by @rgo at
https://github.com/w0rp/ale/issues/580#issuecomment-337676607.
2017-11-12 23:33:30 -05:00
Eddie Lebow
e9e29e003c [eruby] Rename erubylinterb to match tool name 2017-11-12 23:33:22 -05:00
w0rp
3c34848e02 Fix #510 Support checking LESS files with stylelint 2017-11-12 12:09:19 +00:00
w0rp
7edcb2210b Show problems from other files for lessc 2017-11-12 11:35:01 +00:00
w0rp
cd5da50531 Add tests for the command and executable callbacks, and make them use local node_modulse esxecutables like other linters 2017-11-12 11:25:24 +00:00
Eddie Lebow
365d023d0e perlcritic: all issues are warnings
Perlcritic is a style checker, not a syntax validator.

This change was originally proposed by @RsrchBoy in
https://github.com/w0rp/ale/pull/784.
2017-11-12 10:56:53 +00:00
Michael Jungo
39107a48b9 Add ocaml-language-server for OCaml and ReasonML 2017-11-12 10:56:53 +00:00
jnduli
6c60ca24c1 Add rstcheck linter to check for errors in restructured text (#1090) 2017-11-12 10:56:53 +00:00
Florian Beeres
52b6024997 Handle flow extra errors (#946)
Show more information for Flow errors with :ALEDetail
2017-11-12 10:56:53 +00:00
Jeff Willette
8bc44ed585 Added support for linting of proto files (#1098)
* Added support for linting of proto files
* Added function to get the proper protoc command
2017-11-12 10:56:53 +00:00
w0rp
a8c5e0f4dc Simplfy semver handling and share the semver version cache across everything 2017-11-12 10:56:53 +00:00
wuqiong4945
911b6d8f71 add 'output_stream': 'stderr', let golint work 2017-11-12 10:56:53 +00:00
w0rp
3111c6c1ca
Merge pull request #1111 from elebow/perlcritic-only-warnings
Perlcritic: All issues are warnings
2017-11-11 23:47:11 +00:00
Eddie Lebow
4d44996af6 perlcritic: all issues are warnings
Perlcritic is a style checker, not a syntax validator.

This change was originally proposed by @RsrchBoy in
https://github.com/w0rp/ale/pull/784.
2017-11-11 17:46:21 -05:00
Michael Jungo
f8fec369e5 Add ocaml-language-server for OCaml and ReasonML 2017-11-11 19:27:41 +01:00
jnduli
6c014a25e8 Add rstcheck linter to check for errors in restructured text (#1090) 2017-11-11 12:10:17 +00:00
Florian Beeres
1ddc3eec6d Handle flow extra errors (#946)
Show more information for Flow errors with :ALEDetail
2017-11-11 12:07:08 +00:00
Jeff Willette
27780cbb23 Added support for linting of proto files (#1098)
* Added support for linting of proto files
* Added function to get the proper protoc command
2017-11-10 09:37:23 +00:00
w0rp
d425b8a18a Simplfy semver handling and share the semver version cache across everything 2017-11-09 23:42:54 +00:00
Marcus Zanona
1ad7d5e6ca Remove unnecessary cat command from less#lessc 2017-11-09 19:52:08 -02:00
Marcus Zanona
4bc31fcd18 Fix imported files path lookup on less#lessc linter
Ale saves a temporary file (%t) which does not share the same path as
the original file, breaking import statements with relative URLs.
This fix sends content to `lessc` over stdin and adds
the current file (%s) as one of the included paths, so statements like
`@import '../utils' will correctly resolve based on the current file path.
2017-11-09 13:46:03 -02:00
Marcus Zanona
7ed82ab712 Adjust author info on less#lessc linter 2017-11-09 13:40:24 -02:00
Marcus Zanona
decf8188bc Adjust formatting on less#lessc linter 2017-11-09 13:39:38 -02:00
w0rp
c1fa88e78c
Merge pull request #1105 from wuqiong4945/master
add 'output_stream': 'stderr', let golint work
2017-11-09 13:33:10 +00:00
wuqiong4945
bcc215c4e0
add 'output_stream': 'stderr', let golint work 2017-11-09 21:14:29 +08:00
Marcus Zanona
732d8e3ed6 Add support for linting less files with lessc 2017-11-09 10:39:39 -02:00
w0rp
8ef8a35462 Fix #1101 - Ignore no-implicit-dependencies errors until TSLint supports checking via stdin properly 2017-11-09 10:32:41 +00:00
Auri
8a4cf923a8 Add PyLS linter (#1097)
* Support PyLS (python language server)
* Replace pyls#GetProjectRoot and add more config types to ale#python#FindProjectRoot
2017-11-08 17:58:56 +00:00
Taylor Blau
da8012971a ale_linters/dafny: lint only saved files 2017-11-08 09:28:24 -08:00
Taylor Blau
248a5eb2f6 ale_linters: add 'dafny' linter 2017-11-07 22:11:49 -08:00
aurieh
b5254e9760 Add dart LSP (resolves #1006) 2017-11-07 10:55:43 +02:00
David Sierra DiazGranados
7086586b17 Add executable option for phpmd linter (resolves #1076) (#1078)
* Add executable option for phpmd linter (resolves #1076)
* Add test for phpmd executable option
2017-11-05 18:53:12 +00:00
w0rp
7b5108d934 Fix #626 - Automatically use cargo check and cargo check --all-targets for cargo versions that are new enough 2017-11-05 18:37:44 +00:00
w0rp
34674e088d Fix #1061 - Handle the filenames returned by javac 2017-11-05 15:33:31 +00:00
w0rp
c26e5e277e Fix #491 - Only set -x for shellcheck for versions which support the option 2017-11-03 22:08:26 +00:00
Antoine Reilles
54f44c2d0f windows compatible warning match pattern for erlc (#1071)
* windows compatible warning match pattern for erlc
2017-11-03 18:56:34 +00:00
Derrick Nelson
a786e01127 Prevent logging of errors in the php linter. 2017-10-31 20:02:59 -04:00
w0rp
9cd0d75c4f Fix #936 - Check the actual files for gosimple and staticcheck 2017-10-31 13:01:01 +00:00
w0rp
d4d939bea9 Fix #1039 - Only check the file on disk for dartanalyzer 2017-10-26 23:31:07 +01:00
w0rp
33c2c20e66 Fix #1051 - Support ash and dash for shellcheck and the sh linter 2017-10-26 21:21:42 +01:00
Nathaniel Williams
22e8050639 don't use stdin with tflint 2017-10-26 14:14:28 -05:00
Nathaniel Williams
e4456a4e0e Add tflint fot Terraform 2017-10-26 19:37:04 +01:00
w0rp
6ed456f99c Merge pull request #1009 from sirbrillig/add/phpcs-include-code-option
phpcs: include sniff code in message
2017-10-26 17:49:46 +01:00
Payton Swick
aca66a54a5 Include sniff code in message 2017-10-26 12:22:08 -04:00
w0rp
0702cb59b7 Fix #1045 - Handle both output streams for Cargo 2017-10-26 10:03:10 +01:00
w0rp
5917de565d Fix #491 - Use -x for shellcheck for checking files with sourced files 2017-10-26 00:48:51 +01:00
w0rp
7eb16836d0 Fix indentation for the haml-lint file 2017-10-25 23:07:38 +01:00
Frank Schumacher
45ed37a5d9 auto-detect .rubocop.yml and .haml-lint.yml
Based on path to current file
2017-10-25 20:46:16 +02:00
w0rp
94bdabb8c3 Merge pull request #1044 from sumnerevans/mail-linters
#955 Add vale linter for mail files
2017-10-25 00:40:59 +01:00
Sumner Evans
7ac07a30b8 Fix #643 - Add support for write-good for many languages 2017-10-25 00:28:06 +01:00
Sumner Evans
db769fb060
#995 add vale linter for mail files 2017-10-24 17:01:40 -06:00
w0rp
1a5ef969a5 Merge branch 'aurieh-master' 2017-10-24 22:45:30 +01:00
Christopher Swingley
1c56bebd7c proselint for mail files (#1037)
Add proselint for mail files
2017-10-24 22:34:38 +01:00
Diego Oliveira
b172cd8b17 Add phan as a linter for php files (#1026)
Add phan for checking PHP code
2017-10-24 22:25:02 +01:00
aurieh
4884e33f8b Add checkmake (resolves #866) 2017-10-24 15:03:47 +03:00
w0rp
c4579e1809 Merge pull request #1032 from diegoholiveira/tests_phpmd
Fix the regex of phpmd
2017-10-22 18:02:44 +01:00
Diego Oliveira
5b986ce5d3 Fix the regex of phpmd 2017-10-22 14:56:09 -02:00
rhysd
4339af2bb6 add support for remark-lint 2017-10-19 18:17:04 +09:00
w0rp
90d4fb139c #977 Complain about the lack of configuration files for scalastyle in such a way that users will be directed towards getting it to work 2017-10-15 00:20:43 +01:00
w0rp
dded246aba Merge pull request #968 from adriaanzon/luacheck-whitespace
Luacheck: Respect warn_about_trailing_whitespace option
2017-10-12 22:06:48 +01:00
Linda_pp
70177480ba Add llc integration for LLVM IR (#979)
Check LLVM IR with llc
2017-10-10 10:13:09 +01:00
Keith Pinson
f21f52343d Fix Elm linter for Windows (resolves #980)
Looks like elm-make only respects /dev/null, even on Windows. The person
who wrote this linter maybe did not test it on Windows, and wrote the
code in the way you would expect to be solid by using NUL on Windows.
However it seems elm-make is not actually making use of /dev/null but
rather using it as a form of flag. Ironically this seems to be what is
already described in the comments; I added some clarification.
2017-10-06 17:26:50 -04:00
rhysd
753592ca66 Fix typos 2017-10-03 01:11:54 +09:00
Ruslan Osmanov
a640d3b022 Added g:ale_php_phpstan_configuration option 2017-09-30 23:36:10 +07:00
Adriaan Zonnenberg
1d1b5155e6 Luacheck: Respect warn_about_trailing_whitespace option
See http://luacheck.readthedocs.io/en/stable/warnings.html, warnings
611 to 614.
2017-09-30 16:38:10 +02:00
Xristoph Hintermüller
8f6044b8b6 Implemented review recommendations
Implements suggestions and recommendations suggested by the first review
of the "Advance C# linter based on mcs -t:module (#952)" pull request.

- Clarifies and simplifies description of linters and options
- Added links to help file and marked the mcsc linter as to be run only
  when file in buffer is saved or loaded.
- Added comments to the mcsc.vim file to clarify code
- removed type checks considered not necessary be reviewer.
- addresses findings by vader
- removed call to getcwd and cd in vim script
- handler expands file names relative to route of source tree into
  absolute pathes. Fixes errors not being marked when vim is started
  from subdirectory of source tree.
- implements tests for mcs.vim and mcsc.vim linter
2017-09-27 13:21:05 +02:00
Xristoph Hintermüller
cde50f1091 Added advanced c-sharp linter
The existing c-charp linter used the --syntax check mode of the mono mcs
compiler only. The new mcsc linter tries to compile the files located in
a directory tree located bejond the specified source directory or the
current one if no source is explicitly specified. The resulting module
target is placed in a temporary file managed by ale.
2017-09-25 12:54:50 +02:00
Tim Byrne
3910b025b2
Move dialect setting before user options (shellcheck) 2017-09-22 17:04:00 -05:00
Markus Doits
5a1ebdb633
fix typo RUBUCOP --> RUBOCOP for slim lint
this actually makes 6ebd8f355c work
2017-09-18 12:29:20 +02:00
Markus Doits
6ebd8f355c
slimlint: Search for .rubocop.yml and use it
This fixes slim-lint not honoring a `.rubocop.yml` in the file's or
parent directory. Due to the way slim-lint calls rubocop, it requires
the special `SLIM_LINT_RUBUCOP_CONF` env var to pick up the
`.rubocop.yml` if it is not run on the real file (which is the case
here).

See https://github.com/sds/slim-lint/blob/master/lib/slim_lint/linter/README.md#rubocop
2017-09-15 18:56:59 +02:00
w0rp
52c933cd72 Report problems in other files for brakeman, and get the tests to pass on Windows 2017-09-13 23:33:13 +01:00
Jeff Sutherland
7302bedc5e Add solidity linter: solium 2017-09-14 01:59:22 +07:00
w0rp
4e9420d1f5 Fix #921 - Capture both output streams for gosimple and staticcheck 2017-09-12 19:53:23 +01:00
w0rp
cb8a140141 Require function! to be used instead of function 2017-09-11 00:47:10 +01:00
Clément DOUIN
18a7d32c4c Elm local install support (#915)
* Add Elm support for npm local installation
2017-09-10 12:58:42 +01:00
w0rp
c11d2ae375 Fix an SML variable init bug, and get the SML cm file tests to pass on Windows 2017-09-10 00:20:05 +01:00
Sven-Hendrik Haase
ff28836616 Add GLSL linter using glslang (#914)
* Add a glslang linter for GLSL
2017-09-08 11:06:47 +01:00
BlahGeek
73d031d7ea Add cuda nvcc linter (#874)
* add cuda nvcc linter
2017-09-07 19:23:58 +01:00
w0rp
c277cdef8c Add an option for ignoring the output of TSLint if a file contains a single blank line 2017-09-06 11:17:21 +01:00
Alex Axthelm
b60a7224ab allow options to be set for lintr 2017-09-03 23:14:26 +01:00
Alex Axthelm
29ffd5134f Allow for lintr options 2017-09-03 23:14:26 +01:00
Jake Zimmerman
63e8946fc8 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
2017-09-03 19:56:14 +01:00
w0rp
7c2a5052a8 Fix #895 - Run Node.js scripts with node.exe instead of node on Windows 2017-08-31 13:12:24 +01:00
w0rp
ed9cdca127 Merge remote-tracking branch 'randrej/master' into c-clang-tidy 2017-08-30 22:08:41 +01:00
w0rp
40dca63891 Merge remote-tracking branch 'jclem/master' into tslint-rules 2017-08-30 21:21:03 +01:00
Jon Parise
f4c5d29c64 Add a linter for Apache Thrift IDL files
This linter works by invoking the `thrift` compiler with the buffer
contents and reporting any parser and code generation issues.

The handler rolls its own output-matching loop because we have the
(unfortunate) requirement of handling error output that spans multiple
lines.

Unit tests cover both the command callback and handler, and there is
initial documentation for all of the option variables.
2017-08-30 11:08:06 -07:00
Brayden Banks
d08d2dac79 Gradle support for javac
Based off of #745.
2017-08-29 15:39:23 -07:00
w0rp
b031531e79 #869 - Detect the shell dialect from the hashbang for shellcheck 2017-08-28 19:16:23 +01:00
w0rp
908e94622e #868 - Prefer cmd.js files for executing standard 2017-08-26 18:11:27 +01:00
w0rp
b9cf450684 Set the end column for some Vint problems 2017-08-26 17:23:20 +01:00
Michael
8f8d015dae Add pycodestyle Python linter support (#872)
Add a pycodestyle linter
2017-08-25 12:46:56 +01:00
w0rp
9d3bda4441 Merge pull request #865 from jez/erubis-linter
Add erubis linter
2017-08-22 10:33:08 +01:00
Jake Zimmerman
b356d56448 Add erubis linter
This linter works largely the same as the existing `erubylint` linter,
except it works with `erubis` instead of `erb` as the driving command.
2017-08-21 13:51:42 -07:00
w0rp
a3299bf03a Fix #864 - Use the user's configured executable for phpstan for executable() checks 2017-08-21 18:42:18 +01:00
w0rp
cc02eb8a5a #653 Show errors from other files for mypy 2017-08-20 17:43:42 +01:00
w0rp
4c6b58f70c Fix some indentation 2017-08-20 13:37:21 +01:00
Michiel Westerbeek
d646ebda72 Added new linter for GraphQL: gqlint (#863)
* Added new linter for GraphQL: GQLint

* added help-files
2017-08-20 13:36:46 +01:00
w0rp
7112776d1b #653 Update tslint to set the filename key for problems in other files 2017-08-20 00:05:15 +01:00
Dmitri Vereshchagin
b2d3764a18 Syntaxerl linter feature check (#861)
* Add feature check for SyntaxErl linter

* Escape SyntaxErl executable path in commands
2017-08-19 18:54:23 +01:00
w0rp
20e64fbae0 #860 Only enable the new option for setting the original filename for SyntaxErl if an option is on in ALE 2017-08-19 15:48:29 +01:00
Dmitri Vereshchagin
18cb9a725d Add original filename to SyntaxErl command 2017-08-19 17:18:48 +03:00
w0rp
41c4f3431c Fix #858 - Fix the stack ghc-mod command 2017-08-18 19:33:23 +01:00
w0rp
342e83db60 Include the ruleName for errors in tslint problems 2017-08-16 10:37:36 +01:00
Vo Anh Duy
626568d66d Make ghc-mod be awared of cabal file
Right now ghc-mod linter check temp file instead of current buffer,
which cause the problem that it can't detect cabal file and raise
missing package error.

To fix that we need to run ghc-mod check with actual path of the current
file and with ghc-mod option `--map-file` to redirect temp file source
code to actual one
2017-08-13 20:49:26 +08:00
w0rp
d5ae3201a4 Ban !=# and !=? from the codebase 2017-08-11 00:31:42 +01:00
Scott Bonds
322910dc0b Add linter for Idris (#838)
* Add linter for Idris

* Fix parsing warnings and column ranges in Idris linter

* Make Idris linter configurable. Fix help tag.
2017-08-10 21:09:58 +01:00
w0rp
b9f31621e4 Move --format=default in the flake8 command to the return value, and remove extra spaces in the tests 2017-08-10 09:58:32 +01:00
Matthew Grossman
fe95fcd357 Default flake8 to --format=default 2017-08-09 10:05:56 -07:00
w0rp
a535d07f28 Ban use of ==# or ==? in the codebase, and prefer is# or is? instead 2017-08-08 08:39:13 +01:00
w0rp
39ebb431b6 Document the PHP langserver integration 2017-08-07 13:08:51 +01:00
Andrej Radovic
70cd1d5a57 Fixed the comments, left only the doc URL 2017-08-06 13:14:09 +02:00
w0rp
593cafa18b Fix #823 - Write Windows files with CRLF 2017-08-05 20:17:25 +01:00
Andrej Radovic
a767578d44 Added clang-tidy for C, too.
A limited number of clang-tidy checks can be used with C, too. I pretty much
copied and refactored the C++ clang-tidy linter, and added some documentation
about C-compatible checks.
2017-08-05 16:42:28 +02:00
w0rp
d1023e9c2c Merge pull request #821 from verbitan/nagelfar
Add Tcl nagelfar linter
2017-08-03 23:40:09 +01:00
w0rp
09d50ebe31 Cover the Rust LSP with tests, allow LSP linters to be named anything, and rename the Rust LSP linter to rls 2017-08-02 23:21:30 +01:00
Nick James
a3d2fb5688 Add Tcl nagelfar linter 2017-08-02 23:05:19 +01:00
w0rp
6e07cf5b12 Cover the PHP language server functions with Vader tests 2017-08-02 22:34:09 +01:00
w0rp
1356cf8e01 #517 Enable the PHP language server 2017-08-02 19:44:00 +01:00
Junegunn Choi
bc1cf285c2
Rubocop: Show cop name 2017-08-02 13:55:54 +09:00
w0rp
2c252c0f12 #517 - Get the Rust language server working in a basic way 2017-07-30 23:34:58 +01:00
w0rp
84af543907 Fix some bugs so the PHP language server will show errors at least once 2017-07-30 14:42:00 +01:00
w0rp
fa33faad9e #810 - Handle output which is not JSON in many linters 2017-07-27 00:45:25 +01:00
w0rp
ded1bc14df #810 Ignore output which isn't JSON for brakeman 2017-07-26 23:17:46 +01:00
w0rp
cd860e3e8d #517 Add more code LSP support which makes the tssserver linter behave more like the LSP linters 2017-07-26 10:37:37 +01:00
w0rp
86297a7c65 Fix #804 - Do not run scalac for sbt files 2017-07-26 10:29:46 +01:00
Takano Akio
8ab632e6f2 Make executable and options configurable for hdevtools 2017-07-24 05:50:09 +00:00
w0rp
78e37dabb7 Fix #794 - Filter out any preceding lines of Flow output which aren't JSON 2017-07-22 19:21:30 +01:00
Jonathan Clem
6d732b9fb4 Remove trailing whitespace in tslint.vim 2017-07-21 16:09:45 -04:00
Jonathan Clem
710c3ee3d2 Use the tslint_rules_option variable 2017-07-21 15:59:16 -04:00
Jonathan Clem
8ea9044667 Add myself to authors for tslint.vim 2017-07-21 15:54:28 -04:00
Jonathan Clem
cddb26558f Add tslint support for rules directory option 2017-07-21 15:52:51 -04:00
w0rp
87616c5e91 #782 - Do not set the build directory for clang-tidy for header files, which does not work 2017-07-20 14:52:24 +01:00
w0rp
0b50ebb0f0 Fix #779 - Handle empty output for tslint 2017-07-19 10:26:03 +01:00
w0rp
235fc90e22 Fix #308 - Check Dart files with dartanalyzer 2017-07-18 23:57:33 +01:00
w0rp
aa94d0902a Fix #710 - Show hlint suggestions as info items, and include end line and column numbers 2017-07-18 13:14:02 +01:00
w0rp
a8a4df05e6 Fix #776 - Do not add ; echo for Windows for Flow 2017-07-18 11:46:59 +01:00
Matthew Turland
da410caff8 Add yaml swaglint linter (#771)
* Add yaml swaglint linter
2017-07-17 20:28:21 +01:00
w0rp
eab77b7072 #703 Add arguments to avoid generating plist files if no build directory is detected for clang-check 2017-07-17 10:19:08 +01:00
w0rp
3b1bc2bd13 Fix another executable callback typo 2017-07-17 00:19:33 +01:00
w0rp
92918fd841 Fix an executable_callback typo 2017-07-17 00:18:43 +01:00
w0rp
23ea62d40a #711 - Make the cpplint executable configurable 2017-07-17 00:17:59 +01:00
w0rp
3352a6c9df #711 - Make the clangtidy executable configurable 2017-07-17 00:07:18 +01:00
w0rp
fe70742bb9 #711 - Make the clangcheck executable configurable 2017-07-16 23:35:10 +01:00
w0rp
9e83878900 #711 - Make the gcc executables configurable 2017-07-16 22:41:15 +01:00
w0rp
58717e05a3 #711 - Make the cppcheck executables configurable 2017-07-16 22:11:43 +01:00
w0rp
54ff573174 #711 - Make the clang executables configurable 2017-07-16 21:37:10 +01:00
w0rp
bd5ff5b1e5 Merge pull request #774 from dmitrivereshchagin/syntaxerl-linter
Add SyntaxErl linter
2017-07-16 15:06:55 +01:00
Ardis
7d174b0056 Added phpstan linter for php. (#772)
* Added phpstan linter for php.
2017-07-16 15:04:25 +01:00
Dmitri Vereshchagin
1aea6a34ff Add SyntaxErl linter
These changes add [SyntaxErl][1] integration.  SyntaxErl is a syntax
checker tool for Erlang.

[1]: https://github.com/ten0s/syntaxerl
2017-07-16 15:35:21 +03:00
Kevin Kays
4c50aec79c Add scalastyle linter (#766)
* Add support for scalastyle

* Add scalastyle docs

* scalastyle support for column numbers

* off by one column

* Add tests for scalastyle command and handler

* update readme for scalastyle

* allow full scalastyle options instead of just config file

* fix indentation

* allow scalastyle config file in parent directories by a couple names.

* check for missing match args with empty

* remove echo

* use a for loop
2017-07-13 23:41:01 +01:00
w0rp
b50ae96413 #769 Ignore stderr output and output without JSON we can read for rubocop 2017-07-13 22:47:43 +01:00
Eddie Lebow
dcbb0ffee5 Rubocop: handle empty 'files' array in output
The handler previously assumed there would be at least one entry in the
'files' array in the output JSON. It looks like this in the normal case:

  "files":[{"path":"app/models/image.rb","offenses":[]}]

But if RuboCop's config excludes the specified input files, causing no
files to be linted, the output is emptier:

  "files":[]

This change causes the handler to treat that case correctly, and also
exit early if the reported offense_count is zero.
2017-07-12 19:53:58 -04:00
w0rp
5885954197 Fix #760 - Report problems with configuration files for rubocop 2017-07-12 22:41:06 +01:00
Eddie Lebow
bc32e24203 Add rails_best_practices handler (resolves #655) (#751)
* Move FindRailsRoot() to more general location

* Add rails_best_practices handler (resolves #655)

* Update documentation for rails_best_practices

Also add brakeman to *ale* documentation.

* rails_best_practices: allow overriding the executable

* rails_best_practices: format help correctly

* rails_best_practices: capture tool output on Windows
2017-07-12 10:43:47 +01:00
Sander van Harmelen
b2be833744 Fixup #756
The real fix was not using absolute paths anymore (so not expanding with the `:p` option). The regex was correct and should at least include the `^` character to make sure the string starts with the given path/filename and not references the path/filename in some error description.
2017-07-12 09:51:44 +02:00
w0rp
340c0bbac5 #756 Escape the paths used for the --include parameter for gometalinter, which uses RE2 2017-07-11 23:47:21 +01:00
Sander van Harmelen
5c7b55edec Make gometalinter work again
They changed their logic to use related paths instead of absoluut paths (see [here](a04df08be5 (diff-04424ed7c660c10495a54e8d11be89eaR253)))

This fixes the linter by also using relative paths…
2017-07-11 17:13:04 +02:00
Jake Zimmerman
768f761017 Prefer --fast for stack-build (#754)
* Vim scripts shouldn't have hyphens

Especially not ones that will be autoloaded. You can't have a hyphen in
a function name, so autoloading functions based on filename will fail.

* Add g:haskell_stack_build_options, default: --fast

If we're going to use the --fast option, we may as well go the whole 9
yards and let the user configure the 'stack build' flags.

* Create documentation for stack-build options
2017-07-11 13:05:13 +01:00
Michael Pardo
d787050fa8 Kotlin and general Gradle support. (#745) 2017-07-10 23:03:36 +01:00
w0rp
6a84605c57 Make every test set filenames and switch directories in the same way, and fix some missing escaping for the rubocop linter 2017-07-09 22:43:31 +01:00
Jake Zimmerman
b50a7318fb Add new Haskell linter (#742)
* Add stack-build linter for Haskell

The stack-build linter works better than the other two linters when
you're working with an entire Haskell project. It builds the project
entirely and reports any errors.

The other two Haskell GHC linters only work on single files, which can
result in spurious errors (for example, not being able to find imports).

* Document all available Haskell linters

* Split GHC checkers into separate files
2017-07-09 22:39:33 +01:00
w0rp
47ff514878 Fix some indentation 2017-07-09 15:50:36 +01:00
w0rp
025f3407d6 Simplify ale_linters#ruby#rubocop#GetType 2017-07-09 15:50:12 +01:00
Eddie Lebow
ab0e76dbd5 Use rubocop's JSON output format (resolves #339) (#738)
* Use rubocop's JSON output format (resolves #339)

Rubocop's emacs formatter seems to have changed format in some
not-so-ancient version. The JSON formatter should provide a more stable
interface than parsing lines with a regex.

The JSON formatter was introduced in mid-2013, so it should be safe to
assume available in any reasonably-modern environment. The oldest
currently-supported version of ruby (according to ruby-lang.org) was
not supported by rubocop until 2014.

* Rubocop: Use global function for GetType

* Rubocop: Use scope prefix in GetType

* Rubocop: Update command_callback test

* Rubocop: add end_col to Handle
2017-07-09 15:48:04 +01:00
Jonathan Boudreau
7def00d5a9 Use different reporter to support older versions of jscs (#737)
* Use different reporter to support older versions of jscs

* Add test and make more consistent with other code

* Add documentation for jscs

* Add more test coverage
2017-07-08 18:37:21 +01:00
w0rp
7ce960ae51 Fix #735 - Support old versions of Flow by only adding --respect-pragma for supported versions 2017-07-07 10:47:09 +01:00
w0rp
8315c0e337 Make the executable for gometalinter configurable 2017-07-07 00:10:30 +01:00
w0rp
b43413916d Initialize rubocop variables in one place 2017-07-06 22:47:07 +01:00
w0rp
a04e73ddbc #729 - Support running Python programs from virtualenv for Windows 2017-07-05 13:07:55 +01:00
Wil Thomason
6ab92af181 Correctly pass options to cpplint (#728)
* Fix option passing to cpplint
2017-07-05 10:14:43 +01:00
w0rp
bb293b297c Fix #216 - Filter out errors for other files for ansible-lint 2017-07-03 23:16:39 +01:00
w0rp
a1cf7f67a1 Fix #182 - Add support for lintr 2017-07-03 22:34:30 +01:00
w0rp
84b280b881 Fix #178 - Check Stylus files with stylelint 2017-07-03 16:57:39 +01:00
Chris Weyl
5a3cfbbdf5 Allow hadolint linter to run via docker image (#720)
* Add documentation for hadolint (doc/ale-hadolint.txt)

* Allow `hadolint` linter to run via docker image

These changes enable the `hadolint` linter to run via the author's
docker image, if present.   Three modes are supported:

 * never use docker;
 * always use docker; and
 * use docker as a failback.
2017-07-03 15:37:32 +01:00
w0rp
51f256e897 Remove the need for pointless callbacks for LSP linters 2017-07-02 13:25:36 +01:00
w0rp
857ca941d2 Support an 'stdio' type for linter defintions, and require a command for LSP connections via programs 2017-07-02 13:17:24 +01:00
Ryan
2330837747 Adjust output of luacheck linter to include error code (#717)
* linters/lua/luacheck: Show error code in message
2017-07-02 00:20:59 +01:00
Gabriel Sobrinho
29746d492e
Fix brakeman handler when there is no output 2017-07-01 11:18:21 -03:00
Chris Weyl
3f1cab3e7e Add profile, other options to the perlcritic linter (#675)
* Add profile, other options to the perlcritic linter
2017-06-29 13:08:51 +01:00
w0rp
79e8e063af Make pug-lint detect node_modules executables, and add options for pug-lint like the other linters 2017-06-29 11:40:03 +01:00
Tarik Graba
01ecf2a75f Adds an option to pass additional arguments to the verilog/verilator … (#698)
* Adds an option to pass additional arguments to the verilog/verilator linter

The new otion is g:ale_verilog_verilator_options
+ doc

* Spell check verilog linter doc file

* Add entries to the verilog linters in the doc table of content

* Vader test for verilog/verilator linter args option verilog_verilator_options
2017-06-29 09:15:52 +01:00
w0rp
f984c5fb83 Merge pull request #699 from jwoudenberg/master
Elm linter shows full error ranges
2017-06-27 22:24:48 +01:00
Jasper Woudenberg
72161b82ef Elm linter shows full error ranges 2017-06-27 20:16:29 +02:00
Nick Krichevsky
14cca6d115 Remove style classification from E999 (#696)
* Remove style classification from E999

* Update test_flake8_handler to reflect E999 changes
2017-06-27 15:07:26 +01:00
w0rp
16ba9bd680 Fix #680 - Use --shadow-file to check for problems with mypy while you type 2017-06-27 10:06:03 +01:00
John Sivak
539a76c5ae Change regex to better handle messages with multiple groups of parentheses. 2017-06-25 20:19:39 -04:00
w0rp
1917e9157c Fix #694 - Ignore BEGIN failed errors for Perl only for certain errors 2017-06-25 21:49:57 +01:00
w0rp
8b557f346c Move ale#handlers#c functions into ale#c 2017-06-25 20:34:23 +01:00
John Sivak
a9b29fef28 Feature/restore display of symbol (#693)
* Add display of the pylint symbol name after the message.

* Update test to pass.
2017-06-25 18:22:13 +01:00
Jasper Woudenberg
c2f69b7750 Improve elm linter (#637)
* Improve elm linter

Some types of errors do not return nice JSON.
Show them on the first line instead of showing nothing.

* Remove unnecessary properties from elm linter

* Add a vader test for elm-make linter

* Test non-JSON elm-make errors are shown
2017-06-25 17:12:40 +01:00
w0rp
229a1c092a #684 Handle tslint errors without the severity included, and use character instead of position for the columns 2017-06-25 16:40:44 +01:00
w0rp
4eaa990fe8 Fix #684 - Use the JSON format for tslint, for consistency betwen versions, and handling of end line and column numbers 2017-06-25 13:56:51 +01:00
Gagbo
dc647fcc7f Add clangcheck Linter to cpp (#686)
Add a clangcheck linter
2017-06-24 16:10:04 +01:00
Gagbo
e98560a349 Added builddir option to clang-tidy to point to json folder (#688)
Detect compille_commands.json files for clang-tidy
2017-06-24 12:38:16 +01:00
w0rp
026c4f304e #681 Show extra kotlin errors at line 1 2017-06-24 12:35:01 +01:00
w0rp
ce2bfa88eb Fix #676 - Fix handling of Perl errors 2017-06-22 12:37:08 +01:00
w0rp
40f6ee4c39 Set the --no-color flag for Vint if we fail to parse the version number for some reason 2017-06-22 12:24:25 +01:00
w0rp
dab6f39eb0 Fix some escaping and make some tests set filenames consistently 2017-06-21 22:33:34 +01:00
Eric Stern
ab534c2995 Support project's local phpcs installation (#666)
* Use locally-installed PHPCS if available

* Add author

* Add configuration options

* Escape executable

* Add tests
2017-06-21 21:35:40 +01:00
w0rp
d2806fad60 Fix the standard and xo handlers so they call the eslint function 2017-06-21 11:15:05 +01:00
w0rp
a105aa90a5 Fix #668 - Support eslint for TypeScript 2017-06-20 10:50:38 +01:00
oaue
b44bd4e24f handle column number in javac linter (#660)
* handle column number in javac linter

* Updated tests with column number for javac errors.

* Updated tests with column number for javac errors.
2017-06-19 11:45:09 +01:00
w0rp
66b9d025bb #662 Fix kotlinc configuration name escaping 2017-06-19 11:39:42 +01:00
Pavel Kuropatkin
11e17669d3 TSLint: distinguish warnings from errors (#663)
* TSLint: distinguish warnings from errors

* Test for TSlint warning/error distinguishing code added.
2017-06-18 18:46:34 +01:00
David Alexander
fb682be199 Fix for Crystal support (#651)
* Strip color from Crystal compiler output

* Don't lint files if the file doesn't exist

* Lint files if they are readable
2017-06-15 09:30:34 +01:00
w0rp
07af1799b1 #430 Use the style sub_type for flake8 problems 2017-06-14 16:40:03 +01:00
w0rp
f6b0a28cba Split up the flake8 and ansible-lint handlers 2017-06-14 16:20:30 +01:00
Ryan
e8cc40b139 Add fusion-lint, documentation, and tests (#648)
* Add `fusion-lint` for first FusionScript linter

* Add documentation over `fusion-lint`

* Add tests for `fusion-lint` command callback
2017-06-14 09:35:11 +01:00
w0rp
ebbfb64221 Merge branch 'tsserver' 2017-06-13 17:54:07 +01:00
Steven Humphrey
99263bdda4 Perlcritic column number and rule names (#640)
* Add column number to perlcritic linting output

This returns the column number of the perlcritic error so that ale can
show the column in addition to the line where perlcritic found an error.

* Add perlcritic configuration for rule names

This adds a configuration setting so that the name of the perlcritic
rule is shown [Rule::Name] after the error message.

This is useful to lookup the rule failure.

* Add a vader test for perlcritic#GetCommand
2017-06-11 21:13:47 +01:00
w0rp
5146332206 Add tsserver support 2017-06-09 09:47:19 +01:00
Mark Korondi
64ad51048d Support for GNU Awk linting (#638)
* GNU Awk linter support

* Documentation for awk linter
2017-06-08 18:26:21 +01:00
w0rp
eeea72e167 Fix #625 Ignore Perl errors from other files 2017-06-06 20:40:07 +01:00
w0rp
7db805b0cd #482 - Fix Flow handling with relative paths 2017-06-06 20:08:19 +01:00
w0rp
a0e0408ecc Complain about incorrect uses of expand('%...') 2017-06-06 10:22:52 +01:00
w0rp
d41f15bcbc #620 Check the Nim files on disk instead 2017-06-06 09:55:19 +01:00
w0rp
02ac28dbe6 Fix #624 - Ask for the Vint version in the background 2017-06-06 09:47:22 +01:00
Francis Agyapong
2c89a4c98a Add ktlint support (without formatting) for kotlin filetype (#610)
* Add ktlint support (without formatting) for kotlin filetype

* Fix code style and refactor to use ALE utility functions (GetMatches)

* Remove options for configuration file

* Refactor: Rename exec variable and use ale#Set for variable configuration
2017-06-02 19:41:46 +01:00
w0rp
5e4c302b5b Fix #557 - Detect C project roots and include root directories with headers, or include directories 2017-05-31 20:01:47 +01:00
w0rp
42efd51723 Fix #596 - Report exceptions thrown by flake8 2017-05-31 15:20:12 +01:00
Olaf Alders
fa02b1d259 Remove -X flag from perl defaults.
"-X Disables all warnings regardless of use warnings or $^W".  See
"perldoc perlrun" or http://perldoc.perl.org/perlrun.html

With the current defaults, warnings are squashed.  For example:

$ perl -X -Mwarnings -c -e'BEGIN { 42 + undef }'
-e syntax OK

$ perl -Mwarnings -c -e'BEGIN { 42 + undef }'
Use of uninitialized value in addition (+) at -e line 1.
-e syntax OK

So, it's not clear from the current defaults whether Ale wants to remove
warnings or enable them.  As it stands, it's trying to do both and the
disabling appears to win.

This commit enables warnings by default.
2017-05-30 16:07:21 -04:00
Adrian Zalewski
7ed343965c Ember-template-lint handler: properly handle template parsing errors. 2017-05-28 21:19:47 +02:00
w0rp
505b591b22 Merge pull request #585 from gavocanov/master
kotlin linter support for maven/pom.xml
2017-05-28 10:37:36 +01:00
w0rp
dc775f236c Revert "Fix #501 - Do not run javac when it is just a stub asking you to install Java on Mac OSX"
This reverts commit 528355e2c6.
2017-05-28 00:52:04 +01:00
w0rp
c4f22186bd Refactor running of local Node programs with a helper function 2017-05-27 17:11:03 +01:00
Paolo Gavocanov
f71c60ede3 kotlin linter support for maven/pom.xml 2017-05-27 16:23:16 +02:00
w0rp
7fe1119cf1 #576 Run the eslint.js file created by React with node on Windows 2017-05-26 10:02:48 +01:00
Nozomu Okuda
43098171ac Translate pylint output column to 1-based index
This should fix #575; also added vader tests to ensure that translation
is working properly.
2017-05-24 21:40:06 -06:00
w0rp
2e442a2cab Fix initialization of the use_global variable for eslint 2017-05-22 09:38:33 +01:00
w0rp
7d8390d43e Add experimental code for fixing errors 2017-05-20 19:02:36 +01:00
w0rp
04e0dda17a Merge pull request #568 from Qusic/master
Add clang for objc and objcpp
2017-05-20 13:39:09 +01:00
Sander van Harmelen
455793dfd9 Improve performance when using gometalinter (#566)
* Improve performance when using gometalinter

Before this change when I opened a big project that had 6000+ warnings/errors it took ages to get the actual warnings/errors and it caused my CPU to be busy for quite some time. The call to gometalinter alone took about 24 seconds, but after that vim was struggling as well.

After this change the gometalinter call just takes 2 seconds and nothing noticable happens with the CPU and/or vim.

* Removed obsolete test

This logic is no longer done by the `ale` plugin, but by `gometalinter` itself.
2017-05-20 11:43:28 +01:00
Qusic
af6470c8d0 add clang for objc and objcpp 2017-05-20 00:58:09 +08:00
w0rp
bb1f045d59 Merge pull request #564 from adriaanzon/php-end-columns
Add end columns on php linter
2017-05-18 09:38:15 +01:00
q12321q
cdf0fb39e5 Add xmllint linter (#559)
* Add xmllint linter for xml
2017-05-18 09:31:12 +01:00
w0rp
c41afa2b0d Clean up the rubocop file a little 2017-05-18 09:22:34 +01:00
w0rp
2fd4db91ce Merge pull request #561 from meunierd/override-rubocop-executable
Allow overriding rubocop executable.
2017-05-18 09:19:23 +01:00
Adriaan Zonnenberg
05970e1b28 Add end columns on php linter #538 2017-05-17 21:28:29 +02:00
Devon Meunier
3f926de76b Escape executable 2017-05-17 08:46:47 -04:00
w0rp
372a4dfd7e Merge pull request #546 from dawikur/master
Add cpplint linter
2017-05-17 09:12:36 +01:00
w0rp
3443994a52 #538 Set some end columns for some eslint problems 2017-05-16 22:57:15 +01:00
Devon Meunier
9ca51ed035 Allow overriding rubocop executable. 2017-05-16 14:07:52 -04:00
Dawid Kurek
9185a0d2e5 Add cpplint linter 2017-05-16 19:09:59 +02:00
w0rp
42155049a5 Merge pull request #551 from meunierd/add-checkstyle-linter
Add checkstyle linter
2017-05-15 20:58:06 +01:00