Sander van Harmelen
455793dfd9
Improve performance when using gometalinter ( #566 )
...
* Improve performance when using gometalinter
Before this change when I opened a big project that had 6000+ warnings/errors it took ages to get the actual warnings/errors and it caused my CPU to be busy for quite some time. The call to gometalinter alone took about 24 seconds, but after that vim was struggling as well.
After this change the gometalinter call just takes 2 seconds and nothing noticable happens with the CPU and/or vim.
* Removed obsolete test
This logic is no longer done by the `ale` plugin, but by `gometalinter` itself.
2017-05-20 11:43:28 +01:00
w0rp
bb1f045d59
Merge pull request #564 from adriaanzon/php-end-columns
...
Add end columns on php linter
2017-05-18 09:38:15 +01:00
q12321q
cdf0fb39e5
Add xmllint linter ( #559 )
...
* Add xmllint linter for xml
2017-05-18 09:31:12 +01:00
w0rp
2fd4db91ce
Merge pull request #561 from meunierd/override-rubocop-executable
...
Allow overriding rubocop executable.
2017-05-18 09:19:23 +01:00
Adriaan Zonnenberg
05970e1b28
Add end columns on php linter #538
2017-05-17 21:28:29 +02:00
Adriaan Zonnenberg
6299da7bd3
Break up php tests so the output is easier to read
2017-05-17 21:19:34 +02:00
Devon Meunier
3f926de76b
Escape executable
2017-05-17 08:46:47 -04:00
w0rp
f7fc54262d
Refactor special command parsing into its own file
2017-05-17 11:17:49 +01:00
w0rp
164c4efb32
Fix #556 Remove duplicate error messages from clang++
2017-05-17 10:10:25 +01:00
w0rp
5790df1272
#562 Join split JSON lines together for new Rust output
2017-05-17 09:43:28 +01:00
w0rp
372a4dfd7e
Merge pull request #546 from dawikur/master
...
Add cpplint linter
2017-05-17 09:12:36 +01:00
w0rp
3443994a52
#538 Set some end columns for some eslint problems
2017-05-16 22:57:15 +01:00
w0rp
e2860f8a26
#538 Fix an off-by-one bug with end columns
2017-05-16 19:46:19 +01:00
Devon Meunier
9ca51ed035
Allow overriding rubocop executable.
2017-05-16 14:07:52 -04:00
w0rp
a65358cfce
#538 Suport highlight sizes by looking at end column numbers
2017-05-16 18:12:49 +01:00
Dawid Kurek
9185a0d2e5
Add cpplint linter
2017-05-16 19:09:59 +02:00
w0rp
4c5e97dd1c
Fix #555 - Handle csslint errors without groups
2017-05-15 21:21:09 +01:00
w0rp
78a7df52c0
Clean up linters after running the checkstyle handlers
2017-05-15 20:59:50 +01:00
w0rp
42155049a5
Merge pull request #551 from meunierd/add-checkstyle-linter
...
Add checkstyle linter
2017-05-15 20:58:06 +01:00
w0rp
11a50b2580
Fix #553 - Filter out errors from other files for gometalinter
2017-05-15 20:43:55 +01:00
Devon Meunier
9baae52d1a
Add checkstyle linter
2017-05-15 15:41:04 -04:00
wisut hantanong
3f33dc7d98
Haskell: add ghc-mod linter
2017-05-15 19:46:02 +01:00
w0rp
5a947933d7
Refactor jobs into a Vim version agnostic API which can be used for other purposes
2017-05-12 21:16:15 +01:00
w0rp
2bafdb7e5a
Run all tests in NeoVim, improve the test script, and make all tests pass for NeoVim
2017-05-12 20:38:52 +01:00
w0rp
fa54f7af97
Remove a dependency on eslint, ready for the new Docker image
2017-05-12 09:19:36 +01:00
w0rp
ac707be619
Remove the tests which run C compilers. They are too expensive and difficult to maintain
2017-05-11 00:07:30 +01:00
Adriaan Zonnenberg
4e5a848d95
Merge pull request #533 from pbogut/add_php7_compatibility
...
Add PHP 7 compatibility
2017-05-09 18:34:38 +02:00
w0rp
6ea00af689
#540 Fix shell escaping pretty much everywhere
2017-05-08 22:59:25 +01:00
w0rp
28c6ec9cad
#517 - Implement LSP chunked message parsing, sending messages to sockets, and callbacks
2017-05-08 22:18:28 +01:00
Pawel Bogut
d7bdaeeab0
Read errors from stdout only (and make sure they are displayed)
2017-05-08 21:17:54 +01:00
w0rp
cd79ced839
#517 Implement some LSP message handling
2017-05-07 23:54:14 +01:00
w0rp
ca120088c7
Fix #539 - Just set our highlights again when buffers are shown after being hidden
2017-05-07 19:30:19 +01:00
w0rp
1a157b1cd5
Support python -m flake8
for users who are running flake8 that way
2017-05-07 16:31:33 +01:00
w0rp
4228c503f4
#335 Detect flake8 in vritualenv, and escape the executable path
2017-05-07 16:16:17 +01:00
w0rp
673e36b2ef
Sleep to fix Travis builds
2017-05-06 23:33:38 +01:00
w0rp
a9c5e14fc9
Fix #363 - Detect virtualenv executables and fix import paths for mypy. Use lint_file for mypy
2017-05-06 23:19:54 +01:00
w0rp
702b203c51
Make the nimcheck tests more reliable
2017-05-06 23:06:51 +01:00
w0rp
07bcbd4c06
Escape the pylint executable appropriately
2017-05-06 21:20:02 +01:00
w0rp
f2c9fc403a
Fix #208 - Use the file on disk for pylint, and follow import paths
2017-05-06 19:30:41 +01:00
w0rp
2e1c9b0fa5
#208 Automatically detect pylint in virtualenv directories
2017-05-06 19:11:43 +01:00
w0rp
bf8aae02e8
Fix #534 - Stop other higlights being restored when buffers are hidden and shown again
2017-05-06 16:20:39 +01:00
w0rp
3ecdb52e6c
Make the gobuild tests work better when running them directly
2017-05-06 10:10:24 +01:00
Alexandr
bf0b2cfd84
go build: skip not current buffer ( #531 )
...
* go build: skip not current buffer
* fix gobuild_handler.vader
2017-05-06 10:08:34 +01:00
w0rp
ab9afaa2bf
Add a has() wrapper we can override for tests, and add a function for generating paths up to the root directory to search through
2017-05-05 23:03:19 +01:00
w0rp
6b15c7c9fd
Try and make the sign tests pass more often
2017-05-05 10:36:23 +01:00
w0rp
d1cc1de6a5
Allow the Brakeman tests to be run directly
2017-05-05 10:14:52 +01:00
Eddie Lebow
ba7999dae0
[RFC] Add Brakeman for Ruby on Rails (references #385 ) ( #509 )
...
* Add brakeman for Ruby on Rails
2017-05-05 10:05:53 +01:00
w0rp
c2a0847f99
#502 Parse more undefined symbol errors
2017-05-04 23:34:52 +01:00
w0rp
8e70dc14f2
Fix #502 - Report undefined symbol errors better for javac
2017-05-04 23:19:58 +01:00
w0rp
0aed51565e
Fix #528 remove and restore highlights when buffers are hidden and shown
2017-05-03 23:28:57 +01:00
w0rp
3573975934
Fix #410 - Use compile_commands.json files for clang-tidy, and check files on disk instead
2017-05-02 22:44:08 +01:00
w0rp
eb8bd26776
#392 - Detect and use compile_commands.json for cppcheck
2017-05-02 21:18:17 +01:00
Adriaan Zonnenberg
b0bba34ea2
Rename g:ale_linters_sh_* to g:ale_sh_*
2017-04-30 22:38:28 +02:00
w0rp
6547adcf2f
Run the lint_file checks synchronously, so the tests will consistently pass
2017-04-30 10:09:26 +01:00
w0rp
a6cadaabef
Fix #356 Don't complain about #pragma once in C++ headers
2017-04-30 00:31:52 +01:00
w0rp
2c7d14809d
Set GCC flags appropriately for older versions
2017-04-29 20:00:42 +01:00
w0rp
dfb10f1db2
Merge pull request #519 from AlexMasterov/feature/lua-luacheck-options
...
Add luacheck option to pass in more options
2017-04-29 18:06:55 +01:00
w0rp
6fc3954bd3
Cover the new path functions with some tests
2017-04-29 18:03:08 +01:00
w0rp
0b4acd6453
Fix #518 Fix handling of spaces in filenames for various linters
2017-04-29 17:33:18 +01:00
Alex Masterov
9cea780121
Add luacheck option to pass in more options
2017-04-29 08:58:35 +03:00
w0rp
447917e348
#427 Output buffer variables when buffer numbers are strings
2017-04-27 00:15:16 +01:00
w0rp
6853d2c304
#427 - Output buffer-local variables with :ALEInfo
2017-04-27 00:07:41 +01:00
w0rp
b25dbd6ea5
Fix #506 - Don't set signs for buffers which don't exist
2017-04-26 23:32:20 +01:00
w0rp
5d5ba2a780
#427 Allow linters and aliases to be configured in buffer local variables
2017-04-25 23:52:13 +01:00
w0rp
45c2d6b580
Fixes #361 , fixes #417 Get classpaths from Maven, and automatically detect src/main/java paths
2017-04-25 22:32:48 +01:00
Matthias Günther
c55064881d
Add erb linter ( #497 )
...
* Add eruby linter
* Update README with erb linter
* Fix example and contributions
* Remove trailing newline
* Fix for Vimscript style guide
* Eruby-linter: codereview with @w0rp
- read from stderro output_stream
* Eruby-linter: codereview => add handler for ruby
* Eruby-linter: codereview
- eruby and ruby lint use the same ruby-handler (removes
duplicated handling logic)
* Eruby-linter: try to fix tests
2017-04-25 18:38:02 +01:00
w0rp
a25b55b954
Fix #469 - Remove Unicode quotes from GCC errors, which cause issues
2017-04-24 23:00:43 +01:00
w0rp
a03121f5b0
Break shared handlers up into their own files, and fix stylelint error handling
2017-04-24 22:27:18 +01:00
w0rp
b4c0335ebc
Handle Unix errors with no space after the colon
2017-04-24 21:38:12 +01:00
w0rp
99afe586b3
Simplify some code and format some tests better
2017-04-24 21:11:33 +01:00
w0rp
7fd7630153
Fix #398 - Report problems with the eslint configuration file
2017-04-20 13:07:32 +01:00
Eddie Lebow
0384cabd77
Add the Reek checker for Ruby. ( #490 )
...
Add the Reek checker for Ruby.
2017-04-20 07:37:08 +01:00
Jason Tibbitts
4eeb4783d3
Add rpm spec file linter (rpmlint) ( #486 )
...
* Initial attempt at an rpmlint linter.
* Add some basic documentation.
* Play with indentation in the test file.
* Another attempt to fix the rpmlint test.
* Hopefully this does it.
2017-04-19 23:40:58 +01:00
w0rp
d8dcc56af5
Remove error highlights when buffers are cleaned up
2017-04-19 22:55:06 +01:00
w0rp
bdad25eefd
Add a function for getting matches, and use it to simplify a lot of code
2017-04-18 00:35:53 +01:00
w0rp
e237add9fd
Move path functions to their own file
2017-04-17 23:29:02 +01:00
Rafał Cieślak
2643f9f119
Flow: Fix case where 1st msg points to different file ( #477 )
...
* Flow: Fix case where 1st msg points to different file
* Remove `bufnr` from Flow handler output
* Fix the failing test & add a new one
2017-04-16 11:45:42 +01:00
w0rp
e97dada261
#427 Implement buffer variable overrides for all linter options
2017-04-16 01:24:08 +01:00
w0rp
e80116cee0
#427 Add a function for looking up ALE variables in buffer scope, and then global scope
2017-04-16 00:16:48 +01:00
w0rp
7682fab294
Fix #168 - Make the Fortran linter more configurable
2017-04-15 22:06:56 +01:00
w0rp
d5ccb1a7a1
Merge pull request #474 from jordanandree/add-crystal-lint
...
Add linter for Crystal lang
2017-04-15 11:34:20 +01:00
Adriaan Zonnenberg
8351bdbc06
Add SQL linter sqlint, closes #395 ( #472 )
2017-04-15 11:24:05 +01:00
jordanandree
abdfaaf84f
add crystal lint
...
- invokes via `crystal build` command without codegen
- adds vader tests
2017-04-13 21:33:36 -04:00
w0rp
e2287a42bc
Merge pull request #463 from valtermro/multi-ft-aliases
...
Add support for multiple filetypes in filetype aliasing
2017-04-13 00:02:18 +01:00
w0rp
8afd914c6d
Merge pull request #467 from adriaanzon/php-fix-double-errors
...
PHP: Fix double errors and support fatal errors
2017-04-12 23:58:01 +01:00
valtermro
475dd2e76a
Add support for multiple filetypes in filetype aliasing
2017-04-12 19:47:34 -03:00
w0rp
ceb910e78c
Make some temporary file tests more reliable
2017-04-12 23:17:55 +01:00
Adriaan Zonnenberg
7dbf32d0d7
PHP: Fix double errors and support fatal errors
2017-04-12 23:59:12 +02:00
w0rp
65fe914fb8
#392 Handle clang header errors too
2017-04-11 21:05:41 +01:00
w0rp
b06b832447
#392 Report errors inside of headers, in a very basic way
2017-04-11 20:32:57 +01:00
Brandon Roehl
4e40e8cb60
Add Ruby MRI linter ( #453 )
...
* Added ruby mri linter
* Added to the list of supported linters
* Async and now with 4 spaces
* Vader tests for ruby
* Match style choices
* Vader test for the Ruby handler now works and passes
2017-04-08 11:24:20 +01:00
Shalom Yiblet
cc8eb05860
improved the sml linter ( #445 )
...
* improved the sml linter
* made matching operator agnostic to user settings
* added tests for sml
2017-04-08 11:23:11 +01:00
Adrian
d28d7f732a
Add support for linting Handlebars templates with ember-template-lint ( #452 )
...
* Ember-template-lint Handlebars template linter: initial handler, test.
* Handlebars support with ember-template-lint: basic documentation entries.
2017-04-07 15:38:50 +01:00
José Júnior
4caf273d53
Adds options to foodcritic linter ( #437 )
...
* Adds options to foodcritic linter
Adds a way to pass command line options to the foodcritic command and
documentation about it.
* Creates a simple test for foodcritic command callback
This test simply runs the GetCommand function for the foodcritic linter
and feeds it with some test variables to assert the command line is
being created/escaped correctly.
* Makes foodcritic linter use a command callback
Following review comments, changes the foodcritic linter to use a
`GetCommand` callback for the `command_callback` linter option.
Makes sure that `~` are escaped: flags on foodcritic command line are
negated by adding a `~` in front of the specific cop name:
```
foodcritic -t ~FC011
```
But the way the commands are executed cause foodcritic to fail (since
tilde is recognized as home directory).
* Fixes the doc to include new variables
2017-04-05 18:21:47 +01:00
w0rp
c7bd5cc0ba
Cover handling of swiftlint errors with tests
2017-04-03 23:43:31 +01:00
w0rp
4fc8452838
#447 Support zsh in the shell linter
2017-04-03 22:51:39 +01:00
w0rp
85d86620f7
Cover basic GCC functionality with tests
2017-04-03 22:24:30 +01:00
w0rp
b7c79974bb
#446 Fix g:ale_lint_on_text_changed compatibility issues
2017-04-03 19:04:02 +01:00
w0rp
927ee79026
Update the test suite so it uses the latest Docker image, and use Bourne shell for most tests, so weird shell issues are easier to catch.
2017-04-02 22:57:29 +01:00
w0rp
7c736579b7
Fix #438 Create Java .class files for javac in a temporary directory
2017-03-31 20:14:53 +01:00
Adriaan Zonnenberg
4b0f3257dd
Remove 'col' from linters where it is hardcoded to 1 ( #434 )
...
* Remove 'col' from linters where it is hardcoded to 1
When 'col' is 1, the first column will get highlighted for no reason. It
should be 0 (which is the default).
In the scalac linter there was also a check about the outcome of
`stridx`. It would set l:col to 0 if it was -1, and then it uses
`'col': l:col + 1` to convert the outcome of `stridx` to the actual
column number. This will make 'col' equals 1 when there is no match. We
can remove the check because `-1 + 1 = 0`.
* Remove outdated comments about vcol
vcol was added as a default, and the loclists that follow these comments
do not contain 'vcol' anymore
2017-03-30 23:33:38 +01:00
taylorskalyo
36f9631512
Add options to facilitate linting only in normal mode ( #425 )
...
* [#420 ] Add options to facilitate linting only in normal mode
ale_lint_on_text_changed:
Allow setting to 'insert' or 'normal' to lint when text is changed only in
insert or normal mode respectively.
ale_lint_on_insert_leave:
This flag can be set to 1 to enable linting when leaving insert mode.
* [#420 ] Test updated global options
Ale should
- bind to TextChanged events when g:ale_lint_on_text_changed = 1
- bind to TextChanged events when g:ale_lint_on_text_changed = 'always'
- bind to InsertLeave event when g:ale_lint_on_insert_leave = 1
2017-03-30 23:21:37 +01:00
w0rp
2a88b60ff1
Fix #260 automatically set .csslintrc files from ancestor directories
2017-03-29 00:56:39 +01:00
w0rp
a4220b99a6
Fix #421 Automatically detect create-react-app paths
2017-03-29 00:21:27 +01:00
w0rp
ab3fd2e849
Fix #130 - Run linters when the filetype is changed
2017-03-27 22:40:25 +01:00
w0rp
c9ee3efc11
Enabling linting on save by default, re #333
2017-03-27 20:36:35 +01:00
w0rp
4abefc189c
Cover the rubocop handler with tests
2017-03-27 19:53:12 +01:00
w0rp
a1be697a02
Add a pause for the command chain test
2017-03-27 13:46:48 +01:00
w0rp
5de084557b
Merge branch 'add-dogma'
2017-03-27 12:57:00 +01:00
w0rp
82fde0ea51
Use the same formatting as other files for the dogma linter file, and cover the Handler function with tests
2017-03-27 12:56:54 +01:00
w0rp
8ca82af4ab
Merge pull request #414 from lucaskolstad/add_asm_linter
...
Add support for ASM files using GCC
2017-03-27 12:32:42 +01:00
w0rp
5582711680
Fix #413 Stop tests failing randomly due to issues with reading buffers too quickly
2017-03-26 02:13:21 +01:00
Lucas Kolstad
d84d91ff35
Add support for ASM files using GCC
2017-03-25 16:36:17 -07:00
Lucas Kolstad
b3f6f56745
Fix #272 by checking if quickfix is open before reopening to avoid triggering a BufEnter event that causes quickly repeating linting runs when g:ale_lint_on_enter = 1.
...
Add test assertions that quickfix window closes when lists become empty again.
2017-03-24 10:39:37 -07:00
baabelfish
9f3cdf8270
Fix problems with nim check ( #404 )
...
* Fix problems with nim check
- Multi file errors are not shown in the same buffer
- Fixes parsing of error type that contain ':'
* Remove redundant fnameescape
2017-03-22 09:11:32 +00:00
w0rp
18bae7da2e
#333 Finish implementing the lint_file option
2017-03-21 14:52:02 +00:00
w0rp
c59204b94f
Remove a test for experimental functionality which was removed
2017-03-21 13:58:08 +00:00
w0rp
2d1d6fb850
Add some utility functions for changing directories for commands
2017-03-21 13:09:02 +00:00
baabelfish
297bc8553c
Add support for nim check
2017-03-18 19:45:37 +02:00
w0rp
790c614b7a
#333 Update line numbers for loclist items when current sign_id values are set
2017-03-14 23:04:25 +00:00
w0rp
d19a35485f
#333 Keep any loclist items which have match_id values set on them
2017-03-14 20:26:44 +00:00
Markus Doits
fae26369d4
add slim-lint ( #388 )
...
* add slim-lint
* add slim readme entry
* add slim entry to doc
* add slimlint vader test
2017-03-13 23:21:59 +00:00
w0rp
3f3d8b0014
Merge pull request #393 from naoina/fix-coffeelint-pattern
...
Fix pattern of output for coffeelint
2017-03-13 23:18:06 +00:00
Naoya Inada
e969d97843
Fix pattern of output for coffeelint
2017-03-13 20:09:49 +09:00
w0rp
711ab99362
#333 Remember the IDs for highlights
2017-03-12 22:46:33 +00:00
w0rp
382e569f66
Revert "Don't save the sign ID on loclist items. This approach won't work."
...
This reverts commit f25a543260
.
2017-03-12 22:34:32 +00:00
w0rp
f25a543260
Don't save the sign ID on loclist items. This approach won't work.
2017-03-12 21:48:40 +00:00
w0rp
4bf6784d7d
#333 Save sign IDs back on loclist items, and make it possible to get line numbers again
2017-03-11 20:33:29 +00:00
w0rp
892fff03cc
Cover error priority in the sign tests
2017-03-11 17:39:51 +00:00
w0rp
bd07d04670
Cover parsing of Italian signs with tests
2017-03-10 13:21:08 +00:00
w0rp
3b981e22cc
Fix sign tests.
2017-03-09 22:45:22 +00:00
w0rp
587360e760
Group sign tests
2017-03-09 22:18:45 +00:00
w0rp
3cababc83b
Fix #386 report problems with eslint configuration files
2017-03-09 21:05:00 +00:00
w0rp
ad49846a48
#376 Use the window ID for a given buffer for setting the loclist
2017-03-09 00:43:53 +00:00
w0rp
1c3f0b1e19
#333 Add the List needed for the lint_file option, and option itself. Neither do anything meaningful yet
2017-03-08 00:23:14 +00:00
w0rp
21caf54543
Make the navigation commands only work with ALE's pre-sorted list
2017-03-07 23:31:25 +00:00
w0rp
b3ab89ac15
Make sure to reset linters after running the nix handler test
2017-03-06 23:34:19 +00:00
w0rp
663d8f832f
Group handler test cases in a directory
2017-03-06 23:32:48 +00:00
w0rp
75a2dc5ff5
Complain loudly when other conflicting plugins are installed
2017-03-06 23:15:34 +00:00
Alistair Bill
f659d97504
Add nix handler test cases
2017-03-05 20:36:29 +00:00
w0rp
76df2d393b
Fix detailed messages with newline characters
2017-03-04 23:55:12 +00:00
w0rp
2750c605c1
Fix cursor issues, and clean up the cursor tests
2017-03-03 20:14:03 +00:00
w0rp
da8a0f25cc
Fix the tests again
2017-03-03 19:37:24 +00:00
Jasper Woudenberg
edc5dee226
Merge remote-tracking branch 'upstream/master'
2017-03-02 19:04:28 -08:00
Jasper Woudenberg
f5ddc51d85
Address some feedback
2017-03-02 18:40:07 -08:00
w0rp
969274ccc2
Try and fix issues on Travis
2017-03-03 01:01:24 +00:00
w0rp
0e50a7d278
Fix #373 - echo the cursor message after lint cycles or when leaving Insert mode
2017-03-02 23:36:31 +00:00
Jasper Woudenberg
70711022db
Add support for error details
...
Some review needed.
2017-03-01 23:27:48 -08:00
Adriaan Zonnenberg
6befe9e37c
Fix PHP column matching for unexpected single quotes ( #370 )
...
* PHP: Fix column matching for unexpected single quotes
Unexpected single quotes resulted in an empty match, because PHP
surrounds the errors with quotes, and we check for the next quote to be
the ending delimiter.
For example: an unexpected string 'foo' would be presented as
`unexpected ''foo''`, and then the match would be `''`. The inner part
of that match is an empty string.
This adds a check for the keyword "expecting". Any quote after
"expecting" won't be matched, so we can use greedy matching instead of
non-greedy.
* PHP: Use "very magic"
The pattern started to get unreadable
Also replaced non-greedy matching (`\{-}`) by greedy matching, because
we don't need to match non-greedily anymore and it reads a little nicer.
* PHP: Add tests for column matches
And with that, also a test for unexpected single quotes.
2017-03-01 23:26:03 +00:00
w0rp
ceeff6c723
Fix #288 - Add a command for running ALE
2017-02-28 09:10:58 +00:00