Commit Graph

287 Commits

Author SHA1 Message Date
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
w0rp b14377915b Clean up tests to stop people copy and pasting the wrong examples 2017-11-15 17:21:17 +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 8f80708da6 #852 - Capture error codes for cpplint 2017-11-15 11:28:16 +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 8a3a2da87e #852 Capture error codes for ESLint 2017-11-13 23:23:06 +00:00
w0rp 764a33b1c9 Fix #1124 - Handle stack-build errors with leading spaces 2017-11-13 22:47:19 +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
w0rp 7edcb2210b Show problems from other files for lessc 2017-11-12 11:35:01 +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
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
w0rp a8c5e0f4dc Simplfy semver handling and share the semver version cache across everything 2017-11-12 10:56:53 +00: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
Taylor Blau 248a5eb2f6 ale_linters: add 'dafny' linter 2017-11-07 22:11:49 -08:00
w0rp 34674e088d Fix #1061 - Handle the filenames returned by javac 2017-11-05 15:33:31 +00:00
w0rp 6e681d9066 Fix #971 - Add an option for turning errors about missing eslint config files off. 2017-10-28 12:11:33 +01:00
Nathaniel Williams e4456a4e0e Add tflint fot Terraform 2017-10-26 19:37:04 +01:00
w0rp 2f5b94e07d Remove redundant code for the GCC handler, and fix bugs with errors for - not being parsed 2017-10-26 00:09:26 +01:00
w0rp da365134b5 Fix an exception with notes with no previous message 2017-10-25 23:43:09 +01:00
Gerry Agbobada 25d2af0b25 Handle multiple files localtion lists with gcc handler (#1034)
Handle multiple files in the GCC handler.
2017-10-25 22:29:36 +01:00
w0rp 5029078df3 Set better highlights for write-good 2017-10-25 00:58:16 +01:00
Sumner Evans 7ac07a30b8 Fix #643 - Add support for write-good for many languages 2017-10-25 00:28:06 +01:00
w0rp 1a5ef969a5 Merge branch 'aurieh-master' 2017-10-24 22:45:30 +01:00
aurieh b401772d23 Add Vader tests 2017-10-25 00:39:54 +03: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
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
Adriaan Zonnenberg 221cb0f8cf Add some extra tests for luacheck whitespace warnings 2017-10-12 22:59:45 +02:00
Linda_pp 70177480ba Add llc integration for LLVM IR (#979)
Check LLVM IR with llc
2017-10-10 10:13:09 +01:00
w0rp 4634b1be93 Fix Flow and Idris tests for Windows 2017-10-01 18:41:41 +01:00
w0rp 5731616cd2 Get the mcsc handler tests to pass on Windows 2017-10-01 17:36:47 +01: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
w0rp a59d1ddbf3 Make temporary file detection work on just about all platforms 2017-09-14 00:11:17 +01:00
w0rp 71c2e65d64 Fix a mistake in the flow tests 2017-09-14 00:10:47 +01: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
w0rp 3d2bddf4af Get some more random tests to pass on Windows 2017-09-13 23:30:39 +01:00
w0rp a7614d9502 Get more tests to pass on Windows 2017-09-11 22:25:15 +01:00
w0rp 1a52a2b880 Get the TSLint handler tests to pass on Windows 2017-09-10 00:06:31 +01:00
w0rp 18f4d5a6da Simplify some Rust handler code, and get the Rust handler tests passing on Windows 2017-09-10 00:06:31 +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
w0rp 6833e01f23 #894 - Replace ugly temporary filenames for Haskell problems with the buffer's basename 2017-09-03 21:53:48 +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
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
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 80c7fbcefe Remove some redundant eslint test code 2017-08-22 21:40:00 +01: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 7112776d1b #653 Update tslint to set the filename key for problems in other files 2017-08-20 00:05:15 +01:00
Dmitri Vereshchagin e9e1bec772 Update SyntaxErl linter tests 2017-08-19 17:18:48 +03:00
w0rp 342e83db60 Include the ruleName for errors in tslint problems 2017-08-16 10:37:36 +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
Nick James a3d2fb5688 Add Tcl nagelfar linter 2017-08-02 23:05:19 +01:00
Junegunn Choi bc1cf285c2
Rubocop: Show cop name 2017-08-02 13:55:54 +09: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 86297a7c65 Fix #804 - Do not run scalac for sbt files 2017-07-26 10:29:46 +01:00
w0rp a0059cfe03 Fix #795 - Handle GCC errors without column numbers 2017-07-23 00:39:59 +01: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
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
Matthew Turland da410caff8 Add yaml swaglint linter (#771)
* Add yaml swaglint linter
2017-07-17 20:28:21 +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
Eddie Lebow eb79b52a9a Brakeman: Remove unused cache var from tests 2017-07-11 01:30:06 -04: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
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
w0rp 836a2cfe3b Fix issues with running individual tests, and get the Vim tests to run on certain machines again 2017-07-09 14:58:21 +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
daa84 46225f3bb1 Fix windows path check on rust linter (#736)
* Fix rust linter on windows

* Add windows path test

* Use ale#path#IsBufferPath to compare paths

* Fix errors
2017-07-07 17:03:17 +01:00
w0rp d9a7364dae #710 - Fix a parsing bug caused by the last fix 2017-07-07 10:59:00 +01:00
w0rp 130928590b #710 - Show warnings as warnings for ghc 2017-07-07 00:28:22 +01:00
w0rp bb293b297c Fix #216 - Filter out errors for other files for ansible-lint 2017-07-03 23:16:39 +01:00
w0rp fd6f05c9ea Report exceptions thrown for stylelint 2017-07-03 16:13:10 +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
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
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
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 93473a4101 Fix #690 - Filter out errors from other files for Haskell 2017-06-25 17:08:57 +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
w0rp fbf8ccb882 Fix #677 - Ignore errors from other files for cppcheck 2017-06-22 14:08:58 +01:00
w0rp 47401a6eda Fix the Perl tests in Docker 2017-06-22 13:51:18 +01:00
w0rp ce2bfa88eb Fix #676 - Fix handling of Perl errors 2017-06-22 12:37:08 +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 50d952b07d Print messages about imports used when modules are turned off 2017-06-20 17:38:21 +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
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
w0rp c2258e3684 Fix an ansible-lint test 2017-06-14 17:14:04 +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
w0rp f472e04b09 #538 - Set some end column indexes for flake8 2017-06-14 10:51:31 +01:00
w0rp edddb1910b Fix the stylelint tests to match the changes to the handler 2017-06-07 09:29:53 +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
Jon Gjengset 88948e0ee3 Include span label in rust lints (#601)
* Include span label in rust lints

This turns relatively unhelpful error messages like

    mismatched types

into more expressive messages along the lines of

    mismatched types: expected bool, found integral variable

Fixes #597.

* Exclude rust lint span label if empty

* Use single-quoted strings in vimscript

* Add test for detailed rust errors

* Prune Cargo JSON

* Use matching error file name

* Byte offsets not char offsets
2017-05-31 18:16:49 +01:00
w0rp 42efd51723 Fix #596 - Report exceptions thrown by flake8 2017-05-31 15:20:12 +01:00
Jon Gjengset 5eb80f03a2 Include location list end column for rust lint (#602)
* Include location list end column for rust lint

Fixes #599.

* Include rust lint end_lnum for good measure

* Reverse engineer end_* for rust lint tests
2017-05-31 13:17:04 +01:00
Adrian Zalewski 7ed343965c Ember-template-lint handler: properly handle template parsing errors. 2017-05-28 21:19:47 +02:00
Agata Naomichi b934dc52b6 Fix file name checking in rust handler (#581)
* Fix file name checking in rust handler

* Add a test for rust hanler

* Remove unused variable
2017-05-27 00:35:57 +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 d012fd1f09 Revert "Fix #556 Remove duplicate error messages from clang++"
This reverts commit 164c4efb32.
2017-05-20 12:57:41 +01:00
w0rp 0646b2861f Revert "#562 Join split JSON lines together for new Rust output"
This reverts commit 5790df1272.
2017-05-20 12:57:21 +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
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
Adriaan Zonnenberg 05970e1b28 Add end columns on php linter #538 2017-05-17 21:28:29 +02:00
Adriaan Zonnenberg 6299da7bd3 Break up php tests so the output is easier to read 2017-05-17 21:19:34 +02:00
w0rp 164c4efb32 Fix #556 Remove duplicate error messages from clang++ 2017-05-17 10:10:25 +01:00
w0rp 5790df1272 #562 Join split JSON lines together for new Rust output 2017-05-17 09:43:28 +01: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
Dawid Kurek 9185a0d2e5 Add cpplint linter 2017-05-16 19:09:59 +02:00
w0rp 4c5e97dd1c Fix #555 - Handle csslint errors without groups 2017-05-15 21:21:09 +01:00
w0rp 78a7df52c0 Clean up linters after running the checkstyle handlers 2017-05-15 20:59:50 +01:00
w0rp 42155049a5 Merge pull request #551 from meunierd/add-checkstyle-linter
Add checkstyle linter
2017-05-15 20:58:06 +01:00
w0rp 11a50b2580 Fix #553 - Filter out errors from other files for gometalinter 2017-05-15 20:43:55 +01:00
Devon Meunier 9baae52d1a Add checkstyle linter 2017-05-15 15:41:04 -04:00
wisut hantanong 3f33dc7d98 Haskell: add ghc-mod linter 2017-05-15 19:46:02 +01:00
Adriaan Zonnenberg 4e5a848d95 Merge pull request #533 from pbogut/add_php7_compatibility
Add PHP 7 compatibility
2017-05-09 18:34:38 +02:00
Pawel Bogut d7bdaeeab0 Read errors from stdout only (and make sure they are displayed) 2017-05-08 21:17:54 +01:00
w0rp a9c5e14fc9 Fix #363 - Detect virtualenv executables and fix import paths for mypy. Use lint_file for mypy 2017-05-06 23:19:54 +01:00
w0rp 702b203c51 Make the nimcheck tests more reliable 2017-05-06 23:06:51 +01:00
w0rp 3ecdb52e6c Make the gobuild tests work better when running them directly 2017-05-06 10:10:24 +01:00
Alexandr bf0b2cfd84 go build: skip not current buffer (#531)
* go build: skip not current buffer

* fix gobuild_handler.vader
2017-05-06 10:08:34 +01:00
w0rp d1cc1de6a5 Allow the Brakeman tests to be run directly 2017-05-05 10:14:52 +01:00
Eddie Lebow ba7999dae0 [RFC] Add Brakeman for Ruby on Rails (references #385) (#509)
* Add brakeman for Ruby on Rails
2017-05-05 10:05:53 +01:00
w0rp c2a0847f99 #502 Parse more undefined symbol errors 2017-05-04 23:34:52 +01:00