Commit Graph

385 Commits

Author SHA1 Message Date
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
w0rp
cad9fc19c6 Fix #773 - Do not clear the loclist when closing the loclist window 2017-07-15 18:44:45 +01:00
w0rp
5afbc9b701 Simplify the tests for the ALELint autocmd command 2017-07-14 00:33:12 +01: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
4c6c5bf84f #697 - Remove highlights more thoroughly 2017-07-13 23:27:02 +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
w0rp
a96cc92edf Merge pull request #756 from svanharmelen/b-gometalinter
Make gometalinter work again
2017-07-11 23:13:28 +01:00
w0rp
7b73204f25 Fix #747 - Lint and fix files after they have been been written to disk, not during writing them 2017-07-11 22:19:26 +01:00
Matteo Centenaro
505d114a68 Look for ini file to spot python project root (#755)
* Look for ini file to spot project root

When looking for the project root folder it would be better
to check for some well-known init file instead of __init__.py.
Indeed, with python3 it is now possible to have namespace modules
where intermediate dirs are not required to include the __init__.py file.

* Break if statement conditions over several lines

* Add blank lines for the if block

* Add test for FindProjectRoot

* Typo: missing / for MANIFEST.in

* Fix test for non-namespace package

* Add more test cases
2017-07-11 21:57:37 +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
Eddie Lebow
eb79b52a9a Brakeman: Remove unused cache var from tests 2017-07-11 01:30:06 -04:00
Michael Pardo
d787050fa8 Kotlin and general Gradle support. (#745) 2017-07-10 23:03:36 +01:00
w0rp
29d0a20dc3 Fix the flow command tests so they will run on my machine 2017-07-10 21:44:51 +01:00
w0rp
751d965265 Fix #749 - Use /bin/sh when the shell is fish 2017-07-10 21:35:35 +01:00
w0rp
b44f6053d1 Fix #730 - Lint files on save even when nothing was fixed 2017-07-10 13:40:22 +01:00
w0rp
82dd80c692 Fix #746 - Keep highlights from other plugins when buffers are hidden 2017-07-10 00:02:49 +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
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
w0rp
ab47011ef2 Support setting settings with g:ale_pattern_options 2017-07-09 00:10:28 +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
8eb4f95766 #697 - Clear all highlights every time items are set again, and refactor most things. Clear errors when linters are removed 2017-07-07 23:47:41 +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
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
130928590b #710 - Show warnings as warnings for ghc 2017-07-07 00:28:22 +01:00
w0rp
8315c0e337 Make the executable for gometalinter configurable 2017-07-07 00:10:30 +01:00
w0rp
854066e849 #732 - Use the configuration files when fixing files with rubocop 2017-07-06 22:58:14 +01:00
Gregory Einfrank
af02fb5183 Add ale_fix_on_save and ale_fixers to debug output (#731)
* Add ale_fix_on_save and ale_fixers to debug output

* Fix test by adding new ale-fix vars
2017-07-06 09:27:09 +01:00
w0rp
1bd9b0fbe2 #729 - Use a wrapper for simplify to fix // problems on Windows 2017-07-05 15:51:31 +01:00
w0rp
bb293b297c Fix #216 - Filter out errors for other files for ansible-lint 2017-07-03 23:16:39 +01:00
w0rp
160b9548ee Add a function for fixing the alignment of Vim help tags 2017-07-03 16:51:34 +01:00
w0rp
fd6f05c9ea Report exceptions thrown for stylelint 2017-07-03 16:13:10 +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
w0rp
b731bd77ab Get automatic completion with tsserver to work 2017-07-02 10:58:18 +01:00
w0rp
9f21e45156 Add some experimental completion code for tsserver 2017-07-02 10:58:18 +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
8846a8860f Use a new window for the ALEFixSuggest command, and document it better 2017-06-28 16:20:05 +01:00
Alexander "Ace" Olofsson
f883d4d4fd Add puppet-lint fixer (#701)
* Add puppet-lint fixer

* Add vader test for puppetlint fixer

* Ensure puppetlint variables are initialized
2017-06-28 15:27:02 +01:00