Commit Graph

683 Commits

Author SHA1 Message Date
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
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
w0rp 07b2542c0d #549 Temporarily revert shell escaping changes, just for Windows 2017-05-12 09:20:16 +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
w0rp 6ea00af689 #540 Fix shell escaping pretty much everywhere 2017-05-08 22:59:25 +01:00
Pawel Bogut d7bdaeeab0 Read errors from stdout only (and make sure they are displayed) 2017-05-08 21:17:54 +01:00
w0rp 1a157b1cd5 Support `python -m flake8` for users who are running flake8 that way 2017-05-07 16:31:33 +01:00
w0rp 05bd4f591c Escape JavaScript executables in commands 2017-05-07 16:19:40 +01:00