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
w0rp
e53debe000
Fix #907 - Stop LSP integration breaking with empty string keys in NeoVim
2017-09-04 00:15:13 +01:00
w0rp
1ea5400e8d
Test lintr options configuration
2017-09-03 23:29:12 +01:00
w0rp
6833e01f23
#894 - Replace ugly temporary filenames for Haskell problems with the buffer's basename
2017-09-03 21:53:48 +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
c7fbcb3c02
Fix #899 - Make the quickfix and loclist windows close again
2017-09-03 19:44:00 +01:00
w0rp
d482b8e3b7
Fix #891 - Do not check ctrlp-funky windows
2017-09-03 18:24:43 +01:00
w0rp
f9b43a566c
#505 - Do not lint files on enter if the option for linting when the filetype changed is on
2017-09-02 16:57:01 +01:00
w0rp
52eff3bd83
Log commands that are run for ALEFix for ALEInfo
2017-08-31 16:46:40 +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
f36f38c960
Cover the prettier-eslint changes with tests, and fix some problems
2017-08-30 22:49:46 +01:00
w0rp
9958a8d32e
Add tests for the c version of clang-tidy
2017-08-30 22:11:04 +01:00
w0rp
0cdb653c9c
Cover the tslint rules option with a test
2017-08-30 21:27:28 +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
aliou
b36882e72e
Add support for prettier configuration file. ( #886 )
...
* Add support for prettier configuration file.
As of version 1.6.0, prettier allows passing a `--config` argument with
a path to a configuration file.
* Add test prettier configuration file.
* Add option to use local prettier configuration.
* Add description for new prettier option.
* Also check if the config is present before using it.
2017-08-29 16:05:19 +01: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
w0rp
e13651c16d
Fix #825 - Downgrade signs when problems change
2017-08-26 16:38:27 +01:00
w0rp
cdd1ddffdb
Fix #876 - Save history in a separate buffer variable so history works when linting is disabled
2017-08-25 22:22:26 +01:00
Michael
8f8d015dae
Add pycodestyle Python linter support ( #872 )
...
Add a pycodestyle linter
2017-08-25 12:46:56 +01:00
Peter Renström
4bea50b82f
Add clang-format fixer for C/C++ ( #873 )
...
* Add clang-format fixer for C/C++
* Document clang-format options
* Refer ale-cpp-clangformat to ale-c-clangformat
2017-08-24 22:49:43 +01:00
w0rp
623fdf212c
Include executable checks in ALEInfo
2017-08-23 21:41:29 +01:00
w0rp
0507503aa7
#653 Set loclists better when taking data from previous buffers
2017-08-22 22:45:55 +01:00
w0rp
80c7fbcefe
Remove some redundant eslint test code
2017-08-22 21:40:00 +01:00
Eric Stern
2f19cf874b
Suppress warning about .eslintignore'd file ( #836 )
...
* Suppress warning about .eslintignore'd file
* Fix slightly ironic lint error
* Lock error suppression behind a variable; add docs and tests
2017-08-22 21:35:09 +01:00
w0rp
1a524ca63e
#653 - Always set loclist or quickfix in a timer callback, which prevents errors E924, E925, and E926
2017-08-22 21:19:36 +01: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
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