Commit Graph

353 Commits

Author SHA1 Message Date
w0rp
7db805b0cd #482 - Fix Flow handling with relative paths 2017-06-06 20:08:19 +01:00
w0rp
9dadde190e Fix #461 - Allow multiple loclist windows to be opened, and replace some split windows 2017-06-06 17:31:13 +01:00
w0rp
3c5156d4a4 Simplify job cleanup code 2017-06-06 16:44:01 +01:00
w0rp
a0e0408ecc Complain about incorrect uses of expand('%...') 2017-06-06 10:22:52 +01:00
w0rp
dcbab18a35 Stop errors being generated when jobs are removed from the Dictionary before callbacks fire 2017-06-05 13:30:40 +01:00
Drew Neil
33b0852c84 Add :ALEFirst and :ALELast commands (#616)
* Add :ALEFirst and :ALELast commands

* Add documentation for ALEFirst and ALELast commands

* Add tests for ale#loclist_jumping#JumpToIndex()

* Fix the loclist jumping tests
2017-06-03 12:45:52 +01:00
w0rp
7c68889bbc #574 Do not restore items with no columns for highlights from hidden buffers 2017-06-02 19:02:54 +01:00
w0rp
d5ae9b50ea Fix #499 Set an explicit height for the quickfix list, and make the height configurable 2017-06-01 10:39:21 +01:00
cs86661
81f27a99c8 Set qflist/loclist window title properly ... (#588)
* Update list.vim

Set qflist/loclist window title properly ...

* Update list.vim

1. Remove redundant code.
2. Get absolute path from 'a:buffer'.

* Set the list window titles appropriately for each version of Vim, and add tests
2017-05-31 22:55:23 +01:00
w0rp
735a6a2a88 Fix #537 - Add support for balloons 2017-05-31 22:04:33 +01:00
w0rp
5e4c302b5b Fix #557 - Detect C project roots and include root directories with headers, or include directories 2017-05-31 20:01:47 +01:00
Jon Gjengset
88948e0ee3 Include span label in rust lints (#601)
* Include span label in rust lints

This turns relatively unhelpful error messages like

    mismatched types

into more expressive messages along the lines of

    mismatched types: expected bool, found integral variable

Fixes #597.

* Exclude rust lint span label if empty

* Use single-quoted strings in vimscript

* Add test for detailed rust errors

* Prune Cargo JSON

* Use matching error file name

* Byte offsets not char offsets
2017-05-31 18:16:49 +01:00
w0rp
42efd51723 Fix #596 - Report exceptions thrown by flake8 2017-05-31 15:20:12 +01:00
Jon Gjengset
5eb80f03a2 Include location list end column for rust lint (#602)
* Include location list end column for rust lint

Fixes #599.

* Include rust lint end_lnum for good measure

* Reverse engineer end_* for rust lint tests
2017-05-31 13:17:04 +01:00
w0rp
ab50b3a88a Fix #604 - Support highlights spanning many lines 2017-05-31 13:14:39 +01:00
w0rp
676a4049b3 #604 Add a function for creating positions needed for supporting highlights across many lines 2017-05-31 11:20:57 +01:00
w0rp
fd49f7df90 #604 Change match_id to match_id_list, for future highlights spanning more than 8 lines 2017-05-31 10:27:35 +01:00
Shunsuke Watanabe
5d32366616 make prettier options enabled 2017-05-31 11:48:20 +09:00
w0rp
b9f4b0373a #591 Store buffer variables when fixing filess, and read them back in ale#Var 2017-05-30 22:15:24 +01:00
w0rp
6ec965c8e4 #591 Support fixing files on save 2017-05-30 21:32:51 +01:00
Daniele Sluijters
bfad5c9dc4 go: Remove staticcheck and go build defaults
Fixes #594
2017-05-30 14:48:23 +02:00
w0rp
7a89d0c97e Refactor ALEFix code for work on events and tests to come 2017-05-30 11:06:02 +01:00
w0rp
945ed7d4e7 Add untested code for searching for C and C++ headers in basic projects 2017-05-28 11:05:14 +01:00
w0rp
c17346d402 Fix ALEInfo and some test issues 2017-05-27 23:51:27 +01:00
w0rp
aca5a00fb7 Fix #500 - Support defining aliases for linter names 2017-05-27 21:27:42 +01:00
w0rp
8e997ac231 Fix #584 - Fix Neovim line handling issues 2017-05-27 19:23:13 +01:00
w0rp
62dae1cc6b Support both prettier and prettier-eslint 2017-05-27 18:31:52 +01:00
tunnckoCore
8e8113ff6f feat(fixer): add Prettier fixer (using Prettier-ESLint CLI) + docs 2017-05-27 18:03:14 +01:00
w0rp
c4f22186bd Refactor running of local Node programs with a helper function 2017-05-27 17:11:03 +01:00
Agata Naomichi
b934dc52b6 Fix file name checking in rust handler (#581)
* Fix file name checking in rust handler

* Add a test for rust hanler

* Remove unused variable
2017-05-27 00:35:57 +01:00
w0rp
00d3141962 Fix #577 Add an option preventing linting of large files 2017-05-26 21:21:15 +01:00
w0rp
9460e58c3b Fix #371 Allow ALE to be disabled in different buffers 2017-05-26 16:20:17 +01:00
w0rp
c77cf0e518 #371 Allow buffer variables to be set based on patterns 2017-05-26 15:59:43 +01:00
w0rp
c89587785b Fix #549 - escape strings more appropriately for use with cmd /c 2017-05-26 00:06:16 +01:00
w0rp
3840cebbc4 Automatically use eslint_d for eslint, when available 2017-05-25 22:34:59 +01:00
w0rp
c31cd12bdd Simplify the sandbox check, to save on execution time 2017-05-25 17:23:21 +01:00
w0rp
92ade713f2 #323 Document ale#statusline#Count() instead, and encourage its use 2017-05-24 10:23:13 +01:00
w0rp
58880f33be #572 Handle cleared SignColumn highlights too 2017-05-23 17:25:13 +01:00
w0rp
1e72a7a130 Add a fixer for Python for automatically adding blank lines before control statements 2017-05-22 12:59:40 +01:00
w0rp
2e442a2cab Fix initialization of the use_global variable for eslint 2017-05-22 09:38:33 +01:00
w0rp
71bf2bfb94 Fix #572 - Link to whatever SignColumn links to for ALESignColumnWithoutErrors 2017-05-22 09:34:25 +01:00
w0rp
b67c103d06 #309 Add an option for changing the sign column color when problems are detected 2017-05-21 22:42:27 +01:00
w0rp
3a289dab6b #318 Do not capitalize the first character for cursor messages 2017-05-21 19:51:34 +01:00
w0rp
23ee0d0992 #149 - Set different highlights for info, style error, and style warning problems 2017-05-21 19:22:48 +01:00
w0rp
57ad32f986 Fix counting of warnings and style warnings 2017-05-21 18:58:26 +01:00
w0rp
d511b02ebe Make the job handling code handle the scripts being reloaded better 2017-05-21 16:16:06 +01:00
w0rp
ab44d05508 #149 - Support info and style problem types for status lines 2017-05-21 15:37:45 +01:00
w0rp
3532257a1a Detect more eslint configuration files for fixing errors 2017-05-20 23:41:54 +01:00
w0rp
f92bbab8cf #149 - Support Info, style error, and style warning types for problems for signs 2017-05-20 23:32:41 +01:00
w0rp
3530180a73 Suggest functions for fixing issues for ALEFix 2017-05-20 19:02:36 +01:00
w0rp
59d9f5d458 Allow b:ale_fixers to be used 2017-05-20 19:02:36 +01:00
w0rp
ad52b9630d Fix Funcref fixers for NeoVim 2017-05-20 19:02:36 +01:00
w0rp
ed097cfcbd Allow funcref values and lambdas for ALEFix 2017-05-20 19:02:36 +01:00
w0rp
e80389f8d4 Add some more tools for fixing problems with Python files 2017-05-20 19:02:36 +01:00
w0rp
74691269ce Run a lint cycle after fixing problems 2017-05-20 19:02:36 +01:00
w0rp
18467a55b5 Don't modify files when fixing doesn't change anything. 2017-05-20 19:02:36 +01:00
w0rp
e6b132c915 Fix an off-by-one bug in ALEFix 2017-05-20 19:02:36 +01:00
w0rp
4214832ae2 Remove the code for checking if functions exist. It breaks autoload functions 2017-05-20 19:02:36 +01:00
w0rp
1f4d1800e0 Allow function aliases to be registered for fixing problems, and add some more argument checking for fixing problems 2017-05-20 19:02:36 +01:00
w0rp
ea1627f5ce Start experimenting with generic functions for fixing problems 2017-05-20 19:02:36 +01:00
w0rp
0b743389e5 Send modified lines to jobs, not the file contents 2017-05-20 19:02:36 +01:00
w0rp
05bab00c3c Allow strings to be used for selecting a single fix function for g:ale_fixers too 2017-05-20 19:02:36 +01:00
w0rp
8ebd15a54d Add commands to run ALEFix, and some tests to cover functionality so far. Add a simple autopep8 function. 2017-05-20 19:02:36 +01:00
w0rp
7d8390d43e Add experimental code for fixing errors 2017-05-20 19:02:36 +01:00
w0rp
65fbf1cdff #563 Use a configurable list of directories for detecting virtualenv paths instead. 2017-05-20 13:34:53 +01:00
w0rp
d012fd1f09 Revert "Fix #556 Remove duplicate error messages from clang++"
This reverts commit 164c4efb32.
2017-05-20 12:57:41 +01:00
w0rp
0646b2861f Revert "#562 Join split JSON lines together for new Rust output"
This reverts commit 5790df1272.
2017-05-20 12:57:21 +01:00
w0rp
0f0d1709c5 #567 Try and fix NeoVim split line handling 2017-05-20 12:50:19 +01:00
w0rp
3ca70cb841 Add a check to make tests fail less 2017-05-18 09:27:18 +01: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
e2860f8a26 #538 Fix an off-by-one bug with end columns 2017-05-16 19:46:19 +01:00
w0rp
1b53fa841b Fix some problems with LSP functions 2017-05-16 19:38:05 +01: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
fa3a4b3ba2 Complain when shellescape is used instead of ale#Escape 2017-05-15 20:21:28 +01:00
w0rp
d4466d4be7 Add some functions for sending LSP commands to a process, and automatically starting that process 2017-05-13 00:12:12 +01:00
w0rp
204e3ca36b Automatically remove jobs from the internal map after they are done 2017-05-12 23:56:58 +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
07b2542c0d #549 Temporarily revert shell escaping changes, just for Windows 2017-05-12 09:20:16 +01: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
w0rp
cd79ced839 #517 Implement some LSP message handling 2017-05-07 23:54:14 +01:00
w0rp
32f21751f4 Do not copy the items for setting highlights, as we do need to modify the items in ale_buffer_info 2017-05-07 19:33:59 +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
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
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
14f3fc777f #427 Implement b:ale_warn_about_trailing_whitespace 2017-05-04 23:50:11 +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
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
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
w0rp
cbb01e32b9 Cache executable calls to make things slightly faster 2017-04-29 11:58:50 +01: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
fe51866dfc Credit the original author of the Ruby handler 2017-04-25 20:50:56 +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
Jason Tibbitts
c1a2d26711 Disable rpmlint by default (#492)
* Disable rpmlint by default as it is not safe.
2017-04-20 16:55:20 +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
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
35c831dd2c Merge pull request #471 from breed808/gometalinter
Add gometalinter linter for go files
2017-04-15 21:09:23 +01:00
w0rp
f0d76bc298 Use g:ale_linters for turning gometalinter on, and update documentation as appropriate 2017-04-15 21:04:43 +01:00
w0rp
c9a5d9845b Explain some code better 2017-04-15 12:13:31 +01: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
valtermro
475dd2e76a Add support for multiple filetypes in filetype aliasing 2017-04-12 19:47:34 -03: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
w0rp
85d86620f7 Cover basic GCC functionality with tests 2017-04-03 22:24:30 +01:00
w0rp
5f02595ea4 #380 Add some experimental code for killing long-running processes in NeoVim 2017-04-03 19:50:57 +01:00
w0rp
9691649b65 #446 Do not run ALE if inside of a command window 2017-04-03 19:21:11 +01:00
w0rp
7c736579b7 Fix #438 Create Java .class files for javac in a temporary directory 2017-03-31 20:14:53 +01:00
Steven Lu
ef5b900657 adds line highlights style (#436)
* adds line highlights style

* adding doc for the new highlight styles.

* missing space
2017-03-31 19:22:25 +01: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
w0rp
18bae7da2e #333 Finish implementing the lint_file option 2017-03-21 14:52:02 +00:00
w0rp
3e13e10e03 #333 Change arguments for ale#Queue so they are more obvious, and check files in more places 2017-03-21 13:38:27 +00:00
w0rp
2d1d6fb850 Add some utility functions for changing directories for commands 2017-03-21 13:09:02 +00:00
w0rp
e7d32fe376 #333 Pass in a flag indicating that linters should be run against files, and clear more jobs 2017-03-14 23:51:57 +00: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
w0rp
6f0fc965ab #394 Attempt to fix running linters when bufwinid() doesn't exist 2017-03-13 23:45:32 +00: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
fc072a0772 Get milliseconds timestamps without system() calls for tests 2017-03-09 20:22:02 +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
76df2d393b Fix detailed messages with newline characters 2017-03-04 23:55:12 +00:00
w0rp
fb8df75ac3 Remove a now redundant line 2017-03-04 01:22:44 +00:00
w0rp
2750c605c1 Fix cursor issues, and clean up the cursor tests 2017-03-03 20:14:03 +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
0e50a7d278 Fix #373 - echo the cursor message after lint cycles or when leaving Insert mode 2017-03-02 23:36:31 +00:00
Manuel Unno Vio
79f18e7d87 Update sign regex for LANG = it_IT.UTF-8
I've noticed that signs weren't unplaced and, learning that this was an issue depending on locale and :sign place, I've fixed the regular expression used to match those messages in my locale (it_IT.UTF-8).
2017-03-02 12:17:43 +01:00
Jasper Woudenberg
70711022db Add support for error details
Some review needed.
2017-03-01 23:27:48 -08:00