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
w0rp
8e70dc14f2
Fix #502 - Report undefined symbol errors better for javac
2017-05-04 23:19:58 +01:00
w0rp
a6cadaabef
Fix #356 Don't complain about #pragma once in C++ headers
2017-04-30 00:31:52 +01:00
w0rp
2c7d14809d
Set GCC flags appropriately for older versions
2017-04-29 20:00:42 +01:00
w0rp
0b4acd6453
Fix #518 Fix handling of spaces in filenames for various linters
2017-04-29 17:33:18 +01:00
Matthias Günther
c55064881d
Add erb linter ( #497 )
...
* Add eruby linter
* Update README with erb linter
* Fix example and contributions
* Remove trailing newline
* Fix for Vimscript style guide
* Eruby-linter: codereview with @w0rp
- read from stderro output_stream
* Eruby-linter: codereview => add handler for ruby
* Eruby-linter: codereview
- eruby and ruby lint use the same ruby-handler (removes
duplicated handling logic)
* Eruby-linter: try to fix tests
2017-04-25 18:38:02 +01:00
w0rp
a25b55b954
Fix #469 - Remove Unicode quotes from GCC errors, which cause issues
2017-04-24 23:00:43 +01:00
w0rp
a03121f5b0
Break shared handlers up into their own files, and fix stylelint error handling
2017-04-24 22:27:18 +01:00
w0rp
b4c0335ebc
Handle Unix errors with no space after the colon
2017-04-24 21:38:12 +01:00
w0rp
99afe586b3
Simplify some code and format some tests better
2017-04-24 21:11:33 +01:00
w0rp
7fd7630153
Fix #398 - Report problems with the eslint configuration file
2017-04-20 13:07:32 +01:00
Eddie Lebow
0384cabd77
Add the Reek checker for Ruby. ( #490 )
...
Add the Reek checker for Ruby.
2017-04-20 07:37:08 +01:00
Jason Tibbitts
4eeb4783d3
Add rpm spec file linter (rpmlint) ( #486 )
...
* Initial attempt at an rpmlint linter.
* Add some basic documentation.
* Play with indentation in the test file.
* Another attempt to fix the rpmlint test.
* Hopefully this does it.
2017-04-19 23:40:58 +01:00
w0rp
bdad25eefd
Add a function for getting matches, and use it to simplify a lot of code
2017-04-18 00:35:53 +01:00
Rafał Cieślak
2643f9f119
Flow: Fix case where 1st msg points to different file ( #477 )
...
* Flow: Fix case where 1st msg points to different file
* Remove `bufnr` from Flow handler output
* Fix the failing test & add a new one
2017-04-16 11:45:42 +01:00
w0rp
d5ccb1a7a1
Merge pull request #474 from jordanandree/add-crystal-lint
...
Add linter for Crystal lang
2017-04-15 11:34:20 +01:00
Adriaan Zonnenberg
8351bdbc06
Add SQL linter sqlint, closes #395 ( #472 )
2017-04-15 11:24:05 +01:00
jordanandree
abdfaaf84f
add crystal lint
...
- invokes via `crystal build` command without codegen
- adds vader tests
2017-04-13 21:33:36 -04:00
Adriaan Zonnenberg
7dbf32d0d7
PHP: Fix double errors and support fatal errors
2017-04-12 23:59:12 +02:00
w0rp
65fe914fb8
#392 Handle clang header errors too
2017-04-11 21:05:41 +01:00
w0rp
b06b832447
#392 Report errors inside of headers, in a very basic way
2017-04-11 20:32:57 +01:00
Brandon Roehl
4e40e8cb60
Add Ruby MRI linter ( #453 )
...
* Added ruby mri linter
* Added to the list of supported linters
* Async and now with 4 spaces
* Vader tests for ruby
* Match style choices
* Vader test for the Ruby handler now works and passes
2017-04-08 11:24:20 +01:00
Shalom Yiblet
cc8eb05860
improved the sml linter ( #445 )
...
* improved the sml linter
* made matching operator agnostic to user settings
* added tests for sml
2017-04-08 11:23:11 +01:00
Adrian
d28d7f732a
Add support for linting Handlebars templates with ember-template-lint ( #452 )
...
* Ember-template-lint Handlebars template linter: initial handler, test.
* Handlebars support with ember-template-lint: basic documentation entries.
2017-04-07 15:38:50 +01:00
w0rp
c7bd5cc0ba
Cover handling of swiftlint errors with tests
2017-04-03 23:43:31 +01:00
w0rp
4fc8452838
#447 Support zsh in the shell linter
2017-04-03 22:51:39 +01:00
Adriaan Zonnenberg
4b0f3257dd
Remove 'col' from linters where it is hardcoded to 1 ( #434 )
...
* Remove 'col' from linters where it is hardcoded to 1
When 'col' is 1, the first column will get highlighted for no reason. It
should be 0 (which is the default).
In the scalac linter there was also a check about the outcome of
`stridx`. It would set l:col to 0 if it was -1, and then it uses
`'col': l:col + 1` to convert the outcome of `stridx` to the actual
column number. This will make 'col' equals 1 when there is no match. We
can remove the check because `-1 + 1 = 0`.
* Remove outdated comments about vcol
vcol was added as a default, and the loclists that follow these comments
do not contain 'vcol' anymore
2017-03-30 23:33:38 +01:00
w0rp
4abefc189c
Cover the rubocop handler with tests
2017-03-27 19:53:12 +01:00
w0rp
5de084557b
Merge branch 'add-dogma'
2017-03-27 12:57:00 +01:00
w0rp
82fde0ea51
Use the same formatting as other files for the dogma linter file, and cover the Handler function with tests
2017-03-27 12:56:54 +01:00
Lucas Kolstad
d84d91ff35
Add support for ASM files using GCC
2017-03-25 16:36:17 -07:00
baabelfish
9f3cdf8270
Fix problems with nim check ( #404 )
...
* Fix problems with nim check
- Multi file errors are not shown in the same buffer
- Fixes parsing of error type that contain ':'
* Remove redundant fnameescape
2017-03-22 09:11:32 +00:00
baabelfish
297bc8553c
Add support for nim check
2017-03-18 19:45:37 +02:00
Markus Doits
fae26369d4
add slim-lint ( #388 )
...
* add slim-lint
* add slim readme entry
* add slim entry to doc
* add slimlint vader test
2017-03-13 23:21:59 +00:00
Naoya Inada
e969d97843
Fix pattern of output for coffeelint
2017-03-13 20:09:49 +09:00
w0rp
3cababc83b
Fix #386 report problems with eslint configuration files
2017-03-09 21:05:00 +00:00
w0rp
b3ab89ac15
Make sure to reset linters after running the nix handler test
2017-03-06 23:34:19 +00:00
w0rp
663d8f832f
Group handler test cases in a directory
2017-03-06 23:32:48 +00:00