Commit Graph

572 Commits

Author SHA1 Message Date
w0rp cc02eb8a5a #653 Show errors from other files for mypy 2017-08-20 17:43:42 +01:00
w0rp 456378cb53 #653 - Jump to the position which Vim does not jump to for moving from quickfix/loclist items to other buffers 2017-08-20 15:59:27 +01:00
w0rp 47e681529b Merge pull request #862 from notomo/add-phpcbf-fixer
add phpcbf fixer
2017-08-20 13:42:03 +01:00
w0rp 753cf5da95 #653 - Automatically accept annoying loclist and quickfix errors from Vim 2017-08-20 13:27:18 +01:00
tmn-o3 5a9a365aed add phpcbf fixer 2017-08-20 05:47:21 +00:00
w0rp 7112776d1b #653 Update tslint to set the filename key for problems in other files 2017-08-20 00:05:15 +01:00
w0rp fb0adc602e #653 Treat temporary filenames as being for the current buffer 2017-08-19 21:18:27 +01:00
w0rp 9d6883561c #653 Set problems from other buffers when buffers are first checked 2017-08-19 20:15:46 +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
Dmitri Vereshchagin e9e1bec772 Update SyntaxErl linter tests 2017-08-19 17:18:48 +03:00
w0rp 5c839c4825 #653 Collect items for quickfix from all buffers, and de-duplicate them. Set filename items in quickfix and loclist. 2017-08-19 14:28:51 +01:00
w0rp be4347084e Increase the default maximum completion suggestions to a more useful but safe level, and filter before requesting details, which is faster 2017-08-18 22:34:18 +01:00
w0rp 8cc7cd3aa1 Change the completeopt setting just before showing suggestions too, which works better 2017-08-18 21:06:21 +01:00
w0rp 0a282eb76a Automatically adjust the completion options when using completion while you type 2017-08-17 23:06:02 +01:00
w0rp 342e83db60 Include the ruleName for errors in tslint problems 2017-08-16 10:37:36 +01:00
w0rp 17a76a7403 Cover completion with more tests 2017-08-16 00:45:46 +01:00
w0rp 5af82312fb Set up one BufEnter event used for everything, and add tests for linting when the filetype changes 2017-08-14 23:31:54 +01:00
w0rp 1680f7af63 Fix a bug where the sign column was not closed some of the time, etc. 2017-08-14 10:00:46 +01:00
w0rp 79701f6f20 #653 Skip filetype keys in g:ale_buffer_info during cleanup 2017-08-13 22:27:01 +01:00
w0rp 2d02de33d4 #653 - Filter items based on the buffer number for signs 2017-08-13 16:30:46 +01:00
w0rp ea124c49d0 Cover filtering out items from other buffers for highlights 2017-08-13 16:04:17 +01:00
w0rp ae6cecabb6 #653 Filter items based on the buffer number for problem counts 2017-08-13 13:24:10 +01:00
w0rp c6d11f4281 #653 - Filter out other buffers for loclist jumping 2017-08-13 13:02:59 +01:00
ilex bc548b2ef9 Fix bug with ALEPrevious for blank lines.
ALEPrevious (as well as ALEPreviousWrap) does not work if there is an
error in empty line like 'W391: blank line at end of file' in python.
2017-08-13 11:56:41 +03:00
w0rp e6b6146731 #653 - Fix loclist jumping so it works with buffer numbers 2017-08-12 14:49:02 +01:00
w0rp b300b0646d Fix a failing test 2017-08-12 14:45:22 +01:00
w0rp c14886e479 #653 - Include the buffer number in sorting of items 2017-08-12 14:37:56 +01:00
w0rp c52a4910bf #653 - Update the loclist binary search to work with buffer numbers, to filter out items for other buffers 2017-08-12 14:27:47 +01:00
w0rp 7614560a6e #468 - Do not try to echo things for a while if something goes wrong 2017-08-12 10:47:06 +01:00
w0rp 78b9ae0f1c Add a fix function for breaking up long Python lines, which is hidden for now 2017-08-11 10:31:25 +01:00
w0rp d5ae3201a4 Ban !=# and !=? from the codebase 2017-08-11 00:31:42 +01:00
w0rp b1462ac66c #653 - Pass on filenames for loclist items 2017-08-10 23:08:40 +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 dcf7cbe366 Merge pull request #842 from gfontenot/gf-swiftformat
Add support for SwiftFormat as a fixer
2017-08-10 21:06:55 +01:00
w0rp 34aa3437e0 Pass extra rubocop options in the middle instead, and fix the Vader test so it can be run multiple times in Vim 2017-08-10 14:57:30 +01:00
Miguel Palhas 0c26e8945c Rubocop fixer now uses g:ale_ruby_rubocop_options (#841)
* Rubocop fixer now uses g:ale_ruby_rubocop_options

* Adds spec
2017-08-10 14:52:54 +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
Gordon Fontenot 4709e67627
Add support for SwiftFormat as a fixer
SwiftFormat is a tool that can be used to format Swift files. This commit adds
support for using SwiftFormat as a fixer from ALE. It looks for executables in
the Pods directory, then the Pods directory for a React Native project, then
finally falls back to the globally installed instance if neither of those were
found.

https://github.com/nicklockwood/SwiftFormat
2017-08-09 12:41:21 -05:00
Matthew Grossman fe95fcd357 Default flake8 to --format=default 2017-08-09 10:05:56 -07:00
w0rp 670858f774 Fix #468 - Add a cool down period for when things go wrong 2017-08-09 00:05:55 +01:00
w0rp 5010ddc28f Fix #833 - Do not open windows on save when the option is off 2017-08-08 07:29:10 +01:00
w0rp 16cfedf04a Fix #271 - Add the ability to open the quickfix or loclist windows only after saving a file 2017-08-08 00:46:42 +01:00
w0rp 593cafa18b Fix #823 - Write Windows files with CRLF 2017-08-05 20:17:25 +01:00
w0rp 747d4fe80b Stop writing a test file in real world usage in some cases 2017-08-05 19:51:38 +01:00
w0rp 9ac74c44fe Tell Vim omnicompletion that tsserver matches are case-insensitive 2017-08-04 13:35:02 +01: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 617582c5d3 Use g: for the PHP Vader tests 2017-08-02 22:36:53 +01:00
w0rp 6e07cf5b12 Cover the PHP language server functions with Vader tests 2017-08-02 22:34:09 +01:00
Junegunn Choi bc1cf285c2
Rubocop: Show cop name 2017-08-02 13:55:54 +09:00
w0rp 35913d9ce7 Cover the SaveEvent function with a test 2017-08-01 00:42:22 +01:00
w0rp a4ffd2f37c #734 - Use the buffer number from the events for entering buffers and saving buffers for checking buffers 2017-08-01 00:03:24 +01:00
w0rp ec82530247 #734 - Do not clear file linter results when no buffers are run 2017-07-31 22:36:30 +01:00
Mahmoud Mostafa eaeb71993f Add stylelint fixer 2017-07-31 02:54:59 +02:00
w0rp 79d4935ccf Cover special LSP initialize response handling with Vader tests 2017-07-30 23:53:46 +01:00
w0rp 63b9d9e9df Fix #798 - Handle syntax errors for tsserver 2017-07-27 13:24:32 +01:00
w0rp fa33faad9e #810 - Handle output which is not JSON in many linters 2017-07-27 00:45:25 +01:00
w0rp db4d68eae7 Add a fuzzy JSON decoding function for ignoring json_decode errors for linters 2017-07-27 00:06:15 +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
w0rp e0c014ab8c Disable completion in the Vader test if we temporarily enable it 2017-07-24 09:23:53 +01:00
Takano Akio 8ab632e6f2 Make executable and options configurable for hdevtools 2017-07-24 05:50:09 +00:00
w0rp a0059cfe03 Fix #795 - Handle GCC errors without column numbers 2017-07-23 00:39:59 +01:00
w0rp 12217480f9 Merge pull request #781 from sumnerevans/standard-fixer
Added fixer for Standard linter
2017-07-22 19:33:42 +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
Sumner Evans f3fec6685e
added tests for Standard.js 2017-07-21 11:47:41 -06: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 a5f754a5e0 Fix #786 - Only set --no-local-style for yapf if a configuration file is detected 2017-07-20 11:07:07 +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 5a6ffc2804 Add a missing test file 2017-07-18 12:34:22 +01:00
w0rp 0931e99ea4 Fix #775 - Run eslint.js via node on Windows for eslint --fix 2017-07-18 12:28:20 +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 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
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
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 3828ea5b26 Detect .git directories for finding the project root for C projects 2017-06-25 21:33:15 +01:00
Lynn Dylan Hurley 7f6e5dc65b Add ruby fixer using `rubocop --auto-correct` (#689)
* add ruby fixer for `rubocop --auto-correct`
2017-06-25 20:04:14 +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 492260c967 Fix the tests harder 2017-06-25 16:20:55 +01:00