Commit Graph

911 Commits

Author SHA1 Message Date
w0rp
08cfd5f90c
Close #1379 - Increment b:ale_linted when a buffer is checked 2018-03-03 16:22:56 +00: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
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
w0rp
540952ca8e Try to fix a test which is failing on Windows 2018-03-02 20:47:21 +00:00
w0rp
ad7ffe2875
Merge pull request #1390 from jdeniau/jd-feat-phpCsFixer
add php-cs-fixer to list of fixers
2018-03-02 20:40:31 +00:00
w0rp
2c2c7ceb1d Fix #1384 - Handle warnings and suggestions for tsserver 2018-03-02 20:33:45 +00:00
Andrew Crites
acbe527e15 Option to open lists vertically (#1381)
* Add configuration option to open lists vertically

* Add tests, clean up vertical list config

* Vertical list option cleanup

* Use is# for tests
* Order properties in documentation alphabetically
2018-03-02 20:22:29 +00:00
Julien Deniau
fbbb8c17d9 add php-cs-fixer to list of fixers 2018-03-01 15:48:47 +01: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
89f8d3e456 Fix #1336 - Print a friendly message when using invalid function names for fixers 2018-02-18 10:13:30 +00: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
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
0f822b063c Fix #1330 - Find isort configs better by changing the working directory 2018-02-04 13:16:44 +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
Jose Lorenzo Rodriguez
4df87eaadd
Added tests for hadolint 2018-01-29 22:21:50 +01:00
w0rp
c589e3d57d
Merge pull request #1322 from datanoise/master
fixed rust errors parsing
2018-01-29 13:54:50 +00:00
Kent Sibilev
863fb60695 updated rust handler test case 2018-01-28 18:35:46 -05:00
w0rp
65fc5d11c7 Fix #1038 - Automatically detect and use htmlhint configuration files 2018-01-28 12:44:42 +00:00
w0rp
7ef55a8615 #1303 jq isn't a Node program 2018-01-28 11:51:20 +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
rhysd
b28a6ddbe4 Support fixing JSON files with fixjson 2018-01-24 10:36:31 +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
w0rp
a5ec4143d2 Fix the didSave tests so they work in NeoVim 0.1.7, and do not send the message for tsserver 2018-01-19 16:50:04 +00:00
Rafael Lerm
042dec059a Send didSave message to LSP-based linters (#1295)
* Also send didSave to LSP linters.
* Add tests for messages sent to LSP linters.
2018-01-19 16:40:55 +00:00
w0rp
eddda2f8b5 Fix a command wrapper test on Windows 2018-01-17 18:11:20 +00:00
w0rp
045c92ed65 Fix #1298 - Escape commands for PowerShell 2018-01-17 18:08:17 +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
e18aba1d7e
Merge pull request #1270 from kevinkjt2000/test-ghc-options
test for ghc options
2018-01-12 12:11:33 +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
jiangzhi.xie
112fcf7dd5 Add a luac linter for Lua 2018-01-08 23:32:02 +08:00
w0rp
68d4a2216c
Fix a syntax error in a test 2018-01-08 13:28:01 +00:00
Kevin Tindall
ff388bbcd5
test for ghc options 2018-01-07 11:41:06 -06: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
Benjamin Bannier
eecbacb742 Removed unneeded SetDirectory call in proto handler test.
The test already handled arbitrary paths reasonably well, but setting
the directory interfered via leakage with others tests for some reason.

This patch removes the call to `SetDirectory` in the fixture setup and
the subsequent cleanup in the teardown as they are not required.
2018-01-07 17:54:21 +01:00
Jelte Fennema
b6d1c41925 Go: Add gotype support (#1099) 2018-01-07 12:11:01 +00:00
w0rp
c9d66b861b Show more ALE variables in ALEInfo 2018-01-07 12:01:20 +00:00
Jonatan Olofsson
ff8d4c5286 Fix #1255: Move extra clang-check args to before user options 2018-01-02 16:09:38 +01:00
w0rp
e98a3899da
Merge pull request #1254 from bkhl/master
Don't use temporary file for rustfmt fixer
2018-01-02 13:36:20 +00:00
w0rp
80342b119a
Merge pull request #1252 from nthapaliya/fish-shell-linter
Fish shell linter
2018-01-02 13:32:59 +00:00
Björn Lindström
b0eaddadc9 Don't use temporary file for rustfmt fixer
rustfmt normally acts on a file in place, and applies configuration
from rustfmt.toml files according to the path of the file.

Using a temporary file for rustfmt breaks this functionality, so
removing the '%t' from the rustfmt command.
2017-12-27 23:12:57 +07:00
Niraj Thapaliya
3b0c67e42c Add handler test 2017-12-26 14:10:28 -06:00
w0rp
c165c7c5d1 Fix #1251 - Handle an empty list in the line callback when NeoVim crashes 2017-12-26 18:15:59 +00:00
w0rp
e43e7065da Fix #1115 - Add support for wrapping all commands with an option 2017-12-20 12:20:38 +00:00
w0rp
2495744fc3 Fix the gitlint test 2017-12-20 10:49:23 +00: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
w0rp
1568bf8128 Fix the mscs tests on Windows, and use the improved Simplify for all tests instead. 2017-12-19 18:23:09 +00: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
f74e22b938 Clean up ALE linter buffer data when buffers are deleted, not unloaded 2017-12-19 15:35:57 +00:00
w0rp
d2bea5c310 Allow the cursor messages to be disabled while Vim is running 2017-12-19 14:43:24 +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
Jelte Fennema
532594839c erb: fix tests 2017-12-19 13:21:30 +01:00
Johannes Wienke
79aaec5a99 Missing warning level 'suggestion' for vale
Vale can also, optionally, raise suggestions. These weren't covered yet.
2017-12-18 17:10:57 +01:00
w0rp
fdaac9bd78 Fix #1210 - Fix a Windows path issue which broke TSLint 2017-12-18 13:27:59 +00:00
w0rp
31241e9ed8 Get the TSLint tempname test running on Windows 2017-12-18 12:01:05 +00:00
w0rp
fdde8af894
Merge pull request #1232 from languitar/vale-json
Use JSON output with vale
2017-12-18 10:11:57 +00:00
Nick Diego Yamane
ad1aee0b89 Fix typos in flake8 test messages
Signed-off-by: Nick Diego Yamane <nick.diego@gmail.com>
2017-12-17 16:45:57 -04: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
w0rp
fc151d7b30
Merge pull request #1222 from srathbone/master
Fix PHP linter to support PHP 7.2 lint output
2017-12-17 12:41:28 +00:00
w0rp
c8ee402cce
Merge pull request #1203 from Carpetsmoker/autocmd-start
Add ALEStartLint autocmd
2017-12-17 12:06:57 +00:00
w0rp
a22def45b9
Merge pull request #1209 from butlerx/java-fixer
add google-java-format fixer
2017-12-17 12:00:52 +00:00
Stephen Rathbone
78d1f5f5df Fix PHP linter to support PHP 7.2 lint output 2017-12-13 21:23:18 +00:00
Johannes Wienke
0d046f5f01 Add a vader test for the message handler 2017-12-13 14:37:49 +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
Martin Tournoij
4825cce1cc
Run before lint cycle, rename autocmds 2017-12-10 13:10:52 +00:00
w0rp
7a88a3605c Disable a test on Windows for now, because Windows is stupid 2017-12-10 10:12:26 +00:00
w0rp
9152effa9f Get the new test to pass on Windows 2017-12-10 10:07:04 +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
butlerx
0700c2d900
add google-java-format fixer 2017-12-09 14:25:35 +00:00
Martin Tournoij
92f20b0e51
goimports fixer doesn't work for vendored libraries
In Go you can "vendor" packages by putting them in the `vendor/`
directory for a project. Adding the `-srcdir` argument makes `goimports`
pick up these packages, in addition to what you have in GOPATH.

Without this, `goimports` is not very useful, since most projects vendor
their packages.
2017-12-08 12:49:02 +00:00
w0rp
b6efb5649e Run tests in parallel 2017-12-07 20:07:45 +00:00
w0rp
7a71186d62
Merge pull request #1174 from eborden/eborden/add-brittany-for-haskell-formatting
Add brittany for Haskell formatting
2017-12-07 19:15: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
Martin Tournoij
d6bf13502a
Add ALEStartLint autocmd
This grew out of my work in #1193; to ensure the statusline was being
updated I had to add:

    fun! s:redraw(timer)
        redrawstatus
    endfun

    augroup ALEProgress
        autocmd!
        autocmd BufWritePost * call timer_start(100, function('s:redraw'))
        autocmd User ALELint redrawstatus
    augroup end

Which kind of works, but is ugly. With this, I can replace the
`BufWritePost` with:

    autocmd User ALEStartLint redrawstatus

Which is much better, IMHO.

Actually, this patch actually replaces adding a function, since you can
do:

    augroup ALEProgress
        autocmd!
        autocmd User ALEStartLint hi Statusline ctermfg=darkgrey
        autocmd User ALELint      hi Statusline ctermfg=NONE
    augroup end

or:

    let s:ale_running = 0
    let l:stl .= '%{s:ale_running ? "[linting]" : ""}'
    augroup ALEProgress
        autocmd!
        autocmd User ALEStartLint let s:ale_running = 1 | redrawstatus
        autocmd User ALELint      let s:ale_running = 0 | redrawstatus
    augroup end

Both seem to work very well in my testing.

No need to `ale#Statusline#IsRunning()` anymore, I think?
2017-12-07 16:14:20 +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
57e1b03435 Add test for solhint handler 2017-12-04 14:23:46 -03:00
Jeff Willette
fba3c57872 added importjs fixer
- added tests for fixer functions
- added docs
2017-12-05 00:37:31 +09: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