Commit Graph

887 Commits

Author SHA1 Message Date
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
w0rp
f5fc746d00 Fix #1186 - Use -w by default for Perl, which does not execute code 2017-12-02 12:26:44 +00:00
w0rp
83760a0952
Merge pull request #1188 from ejsexton82/master
Fixed Command String for phpcbf Fixer
2017-12-02 12:25:13 +00:00
E.J. Sexton
122fdfd329 Fixed command string for phpcbf fixer 2017-12-02 09:27:18 +01:00
w0rp
6650c9a901 Break up the rest of the test script code into smaller files 2017-12-01 18:06:09 +00:00
w0rp
499c154272 Move the Bash code for running Vader tests to its own file 2017-12-01 17:50:24 +00:00
Sven-Hendrik Haase
51b127a4fd Add glslls (#1179)
* Add glslls-based LSP linter
* Make logfile configureable
2017-12-01 17:36:44 +00:00
w0rp
6053f764bd Make toggling work when pattern options are enabled 2017-12-01 17:12:19 +00:00
Carlos Coêlho
daee4a4722 Add prospector for checking Python code (#1183) 2017-12-01 17:04:30 +00:00
Sven-Hendrik Haase
0406af4484
Delete unnecessary unlets
I'm not even sure why these were here.
2017-12-01 03:03:10 +01:00
w0rp
a990188e27 Fix #1176 - Add an option for caching failing executable checks 2017-11-30 10:34:51 +00:00
w0rp
6503b85d3d Fix #1178 - Don't use the output from eslint_d for fixing files when the output is an error message 2017-11-29 10:08:54 +00:00
Evan Rutledge Borden
edb3a0c5e4 Add brittany for Haskell formatting
`brittany` is one of the options for Haskell source formatting. This
adds the necessary fixer files and documentation to support `brittany`
in `ALE`.
2017-11-28 17:58:13 -05:00
w0rp
a43ada93e4 Allow warnings about trailing whitespace to be disabled for pycodestyle, and cover the flake8 code with tests 2017-11-28 10:12:49 +00:00
w0rp
0ab689db0a Allow warnings about trailing blank lines to be hidden for flake8 and pycodestyle 2017-11-28 10:08:34 +00:00
w0rp
4e821e64c7 Fix #1168 - Make the ruby linter executable configurable 2017-11-28 09:48:35 +00:00
w0rp
d4ea0423a2 Fix go to definition tests on Windows 2017-11-26 23:20:21 +00:00
w0rp
17f93b16ab Test go to definition tests on Windows 2017-11-26 23:08:38 +00:00
w0rp
21b460bb1d Implement go to defintion for LSP linters 2017-11-26 22:27:08 +00:00
w0rp
c07b3b9bfc Fix #1166 - Add an option for the rls toolchain 2017-11-26 18:47:30 +00:00
w0rp
ae7cd2c090 Fix #918 - Save prettier details for Haskell linters 2017-11-26 18:24:10 +00:00
w0rp
8254e507d6 #1162 Get LSP completions working reasonably well 2017-11-26 13:01:01 +00:00
w0rp
b1a6abdda6 #1162 Add unfinished experimental code for supporting LSP completion, clean up the tests, and make the completion cancelling better 2017-11-26 12:24:18 +00:00
w0rp
f99b027cc6 Fix the JSON fixer post-processor test harder on Windows 2017-11-22 23:45:51 +00:00
w0rp
5160f814d9 Fix #988 - Support --fix-dry-run for ESLint by processing the JSON output 2017-11-22 23:23:14 +00:00
w0rp
6318a08e08 Fix a fixer test on Windows 2017-11-22 22:50:27 +00:00
w0rp
8dd542bed0 Fix lambda and funcref chain values 2017-11-22 22:39:43 +00:00
w0rp
d07b5b71a4 Add support for post-processing fixer output 2017-11-22 22:32:53 +00:00
w0rp
fbfde6968a Fix a typo 2017-11-22 17:44:21 +00:00
w0rp
9857e0a4b7 Fix the eslint_d fixer tests for Windows 2017-11-22 17:25:37 +00:00
w0rp
6e65998ca7 #988 Take --fix-dry-run away again, because it is dumb 2017-11-22 17:01:50 +00:00
w0rp
b5ec1a5fd0 Fix #988 - Support --fix-dry-run for ESLint where available, and --fix-to-stdout for eslint_d 2017-11-22 16:51:04 +00:00
w0rp
5d2ab192cf Support fixer aliases, and make prettier-eslint and prettier-standard just work 2017-11-22 15:31:39 +00:00
w0rp
5ed6f66f77 Reorganise the ALEFix tests 2017-11-22 14:55:08 +00:00
w0rp
4b4762697c #1095 Use --stdin-filepath where available for prettier-eslint 2017-11-22 14:46:14 +00:00
w0rp
382cb4d538 Fix a fixer test on Windows 2017-11-22 14:06:37 +00:00
w0rp
520541cd2d #1095 - Use --stdin-filepath for prettier, where available 2017-11-22 13:46:11 +00:00
w0rp
3f70f1cbf1 Disable piping buffer data into commands for fixing files where needed 2017-11-22 13:01:13 +00:00
w0rp
e7865d2f94 Fix the empty echo fixer test on Windows 2017-11-22 12:41:16 +00:00
w0rp
074a011b08 Make fixing ignore empty output better 2017-11-22 12:01:21 +00:00
w0rp
796fb651d6 Fix the Windows tests for pyls 2017-11-22 00:42:39 +00:00
w0rp
52f3ad7c75 Escape the pyls executable in the command, and support running virtualenv pyls executables 2017-11-21 23:51:18 +00:00
w0rp
8be85c2997 Use some default regex for completion support in other filetypes 2017-11-21 16:18:08 +00:00
w0rp
ac7f69063d #1151 - Overhaul the foodcritic linter for checking files on disk 2017-11-21 13:38:33 +00:00
rhysd
d465b71362 redpen: use 'code' key to show validator
instead of embedding it into text
2017-11-21 15:49:04 +09:00
w0rp
7ea3aba5e5 Quietly add go to definition support for tsserver 2017-11-21 00:21:45 +00:00
w0rp
5a3a695586
Merge pull request #1154 from deltaskelta/add-filename-key-for-gobuild
Added filename key for `go build` linter
2017-11-20 20:58:43 +00:00
w0rp
c9e203e620 Fix #859 Include test and jaxb Java source paths when available 2017-11-20 18:54:57 +00:00
Jeff Willette
b9f02ffb27 Added filename key for go build linter
- Re: f224ce8a37

- The issues that prompted the above commit which reverted changes made to `go build` and
`gometalinter` seemed to suggest that the main issue was with gometalinter and that
changes should be put into different commits so they are independent of each other

- This commit reinstates the changes to the `go build` linter which seem to be uncontested
and it also seems absolutely necessary to show errors from all files in the package which
may have caused a build failure.
2017-11-20 23:50:14 +09:00
Shogo NAMEKI
f20e5a4cf0 Add drafter for checking API Blueprint files (#1152) 2017-11-20 10:57:13 +00:00
w0rp
f224ce8a37 Revert "Show problems from other files for gobuild and gometalinter"
This reverts commit e721f851b4.
2017-11-20 10:43:45 +00:00
w0rp
9420c411bd #1149 Fix conversion from URIs to filenames on Windows 2017-11-20 00:02:33 +00:00
w0rp
597507e519 Make the message formats configurable with buffer local variables 2017-11-19 23:44:09 +00:00
w0rp
0cb8130d0e Stop the completion tests from failing randomly 2017-11-19 23:09:20 +00:00
w0rp
cc04a7aaa0 Make the iverilog tests match the other tests 2017-11-19 23:06:12 +00:00
RedBug312
1afe2992e2 Make options configurable for iverilog (#1143) 2017-11-19 22:59:17 +00:00
w0rp
62904d39ee #852 - Capture error codes for tflint 2017-11-19 13:37:56 +00:00
w0rp
fa7f0e2b85 #852 - Capture error codes for swiftlint 2017-11-19 13:33:20 +00:00
w0rp
b16c82f2f1 #852 - Capture error codes for swaglint 2017-11-19 12:46:06 +00:00
w0rp
d7a60ade77 #852 - Capture error codes for stylelint 2017-11-19 12:30:20 +00:00
w0rp
01b2971d04 #852 - Capture error codes for slim-lint 2017-11-19 01:08:20 +00:00
w0rp
7123f7236b #852 - Capture error codes for reek 2017-11-19 00:54:09 +00:00
w0rp
c012563984 #852 - Capture error codes for nimcheck 2017-11-19 00:38:00 +00:00
w0rp
3c8f3221df #852 - Capture error codes for mcs and mcsc 2017-11-19 00:19:09 +00:00
w0rp
40e26f0bc2 #852 - Capture error codes for luacheck 2017-11-19 00:02:35 +00:00
w0rp
41cb174f3a #852 - Capture error codes for jscs 2017-11-18 23:55:47 +00:00
w0rp
cefc5dc5b8 #852 - Capture error codes for csslint 2017-11-18 23:15:23 +00:00
w0rp
7455e2e97d #852 - Capture error codes for checkstyle 2017-11-18 18:29:12 +00:00
w0rp
49ccfb1a00 Fix #516 - Add support for pyflakes for Python 2017-11-17 18:11:28 +00:00
w0rp
0e96d4576a
Merge pull request #1142 from rhysd/redpen-ext
* redpen support for asciidoc, reST, LaTeX and Re:VIEW
* redpen: fix start column
* add redpen as text linter
2017-11-17 16:34:01 +00:00
w0rp
5635b3c864 Fix #741 - Set highlights for entire lines when signs are disabled 2017-11-17 14:29:57 +00:00
Thomas van der Burgt
22ec81e1de add ale_asm_gcc_executable option (#1138)
* add ale_asm_gcc_executable option
* add Vader tests for asm gcc linter command callbacks
2017-11-17 10:02:30 +00:00
rhysd
ca345ffb62 redpen: fix start column 2017-11-17 15:34:07 +09:00
rhysd
44cd07d39c redpen support for asciidoc, reST, LaTeX and Re:VIEW 2017-11-17 15:34:07 +09:00
Eddie Lebow
b390c69642 erb, erubis: Redirect file into first command.
The previous version relied on a zsh-specific behavior where
`<filename` after a pipe could redirect to the first command. This
is the standard way to do it.
2017-11-16 23:10:25 -05:00
w0rp
1f4f19cbd4
Merge pull request #1133 from nicwest/linter-clj-joker
add joker handler for clojure
2017-11-16 11:06:27 +00:00
w0rp
3ddb858881
Merge pull request #1137 from rhysd/redpen
Add Redpen support
2017-11-16 10:44:52 +00:00
rhysd
e232ea07c2 redpen: fix trailing comma in test data 2017-11-16 19:42:51 +09:00
rhysd
f1314b285c redpen: support end_lnum and end_col if possible 2017-11-16 19:28:30 +09:00
w0rp
f90a2d5474
Merge pull request #1114 from elebow/eruby-strip-rails-flavoring
Strip Rails flavoring from eRuby when in a Rails project. Fixes #580.
2017-11-16 10:19:32 +00:00
w0rp
ee07be5f59
Merge pull request #1135 from aurieh/master
Capture error codes for checkmake
2017-11-16 10:15:37 +00:00
rhysd
c9c52ef370 add tests and doc for redpen support 2017-11-16 18:40:10 +09:00
w0rp
71d34fc0c6 Fix #1132 - Parse react error codes again for ESLint 2017-11-16 09:34:24 +00:00
aurieh
7565a45b6f Modify vader tests for d585123 2017-11-16 01:01:59 +02:00
Nic West
eda20d0585 add joker handler for clojure
Adds new linter for clojure using joker

https://github.com/candid82/joker

fixes #975
ref #544 #1040
2017-11-15 22:23:46 +00:00
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
e12e5c912c Complain about stray echo lines in the codebase 2017-11-15 12:00:13 +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
w0rp
d48506f9c1 Fix #757 - Show :ALEDetail messages in a window 2017-11-14 23:25:01 +00:00
w0rp
6b2c61a5cc Fix #1128 - Add g:ale_linters_explicit for only enabling linters explicitly 2017-11-14 19:55:46 +00:00
w0rp
2e9cd978a2
Merge pull request #1129 from aliou/rubocop-cop-as-error-code
#852 - Capture error codes for Rubocop
2017-11-14 18:16:22 +00:00
w0rp
48eb362fca Add tests for the goimports fixer commands 2017-11-14 17:46:40 +00:00
Jeff Willette
20a01404f3 Added support for goimports fixer (#1123)
* Added support for goimports fixer
* added test and executable check
* fixed test assertions to reflect executable check
2017-11-14 17:37:22 +00:00
Aliou Diallo
425482116e
#852 - Capture error codes for Rubocop 2017-11-14 17:50:15 +01:00
w0rp
16e7dc2371 Fix #1069 Support formatting the loclist messages with g:ale_loclist_msg_format 2017-11-14 10:28:36 +00: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
fea708cff3 #852 Pass on error codes in the loclist corrections 2017-11-13 23:34:00 +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
Eddie Lebow
ad7ea36307 [eruby] Add GetCommand to erubis linter
GetCommand conditionally adds a filter (implemented as inline Ruby code
in the command line) to transform some of the problematic
Rails-specific eRuby syntax. Specifically, <%= tags are replaced with
<%.

This does not reduce the effectiveness of the linter, because the
transformed code is still evaluated.

This solution was suggested by @rgo at
https://github.com/w0rp/ale/issues/580#issuecomment-337676607.
2017-11-12 23:33:34 -05:00
Eddie Lebow
ea7f68226e [eruby] Add GetCommand to erb linter
GetCommand conditionally adds a filter (implemented as inline Ruby code
in the command line) to transform some of the problematic
Rails-specific eRuby syntax. Specifically, <%= tags are replaced with
<%.

This does not reduce the effectiveness of the linter, because the
transformed code is still evaluated.

This solution was suggested by @rgo at
https://github.com/w0rp/ale/issues/580#issuecomment-337676607.
2017-11-12 23:33:30 -05:00
w0rp
584e0bc7f2 #852 Support formatting echo messages with error codes. No linters set the code key yet 2017-11-13 00:47:34 +00:00
w0rp
70623ca8a7 Add support for showing Info severities in echoed messages 2017-11-12 23:19:26 +00:00
w0rp
3c34848e02 Fix #510 Support checking LESS files with stylelint 2017-11-12 12:09:19 +00:00
w0rp
7edcb2210b Show problems from other files for lessc 2017-11-12 11:35:01 +00:00
w0rp
cd5da50531 Add tests for the command and executable callbacks, and make them use local node_modulse esxecutables like other linters 2017-11-12 11:25:24 +00:00
Michael Jungo
3aff1df961 Add tests for ocaml-language-server callbacks 2017-11-12 10:56:53 +00:00
w0rp
d20e3bc71c #1108 Support setting b:ale_linter_aliases to a List 2017-11-12 10:56:53 +00:00
w0rp
b98387d0fa #1108 Support using Lists and 'all' for b:ale_linters 2017-11-12 10:56:53 +00:00
w0rp
099df0af52 #1108 Support selecting fixers with Lists 2017-11-12 10:56:53 +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
Michael Jungo
5df6ce6bb8 Remove id from LSP notifications 2017-11-12 10:56:53 +00:00
w0rp
555743a2ba #1095 Cache the sorting of patterns for g:ale_pattern_options 2017-11-12 10:56:53 +00:00
w0rp
8cd1ccff84 #1095 Apply all patterns for g:ale_pattern_options, instead of just the first match 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
Jeff Willette
8bc44ed585 Added support for linting of proto files (#1098)
* Added support for linting of proto files
* Added function to get the proper protoc command
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