Commit graph

1350 commits

Author SHA1 Message Date
Jeffrey Lau
77d0ac58ed Add 'scalafmt' fixer for Scala files
closes https://github.com/w0rp/ale/issues/1299
2018-06-03 04:40:52 +08:00
w0rp
014d27c882
#1621 - Tolerate SetOptions calls when ALE is loaded in a weird way 2018-06-01 21:03:22 +01:00
w0rp
fae9167083
Fix LSP message handling when the handler doesn't get strings, somehow 2018-06-01 14:49:13 +01:00
w0rp
6a7e00d9ac
Handle definition responses without files 2018-06-01 14:15:32 +01:00
w0rp
bd92616e2a
Fix #1219 - Mention FindProjectRoot behavior for Python in the documentation 2018-05-30 20:09:33 +01:00
w0rp
c0a279f967
Indicate things to be removed in version 2.0 2018-05-28 19:39:49 +01:00
w0rp
f2837b5802
#1524 - Define global variables where they are needed 2018-05-28 19:19:20 +01:00
w0rp
18509195f5
#1524 Do not try to check buffers with empty filetypes 2018-05-28 17:38:14 +01:00
w0rp
d9717147bf
Close #1559 - Report errors from LSP servers in :ALEInfo 2018-05-28 16:24:15 +01:00
w0rp
3c55cb087d
Close #1553 - Support some tsserver completion for strings 2018-05-28 15:16:15 +01:00
w0rp
ef1ec5341f
Fix #1568 - Filter LSP completion results with the prefixes 2018-05-28 14:45:07 +01:00
w0rp
29a9c9a255
Merge pull request #1564 from aliou/ad-alefix-fixer-cmdline-completion
Use the command line to filter ALEFix's command line completion.
2018-05-26 21:34:29 +01:00
w0rp
6fce8ddc5a
#1600 Alias vimwiki to markdown 2018-05-26 11:41:52 +01:00
w0rp
51a063be31
Move the sasslint handlers to one location 2018-05-25 20:59:35 +01:00
w0rp
d8d13ef264
Do not echo messages to the echo line for mouse movements unless the user says so 2018-05-17 16:23:29 +01:00
Gerry Agbobada
3a3c244723 TUI / GUI tooltip with content from ALEHover (#1556)
* Guard the ballooneval settings

* Mark main objectives to do to get nice Hover

* Make tweaks to make the tooltip work - See " XXX: comments

* Guard balloon_show call

* Use return instead of finish for functions

* ale#hover#show : Add optional arguments to specify arbtirary position

This change is requested to be able to call the function with mouse
position to enable hover information in vim's balloon

* ale#ballon#Disable : Remove feature guards

* ale#balloon : Show 'ALEHover' output on balloon if no diagnostic found

* ale#hover#HandleLSPResponse : remove the check for cursor position

This check prevented the 'ALEHover in balloon' feature, since mouse
position is almost never cursor position.

* ale#balloon#MessageForPos : Change the return of balloonexpr

balloonexpr evaluation now works even without balloon_show for basic
diagnostics, leaving the balloon_show call to ale#hover#Show, which can
then feature guard the call to avoid errors

* ale#hover#Response : Feature guard balloon_show calls

* ale#hover : always display 'Hover' information in messages

Also add a small comment to warn readers the different outputs the
ale#hover#Show will write to

* {LSP,TS}Response : use only variables from the Response

It is clearer that we only rely on l:options to get the relevant data to
build the LSP Response string

* hover#ShowDetails : fix an issue where not having focus broke balloons

The issue was caused by not using a buffer-specific version of getline()
to cap the value of the column sent in the message to LSP. Therefore a
cursor on column 10 in an inactive window could send a message with
column=0, if the active window had a buffer with too few lines

* {LSP,TS}Response : Remove redundant checks for balloon_show call

With the upcoming change in ale_set_balloons default value (see Pull
Request w0rp/ale#1565), this check will be useless

* balloonexpr? : Add a flag to separate hover#Show() calls

The goal of this flag is to make `:ALEHover` calls not pop a balloon
under the cursor, since the user has probably no interest in their
cursor while typing the command

The flag is a default argument which is overridden only in ballonexpr
call of ale#hover#Show, and stays set in the hover_map until the
callback for the LSP handles it.

There are no automated tests for this feature right now, and the nature
of the addition (one optional argument in the API) should make it
transparent to existing tests.

Since the differentiation is now possible, the check for moved cursor
has been put back in ale#hover#HandleLSPResponse

* ale#hover#hover_map : Protect accesses to hover_map

Using get() is safer than trying to access directly with ., as the tests
show.

* Raise timeout to try to get Appveyor happy

* Review : Fix comments

* Review : pass the optional argument 'called_from_balloonexpr' in a Dict

This optional dictionary has documentation just before the function
using it, ale#hover#Show, and allows easier extension in the future.
2018-05-16 21:23:48 +01:00
Aliou Diallo
199fcd48ac
Use the command line to filter ALEFix's command line completion. 2018-05-10 16:15:08 +02:00
w0rp
38c66d33fe
Merge pull request #1563 from IngoHeimbach/fix/gcc-fatal-error
Fatal GCC errors are handled as errors not warnings
2018-05-09 09:14:38 +01:00
Ingo Heimbach
5fe74c7dc8 Fatal GCC errors are handled as errors not warnings 2018-05-09 09:01:41 +02:00
w0rp
9023987fe0
Merge pull request #1552 from a-marquez/master
Add XO fixer
2018-05-08 17:53:12 +01:00
w0rp
7c0219efcc
#1503 Call setline() after d, in case there are folds at the end of the file 2018-05-03 22:14:29 +01:00
w0rp
e2c33f2f6c
Add g:ale_completion_excluded_words for completion filtering 2018-05-03 11:17:41 +01:00
a-marquez
14dc05f36b Add XO fixer to fixers registry 2018-05-02 18:26:46 -04:00
a-marquez
12d79894a4 Add fixer definition for XO 2018-05-02 18:26:13 -04:00
w0rp
3331f6c8f4
Merge pull request #1543 from vancluever/f-add-JobStartedAutoCmd
Add ALEJobStarted User autocommand event
2018-04-29 20:16:59 +01:00
Chris Marchesi
b7996803c9
Add ALEJobStarted User autocommand event
The ALELintPre and ALELintPost autocommand events are currently being
used by lightline-ale to refresh the status line and check the linter
status for a current buffer. One of the plugin's checks looks to see if
linters are currently running, via ale#engine#IsCheckingBuffer(). This
currently only works partially in certain situations. In my particular
case, working with Go files, this only seems to function properly when a
file is initially opened. Saving a file does not correctly update the
status.

This seems to be due to the fact that ALELintPre actually runs before
any jobs are carried out, making it plausible that hooking into
ALELintPre for the purpose of checking to see if there are any currently
running linters for a buffer is unreliable as it would be prone to
pretty obvious race conditions.

This adds a new User autocommand, ALEJobStarted, that gets fired at the
start of every new job that is successfully run. This allows a better
point to hook into checking the linter status of a buffer using
ale#engine#IsCheckingBuffer() by ensuring that at least one job has
started by the time IsCheckingBuffer is run.
2018-04-27 15:40:02 -07:00
w0rp
6ab3fdc4d0
Close #1521 - Allow the language to be set with simple strings for LSP linters 2018-04-27 22:52:11 +01:00
Jonny Ramsden
cf174d3b9b set marks to add to jump list 2018-04-27 17:18:18 +01:00
w0rp
d8d09c2048
Close #1428 Implement LSP hover-like functionality for tsserver too 2018-04-26 21:54:11 +01:00
w0rp
41c0b837ae
#1278 Allow linters to be defined pretty much anywhere 2018-04-24 21:48:33 +01:00
w0rp
ebbf7d0353
#1428 Show multiline hover messages, and document the new command 2018-04-24 21:03:06 +01:00
w0rp
7d6a303592
Move autocmd commands out of the toggle file, to improve load times 2018-04-23 10:16:48 +01:00
w0rp
ef130c4428
#1428 Start implementing LSP hover support 2018-04-22 22:00:25 +01:00
w0rp
286abd12d3
Add support for finding references using LSP servers or tsserver 2018-04-22 19:49:30 +01:00
w0rp
5a365e7926
Merge pull request #1517 from kfly8/perltidy-fixer
Added perltidy fixer
2018-04-22 18:02:19 +01:00
w0rp
87ad4dfbe7
Implement a preview window for selecting locations to open 2018-04-22 15:53:01 +01:00
w0rp
d8a673515a
Close #1162 - Implement completion support with LSP servers 2018-04-22 12:28:19 +01:00
Kenta, Kobayashi
498be478be add perltidy fixer 2018-04-21 22:09:38 +09:00
fenuks
6f6d35c0bd Add information that ALEFix can now accept arguments 2018-04-18 02:28:17 +02:00
fenuks
a591b191db Make ALEFix support arguments 2018-04-18 02:13:24 +02:00
w0rp
60917c9005
Revert "#1277 Try to get eslint_d to run the right version of eslint"
This reverts commit 56c7957a75.
2018-04-13 21:02:56 +01:00
w0rp
f5f3424fcf
#1501 Pass the buffer number from BufWritePost on to ale#fix#Fix 2018-04-13 20:59:05 +01:00
w0rp
56c7957a75
#1277 Try to get eslint_d to run the right version of eslint 2018-04-13 20:49:03 +01:00
w0rp
a0aa9aa9b7
Fix #1495 - Fall back to /bin/sh when shell=pwsh 2018-04-12 21:01:35 +01:00
w0rp
0cd8e8630b
#1497 Tolerate important ALE variables being undefined for some reason when viewing buffers like git commits 2018-04-12 20:31:45 +01:00
w0rp
f064ba48f5
Close #1494 - Prefer displaying higher severity problems for cursor messages, balloons, and highlights 2018-04-10 21:05:22 +01:00
w0rp
9d00695249 #1486 - Default exit_code to 1, if it isn't set. 2018-04-10 09:57:21 +01:00
w0rp
719b790574
Close #542 - Add an option for disabling running locally installed executables by default 2018-04-09 19:11:20 +01:00
w0rp
7cf3ddf6c4
Close #1439 - Add an :ALEInfoToFile command 2018-04-08 19:04:07 +01:00
aspidiets
f9ae58849a
Fix #1424 - Make the brittany fixer work 2018-04-08 17:38:43 +01:00
w0rp
91d7e81ebc
Fix #605 - Support vcol: 1 for multi-byte character positions 2018-04-08 17:17:46 +01:00
Adriaan Zonnenberg
121e806423 Add g:ale_php_cs_fixer_options variable (#1477)
* Add g:ale_php_cs_fixer_options variable

* Fix test
2018-04-07 23:53:03 +02:00
Jack Evans
c5d3af04fc Added support for Python black fixer (#1451) 2018-04-06 11:08:25 +02:00
Nils Leuzinger
912f632bf5 Add fsc linter for Scala (#1452)
* Add fsc as a Scala linter

* Pull reused code into `autoload/ale/` directory

* Include fsc into the README

* Add unit test for testing the scala handler

* Add unit test for scala's fsc linter

* Rename scala unit tests for clarity

* Fix typo in README

* Fix typos in doc/ale.txt

* Fix author headline

* Put methods for fsc commands back into fsc.vim

* Move command_callback tests to correct location

* Rewrite handler test so it actually tests handler

* Clarify description of test in test_scala_handler
2018-04-05 21:04:11 +02:00
w0rp
018831d601
Merge pull request #1434 from roel0/master
Automatically determine build flags by parsing `make -n` output #1167
2018-03-27 09:55:43 +01:00
roel0
dfb3e194d7 Extended unit tests + simplified parsing algoritme #1167 2018-03-27 10:18:24 +02:00
w0rp
27c5faeafe Use the --stdin-filename option for textlint, so configuration files will be discovered better 2018-03-26 10:35:10 +01:00
w0rp
8b34a4bf6b Fix config and executable issues with the textlint linter 2018-03-26 09:55:18 +01:00
w0rp
164c711b3d
Fix #1404 - Do not show balloons when g:ale_set_balloons is 0. Add b:ale_set_balloons 2018-03-25 12:57:08 +01:00
yasuhiroki
1d33d2cacf Support textlint for plaintext without textlintrc 2018-03-24 14:40:44 +09:00
roel0
69237a7e57 Added additional unit tests + adapted review comments #1167 2018-03-21 20:44:35 +01:00
roel0
7593e20377 Fix failing unit tests for windows 2018-03-21 07:37:32 +01:00
roel0
18d0aeb1a0 * Shell commands should by called async with the help of a command chain
* The makefile parser unit test should only test the cflag parser itself
#1167
2018-03-20 21:49:31 +01:00
w0rp
64c95d4881
Merge remote-tracking branch 'tylucaskelley/master' 2018-03-20 20:27:50 +00:00
Ben Paxton
6452c5e2f0 Use govet handler for gosimple, gotype, staticcheck 2018-03-20 14:19:48 +00:00
roel0
3fb7efa2c6 Added some unit tests and fixed some linting errors for automatic makefile parsing in C #1167 2018-03-20 11:56:46 +01:00
roel0
c47b5fd4b8 Automatically determine build flags by parsing 'make -n' output #1167 2018-03-19 21:56:18 +01:00
w0rp
43e8f47e6e
#1431 Normalize paths when checking for temporary paths on Windows 2018-03-18 20:39:50 +00:00
INOUE Yosuke
68b9399d4c handle multibyte string when linting text with redpen (#1416)
* handle multibyte string when linting text with redpen

* fix error when no string is provided, fix test's expect value

* remove ambiguious `==` operator
2018-03-18 18:12:47 +00:00
w0rp
434f22e44a
Merge pull request #1415 from fohte/fixer-rufo
Add rufo fixer for Ruby files
2018-03-18 17:42:07 +00:00
w0rp
440502dc93
Clean up the mix format command and tests 2018-03-18 17:40:34 +00:00
w0rp
92612a9eab
Merge pull request #1410 from fribmendes/frm/mix_format_options
Allow passing options to mix_format
2018-03-18 17:36:33 +00:00
Hideaki Tokida
1b1e53ef61 add textlint support for markdown (#1383) 2018-03-18 17:28:26 +00:00
Martin Tournoij
302f69e933
Add ALEFixPre and ALEFixPost events
To run autocmd before and after every fix cycle.

Fixes #623 (`ALELintPre` was added in #1203).
2018-03-17 18:24:38 +00:00
Anthony DeDominic
92e6e4d1ba Fix awk linter and security concerns. (#1411)
* Fixed (g)awk linter

 * Made it secure, albeit less useful.
 * Added gawk handler; the cpplint one was not working?
 * Added gawk handler test.
 * added warning to gawk handler.
 * added gawk command callback test
 * added comment about --source

* added back optional commandline option
2018-03-14 17:46:57 +00:00
Hayato Kawai
7e1a9a9810
Add rufo fixer for ruby files 2018-03-11 13:33:57 +09:00
w0rp
05d39bc1a9
Merge pull request #1395 from gfontenot/gfontenot/fix-elm-format-name
Fix elm-format fixer name
2018-03-10 10:51:27 +00:00
Christian-Gibbons
b586eba4a4 Handle flawfinder severity level (#1400)
* Handle flawfinder severity level
* Reverted code allowing Flawfinder to piggyback off of gcc's format handler
* Gave Flawfinder its own format handler and made requested changes.
2018-03-10 10:44:55 +00:00
Fernando Mendes
6320ce6674 Allow passing options to mix_format 2018-03-08 15:29:10 +00:00
Gordon Fontenot
9258c73680
Fix elm-format fixer name
Support for elm-format as a fixer has existed since Sept 2017, but it's not
easy to discover because the fixer was named `format`. This breaks the
convention of the other fixers that use the full name in the registry.

I've gone ahead and fixed this discrepancy, but I left the existing registry
entry in place. We should move people towards using `elm-format` as the fixer
name, but I'd hate to break existing setups.
2018-03-08 09:19:12 -06:00
w0rp
0a0535546f Add a command for stopping all LSP clients 2018-03-06 10:23:55 +00:00
Ty-Lucas Kelley
2a575ca551 add basic support for markdownlint 2018-03-03 19:16:41 -05:00
w0rp
193a4b9336
Satisfy my own checks 2018-03-03 18:13:57 +00:00
w0rp
f476c28b29
Add deprecation warnings for old NeoVim versions and old functions 2018-03-03 17:50:09 +00:00
w0rp
08cfd5f90c
Close #1379 - Increment b:ale_linted when a buffer is checked 2018-03-03 16:22:56 +00:00
w0rp
ad7ffe2875
Merge pull request #1390 from jdeniau/jd-feat-phpCsFixer
add php-cs-fixer to list of fixers
2018-03-02 20:40:31 +00:00
w0rp
2c2c7ceb1d Fix #1384 - Handle warnings and suggestions for tsserver 2018-03-02 20:33:45 +00:00
Andrew Crites
acbe527e15 Option to open lists vertically (#1381)
* Add configuration option to open lists vertically

* Add tests, clean up vertical list config

* Vertical list option cleanup

* Use is# for tests
* Order properties in documentation alphabetically
2018-03-02 20:22:29 +00:00
w0rp
2096562899 Make updating linter results slightly faster when the list is empty 2018-03-02 12:10:27 +00:00
Julien Deniau
fbbb8c17d9 add php-cs-fixer to list of fixers 2018-03-01 15:48:47 +01:00
Christian-Gibbons
82f8a04e18 New linter: Flawfinder (#1361)
* Flawfinder support added for C and C++

A minor modification to gcc handler was made to support flawfinder's
single-line output format that does not have a space following the
colon denoting the warning level.  gcc handler still passes its
Vader tests after this modification.

* Documentation fixes

* Revert documentation regression

* Added Flawfinder to table of contents

* Removed trailing whitespace

* Follow ALE conventions better

Added additional documentation and Vader tests
2018-02-25 14:11:04 +00:00
w0rp
478a2883a6 #1363 Make ale#engine#IsCheckingBuffer part of the public API 2018-02-25 12:57:54 +00:00
w0rp
89f8d3e456 Fix #1336 - Print a friendly message when using invalid function names for fixers 2018-02-18 10:13:30 +00:00
Kevin Tindall
716b46e10d
functional pony linter 2018-02-10 13:17:53 -06:00
w0rp
0f822b063c Fix #1330 - Find isort configs better by changing the working directory 2018-02-04 13:16:44 +00:00
blyoa
23db293bdf Add prettier fixer support to vue 2018-02-01 02:30:02 +09:00
w0rp
c589e3d57d
Merge pull request #1322 from datanoise/master
fixed rust errors parsing
2018-01-29 13:54:50 +00:00
w0rp
7ef55a8615 #1303 jq isn't a Node program 2018-01-28 11:51:20 +00:00
Kent Sibilev
ea60fcea39 fixed rust errors parsing
use correct column values instead of absolute byte positions
2018-01-27 16:15:29 -05:00
w0rp
bc63325881
Merge pull request #1311 from butlerx/update/prettier-md
add prettier support for graphql
2018-01-26 17:30:00 +00:00
rhysd
ef898fa303 fixjson: Add support for local installation 2018-01-25 07:21:25 +09:00
butlerx
be47e37bbc
add prettier support for graphql 2018-01-24 15:25:25 +00:00
rhysd
b28a6ddbe4 Support fixing JSON files with fixjson 2018-01-24 10:36:31 +00:00
Rafael Rinaldi
d562d53102 Add jq as a JSON fixer 2018-01-24 10:12:29 +00:00
w0rp
8675bfc4ab
Merge pull request #1287 from rhysd/prettier-markdown
Enable prettier to format markdown files
2018-01-19 17:16:00 +00:00
w0rp
a5ec4143d2 Fix the didSave tests so they work in NeoVim 0.1.7, and do not send the message for tsserver 2018-01-19 16:50:04 +00:00
Rafael Lerm
042dec059a Send didSave message to LSP-based linters (#1295)
* Also send didSave to LSP linters.
* Add tests for messages sent to LSP linters.
2018-01-19 16:40:55 +00:00
w0rp
045c92ed65 Fix #1298 - Escape commands for PowerShell 2018-01-17 18:08:17 +00:00
rhysd
13c839cf16 Enable prettier to format markdown files 2018-01-15 11:28:56 +09:00
Jelte Fennema
b6d1c41925 Go: Add gotype support (#1099) 2018-01-07 12:11:01 +00:00
w0rp
c9d66b861b Show more ALE variables in ALEInfo 2018-01-07 12:01:20 +00:00
Björn Lindström
b0eaddadc9 Don't use temporary file for rustfmt fixer
rustfmt normally acts on a file in place, and applies configuration
from rustfmt.toml files according to the path of the file.

Using a temporary file for rustfmt breaks this functionality, so
removing the '%t' from the rustfmt command.
2017-12-27 23:12:57 +07:00
w0rp
c165c7c5d1 Fix #1251 - Handle an empty list in the line callback when NeoVim crashes 2017-12-26 18:15:59 +00:00
w0rp
e43e7065da Fix #1115 - Add support for wrapping all commands with an option 2017-12-20 12:20:38 +00:00
w0rp
1568bf8128 Fix the mscs tests on Windows, and use the improved Simplify for all tests instead. 2017-12-19 18:23:09 +00:00
w0rp
d2bea5c310 Allow the cursor messages to be disabled while Vim is running 2017-12-19 14:43:24 +00:00
w0rp
2cacba5758 Fix #1228 - Reset the cursor if echoing a message moves it 2017-12-19 12:06:08 +00:00
Johannes Wienke
79aaec5a99 Missing warning level 'suggestion' for vale
Vale can also, optionally, raise suggestions. These weren't covered yet.
2017-12-18 17:10:57 +01:00
w0rp
fdaac9bd78 Fix #1210 - Fix a Windows path issue which broke TSLint 2017-12-18 13:27:59 +00:00
w0rp
e0c3cbd16f Remove some now redundant echo code 2017-12-18 11:22:24 +00:00
w0rp
8afd9a70a6 #1212 Fix some echo cursor flashing by only echoing once all linters are finished. 2017-12-18 11:14:10 +00:00
w0rp
fdde8af894
Merge pull request #1232 from languitar/vale-json
Use JSON output with vale
2017-12-18 10:11:57 +00:00
Daniel Parker
d3cf02ecda Add support for Vritual Env folder called venv 2017-12-18 09:33:11 +00:00
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
55e09a4a2d Look for mypy.ini to find Python project roots too 2017-12-17 12:38:50 +00:00
w0rp
7e793c9d71 Fix a typo 2017-12-17 12:36:07 +00:00
w0rp
c8ee402cce
Merge pull request #1203 from Carpetsmoker/autocmd-start
Add ALEStartLint autocmd
2017-12-17 12:06:57 +00:00
Johannes Wienke
55ca96bd83 Add a linter for alex
https://github.com/wooorm/alex

Enabled for text-like file formats and documented in README and doc.
2017-12-13 14:37:42 +01:00
Martin Tournoij
4825cce1cc
Run before lint cycle, rename autocmds 2017-12-10 13:10:52 +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
7d932a239c Fix #1205 Do not add line highlights if the groups do not exist 2017-12-07 23:25:17 +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
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
Jeff Willette
fba3c57872 added importjs fixer
- added tests for fixer functions
- added docs
2017-12-05 00:37:31 +09:00
w0rp
a4f8506227 Fix #1186 - Disable checking code with perl by default 2017-12-02 20:43:47 +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
w0rp
6053f764bd Make toggling work when pattern options are enabled 2017-12-01 17:12:19 +00:00
E.J. Sexton
6b3927820b Fixed command string for phpcbf fixer 2017-12-01 14:55:34 +01:00
w0rp
a990188e27 Fix #1176 - Add an option for caching failing executable checks 2017-11-30 10:34:51 +00:00
w0rp
fd261264d7 Escape the filename for finddir 2017-11-30 10:25:32 +00:00
Lukas Galke
5d65980c42 fnameescape when searching nearest file 2017-11-30 00:33:13 +01: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
21b460bb1d Implement go to defintion for LSP linters 2017-11-26 22:27:08 +00:00
w0rp
01318b6930 Compress one line 2017-11-26 21:30:26 +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
Martin Tournoij
7dfe690b0b
Delete to black hole register in fixer
Otherwise it'll be in "" and "0, which is an unexpected side-effect
IMHO.
2017-11-25 03:36:36 +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
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
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
91fe749d03 Fix a bug with resetting pattern options when ALE is enabled again 2017-11-22 16:39:05 +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
4b4762697c #1095 Use --stdin-filepath where available for prettier-eslint 2017-11-22 14:46:14 +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
074a011b08 Make fixing ignore empty output better 2017-11-22 12:01:21 +00:00
w0rp
8be85c2997 Use some default regex for completion support in other filetypes 2017-11-21 16:18:08 +00:00
w0rp
3ef98f42bd Fix #783 - Do not run Flow with home directory configuration files by default 2017-11-21 14:37:01 +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
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
d7a60ade77 #852 - Capture error codes for stylelint 2017-11-19 12:30:20 +00:00
w0rp
cefc5dc5b8 #852 - Capture error codes for csslint 2017-11-18 23:15:23 +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
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
w0rp
71d34fc0c6 Fix #1132 - Parse react error codes again for ESLint 2017-11-16 09:34:24 +00:00
w0rp
e12e5c912c Complain about stray echo lines in the codebase 2017-11-15 12:00:13 +00:00
w0rp
38bc489604
Merge pull request #1130 from deltaskelta/patch-1
fix goimports typo in registry
2017-11-15 11:35:51 +00:00
w0rp
8f80708da6 #852 - Capture error codes for cpplint 2017-11-15 11:28:16 +00:00
Jeff Willette
a36129eab0
fix goimports typo in registry 2017-11-15 09:40:40 +09: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
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
w0rp
16e7dc2371 Fix #1069 Support formatting the loclist messages with g:ale_loclist_msg_format 2017-11-14 10:28:36 +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
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
27e2f53ac9 #1108 Support setting b:ale_linter_aliases to a List 2017-11-12 00:11:50 +00:00
w0rp
ae08f80ead #1108 Support using Lists and 'all' for b:ale_linters 2017-11-11 23:55:11 +00:00
w0rp
f6ac8a9eb9 #1108 Support selecting fixers with Lists 2017-11-11 23:04:08 +00:00
Michael Jungo
fb00acf734 Remove id from LSP notifications 2017-11-11 19:28:24 +01:00
Michael Jungo
f8fec369e5 Add ocaml-language-server for OCaml and ReasonML 2017-11-11 19:27:41 +01:00
w0rp
bac02c9d81 #1095 Cache the sorting of patterns for g:ale_pattern_options 2017-11-11 14:26:54 +00:00
w0rp
8c1d6eda81 #1095 Apply all patterns for g:ale_pattern_options, instead of just the first match 2017-11-11 13:44:12 +00:00
w0rp
d425b8a18a Simplfy semver handling and share the semver version cache across everything 2017-11-09 23:42:54 +00:00
Auri
8a4cf923a8 Add PyLS linter (#1097)
* Support PyLS (python language server)
* Replace pyls#GetProjectRoot and add more config types to ale#python#FindProjectRoot
2017-11-08 17:58:56 +00:00
w0rp
1bf894f48c Fix #1086 - Implement command chaining for fixers 2017-11-07 23:20:14 +00:00
w0rp
d97924b698 Tell users when a fixer does not exist, and make the no fixers message softer 2017-11-07 19:47:20 +00:00
w0rp
8e71f82f8f #1006 Fix raw message handling for LSP support in NeoVim 2017-11-06 22:46:32 +00:00
w0rp
fa7d041c26 Fix #1085 - Add a final newline character to tsserver and LSP messages 2017-11-05 21:41:53 +00:00
Simon Bugert
716b22d524 Add shfmt fixer for sh files (#1083)
* Add shfmt fixer for sh files
* Add tests for shfmt fixer
2017-11-05 21:24:41 +00:00
w0rp
caed406e16 Fix #1062 - Use <nomodeline> for the ALELint autocmd, so we don not mess with folds, etc. 2017-11-05 17:34:36 +00:00
w0rp
d851f399c0 Fix #1058 - Ignore all errors with bad calls to jobstop() in NeoVim 2017-11-04 10:54:28 +00:00
w0rp
9c0a5635df #1081 Remove the ale#python#IsExecutable function 2017-11-04 10:46:19 +00:00
w0rp
9010458581 #1081 Use executable() for Python executables on Windows, and rename the test files to .exe so they will pass the executable() check 2017-11-04 10:41:08 +00:00
w0rp
50f7ad3552 #857 - Add b:ale_fix_on_save for controlling fixing on save for specific buffers 2017-10-30 22:19:57 +00:00
w0rp
1575b3d7dd
Merge pull request #1059 from ahmedelgabri/reason-refmt
refmt fixer for ReasonML
2017-10-30 11:30:13 +00:00
Ahmed El Gabri
634eb1920c
refmt fixer for ReasonML 2017-10-29 21:48:28 +01:00
w0rp
daecbad543 Fix #719 - Add ALEReset and ALEResetBuffer for removing problems for all buffers or one buffer 2017-10-29 17:03:29 +00:00
w0rp
5fc2b98b73 #817 Add commands for toggling ALE for only the current buffer 2017-10-28 19:36:16 +01:00
w0rp
ea3a8e3c62 #817 Move code for toggling ALE to its own file 2017-10-28 15:41:14 +01:00
w0rp
6e681d9066 Fix #971 - Add an option for turning errors about missing eslint config files off. 2017-10-28 12:11:33 +01:00
Sam Howie
36898436b5 Add hackfmt fixer 2017-10-27 13:42:55 -07:00
w0rp
6490d3a5e6 Fix #1041 - Do not request completions shortly after CompleteDone 2017-10-26 23:18:12 +01:00
w0rp
33c2c20e66 Fix #1051 - Support ash and dash for shellcheck and the sh linter 2017-10-26 21:21:42 +01:00
w0rp
3ac92ea529 Fix #1048 - Do not lint files named "." 2017-10-26 20:29:33 +01:00
w0rp
2f5b94e07d Remove redundant code for the GCC handler, and fix bugs with errors for - not being parsed 2017-10-26 00:09:26 +01:00
w0rp
da365134b5 Fix an exception with notes with no previous message 2017-10-25 23:43:09 +01:00
Gerry Agbobada
25d2af0b25 Handle multiple files localtion lists with gcc handler (#1034)
Handle multiple files in the GCC handler.
2017-10-25 22:29:36 +01:00
w0rp
5029078df3 Set better highlights for write-good 2017-10-25 00:58:16 +01:00
Sumner Evans
7ac07a30b8 Fix #643 - Add support for write-good for many languages 2017-10-25 00:28:06 +01:00
Zack Kourouma
07dad64acb adds fixer support for hfmt (#1027)
Add support for fixing Haskell with hfmt
2017-10-24 22:29:04 +01:00
w0rp
c248885e57 Merge pull request #1025 from kfox/add-rustfmt-fixer
add rustfmt fixer
2017-10-24 22:20:03 +01:00
w0rp
0e4dd95e5d Merge pull request #1017 from carakan/elixir_format
`mix format` new fixer for elixir lang
2017-10-24 22:13:04 +01:00
w0rp
b952dda386 Get all tests to pass on Windows 2017-10-23 23:09:40 +01:00
w0rp
231398dddc Get more of the tests to pass on Windows 2017-10-23 01:26:31 +01:00
Carlos Ramos
3212278c91 fix test's and delete unused code 2017-10-22 19:20:38 -04:00
Carlos Ramos
43653ef548 new fixer elixir mix format
(only available in elixir > 1.6)
2017-10-22 19:20:38 -04:00
Kelly Fox
35031a0b8a add rustfmt fixer 2017-10-21 12:31:49 -05:00
Zack Kourouma
e023e7a2fe add prettier fixer support for 'less' filetype 2017-10-20 18:29:57 -07:00
w0rp
81d993086e #904 - Allow linting to run on save a second after :q fails 2017-10-17 00:37:29 +01:00
Carlos Ramos
07ebfbeef0 Add new fixer tslint for typescript, fixes #932 2017-10-16 00:53:17 -04:00
Sander van Harmelen
090f8a8f38 Fix issue #734
Fixes #734

The main issue was not consitently using the correct buffer.
2017-10-15 11:35:33 +02:00
w0rp
ef495ba32d #904 Do not run linters on :wq or :x 2017-10-14 23:22:13 +01:00
w0rp
69d6ff6020 #904 Do less processing when newer NeoVim versions are exiting 2017-10-14 19:22:19 +01:00
w0rp
40e69794eb Make the getcmdwintype() check ever-so-slightly faster 2017-10-14 17:31:58 +01:00
w0rp
6fd10f80de Cut down on the time for the CtrlPFunky check, by first checking if the command exists 2017-10-14 17:11:30 +01:00
w0rp
5204f2dbc2 Break up ShouldDoNothing checks into separate lines, so it's possible to profile them 2017-10-14 16:51:12 +01:00
w0rp
663fe75d0f #965 - Make the cursor echo delay configurable 2017-10-12 23:25:41 +01:00
w0rp
e71c4a8bea #965 - Support limiting the number of signs ALE will set 2017-10-12 23:04:54 +01:00
Carlos Ramos
844354cfed Add new fixer: TrimWhitespace (#991)
add a new fixer: trim_whitespace
2017-10-12 09:27:24 +01:00
w0rp
02c8793c53 #965 Check ale#ShouldDoNothing() less and such often, for better performance 2017-10-11 23:51:41 +01:00
Bailey Stoner
3859ac0c9b
Use $VIRTUAL_ENV environment variable when present. 2017-10-10 14:21:04 -07:00
w0rp
a809c4fa3a Get more random tests to pass on Windows 2017-10-08 23:26:50 +01:00
w0rp
25045641fb Merge pull request #974 from odinuge/prettier_config
Add all possible config files for prettier
2017-10-04 11:38:28 +01:00
Odin Ugedal
a300014396
Add all possible config files for prettier
Prettier uses cosmiconfig, and therefore it is possible to add different
extensions to the config file. More information can be found here:
https://github.com/prettier/prettier#configuration-file.
2017-10-04 12:30:42 +02:00
aliou
e376f0ae44 gofmt fixer for Go (#970)
Add a gofmt fixer for golang.
2017-10-03 18:54:35 +01:00
w0rp
3ab414de1a Fix #964 - Remove signs when multiple signs end up on a single line 2017-10-03 10:00:16 +01:00
rhysd
753592ca66 Fix typos 2017-10-03 01:11:54 +09:00
w0rp
5091e2de45 Get fixer tests to work on Windows 2017-10-01 20:23:41 +01:00
w0rp
638ca42082 Use local versions of yapf on Windows, and get the callback tests to pass 2017-10-01 18:47:54 +01:00
w0rp
5731616cd2 Get the mcsc handler tests to pass on Windows 2017-10-01 17:36:47 +01:00
Ray Zane
cb56cbb714 There seems to be a bug in eslint that causes the --config option to
not detect node_modules correctly. The `-c` option, however, works fine.
2017-09-24 13:57:18 -04:00
w0rp
a59d1ddbf3 Make temporary file detection work on just about all platforms 2017-09-14 00:11:17 +01:00
w0rp
91df9ba2c0 Fix #924 - Make changing the sign column color work again 2017-09-12 21:17:54 +01:00
w0rp
e2271b769c Ban getcwd() from the codebase, as it causes problems 2017-09-12 09:36:16 +01:00
w0rp
7f42aedaec Use the same function for finding the ESLint config for eslint --fix and prettier-eslint 2017-09-12 09:20:31 +01:00
w0rp
661ed6e40b Fix #923 Use package.json as a last resort for eslint --fix 2017-09-12 09:10:37 +01:00
w0rp
8eb99c3cec Fix #922 - Prefer nearer ESLint configuration files with lower precedence filenames for eslint --fix 2017-09-11 21:53:45 +01:00
w0rp
e19a81cb09 Fix #920 - Shut up about E776 2017-09-10 20:13:35 +01:00
w0rp
c11d2ae375 Fix an SML variable init bug, and get the SML cm file tests to pass on Windows 2017-09-10 00:20:05 +01:00
w0rp
18f4d5a6da Simplify some Rust handler code, and get the Rust handler tests passing on Windows 2017-09-10 00:06:31 +01:00
Clément DOUIN
f3da8f45c1 Add elm-format as a new fixer (#916)
* Add elm-format as a new fixer
2017-09-09 21:30:20 +01:00
w0rp
b3a9a0e3e8 Fix some path issues, and get lsp dir tests passing on Windows 2017-09-09 18:39:56 +01:00
w0rp
89cc8ca314 Fix #912 - Close lists automatically when g:ale_open_list is set to 'on_save' again 2017-09-08 20:10:11 +01:00
Peter Renström
03f1c1e81b Add 'prettier' fixer support to TypeScript, CSS, SCSS and JSON (#910)
* Add prettier fixer support for typescript

* Add prettier fixer support for css and scss

* Add prettier fixer support for json

* Use getbufvar() to get &filetype
2017-09-06 15:21:26 +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
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
Pavel Pertsev
05ce86ea33 Add prettier-eslint legacy option 2017-08-30 22:21:45 +01:00
Pavel Pertsev
c09f8f5764 Passthrough eslint config to prettier-eslint 2017-08-30 22:17:16 +01:00
w0rp
3152e5c207 Fix #888 - Disable pycodestyle by default 2017-08-30 09:13:49 +01:00
w0rp
ec178b0b3b Add a missing scriptencoding line 2017-08-29 16:57:08 +01: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
Pavel Pertsev
2a238fda9e Add prettier_d fixer path 2017-08-29 11:46:53 +03:00
w0rp
b031531e79 #869 - Detect the shell dialect from the hashbang for shellcheck 2017-08-28 19:16:23 +01:00
w0rp
73ec83d055 Handle jobstart() returning -1 in the NeoVim 0.2.0, just in case 2017-08-28 15:25:18 +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
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
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
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
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
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
2d02de33d4 #653 - Filter items based on the buffer number for signs 2017-08-13 16:30:46 +01:00
w0rp
ae6cecabb6 #653 Filter items based on the buffer number for problem counts 2017-08-13 13:24:10 +01:00
w0rp
f67fc43d9b Simplify the loclist jumping code a little 2017-08-13 13:06:22 +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
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
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
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
w0rp
670858f774 Fix #468 - Add a cool down period for when things go wrong 2017-08-09 00:05:55 +01:00
w0rp
16772298ab Simplify some comparisons 2017-08-08 08:43:51 +01:00
w0rp
a535d07f28 Ban use of ==# or ==? in the codebase, and prefer is# or is? instead 2017-08-08 08:39:13 +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
2edea15358 Fix the resetting of selections and annotate it 2017-08-07 22:08:35 +01:00
Adrian Kocis
c18451fba9 added missing visual reselection after quick/location list update (#788)
Reset visual selection after opening loclist or quickfix windows
2017-08-07 21:57:59 +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
666cfc6ee2 Fix the completion start position regex matching being off by one 2017-08-04 16:15:48 +01:00
w0rp
9ac74c44fe Tell Vim omnicompletion that tsserver matches are case-insensitive 2017-08-04 13:35:02 +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
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
2c252c0f12 #517 - Get the Rust language server working in a basic way 2017-07-30 23:34:58 +01:00
w0rp
6000d956f0 When servers never send an initialize response, but instead just publish diagnostics straight away, handle that as an initialize response 2017-07-30 22:18:19 +01:00
w0rp
5810d7faa0 Add some error message handling for LSP, for test purposes 2017-07-30 22:17:29 +01:00
w0rp
84af543907 Fix some bugs so the PHP language server will show errors at least once 2017-07-30 14:42:00 +01:00
w0rp
63b9d9e9df Fix #798 - Handle syntax errors for tsserver 2017-07-27 13:24:32 +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
810e884dbe Remove channel logging 2017-07-26 10:45:21 +01:00
w0rp
fbf59fd4ce Check the active_linter_list only for running linters 2017-07-26 10:44:27 +01:00
w0rp
cfdb41f4d2 Remove a redundant check for tsserver 2017-07-26 10:44:07 +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
e45c16d9bb Fix #796 - Ignore errors for closing the last window 2017-07-24 09:30:41 +01:00
w0rp
b4d23d700b Set the g:ale_completion_enabled option when completion is enabled or disabled 2017-07-24 09:22:29 +01: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
Sumner Evans
f3fec6685e
added tests for Standard.js 2017-07-21 11:47:41 -06:00
w0rp
ee6dabcc4e Don't mess with compleopt for each completion, as it doesn't work 2017-07-21 14:55:32 +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
Sumner Evans
ca83f11bee
added fixer for Standard 2017-07-19 14:50:33 -06:00
w0rp
0931e99ea4 Fix #775 - Run eslint.js via node on Windows for eslint --fix 2017-07-18 12:28:20 +01:00
w0rp
a6cc492a99 Limit the suggestions only after filtering them 2017-07-17 17:39:11 +01:00
w0rp
27feab7e3a Filter the completion results by the prefix we used 2017-07-17 15:31:32 +01:00
w0rp
4fa66ab627 Fix #560 #763 - Silence errors for setting signs, and do nothing for dirvish 2017-07-16 01:15:07 +01:00
w0rp
cad9fc19c6 Fix #773 - Do not clear the loclist when closing the loclist window 2017-07-15 18:44:45 +01:00
w0rp
4c6c5bf84f #697 - Remove highlights more thoroughly 2017-07-13 23:27:02 +01:00
w0rp
f7f6f6541d Make tsserver completion more reliable, but not quite ready for documentation yet 2017-07-13 11:59:33 +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
Matteo Centenaro
ff80b23ee1 Fix docs for FindProjectRoot function 2017-07-12 10:00:42 +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
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
Eddie Lebow
78e0029488 Fix comment typo 2017-07-11 01:30:28 -04:00
Michael Pardo
d787050fa8 Kotlin and general Gradle support. (#745) 2017-07-10 23:03:36 +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
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
Jacob Zimmerman
a70591fa76
Correctly resolve temp files on macOS
On macOS, the `$TMPDIR` is in `/var`. However, `/var -> /private/var`.
This means that fully resolved temp filenames weren't always getting
checked against the proper prefix.

This was affecting some of the Haskell plugins, though I'm sure it could
have affected any program that resolved past the generated `$TMPDIR/foo`
and wound up at a different filename.
2017-07-09 02:16:46 -05:00
w0rp
ab47011ef2 Support setting settings with g:ale_pattern_options 2017-07-09 00:10:28 +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
854066e849 #732 - Use the configuration files when fixing files with rubocop 2017-07-06 22:58:14 +01:00
w0rp
b43413916d Initialize rubocop variables in one place 2017-07-06 22:47:07 +01:00
w0rp
5859050d29 Fix some bad indentation 2017-07-06 10:51:05 +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
871ce1c8f5 Correct a comment 2017-07-05 15:52:39 +01:00
w0rp
1bd9b0fbe2 #729 - Use a wrapper for simplify to fix // problems on Windows 2017-07-05 15:51:31 +01:00
w0rp
a04e73ddbc #729 - Support running Python programs from virtualenv for Windows 2017-07-05 13:07:55 +01:00
w0rp
1b8450e7a0 #729 Fix // in virtualenv paths 2017-07-05 12:56:08 +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
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
5b731f761f Refactor LSP jobs to use a uniform ID value 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
w0rp
518f99b480 Fix #706 - Skip fixers with jobs that return empty output, in case they have failed 2017-06-29 12:00:32 +01:00
Adam Stankiewicz
7eec1f2efc Add prettier-standard support (#702)
* Add prettier-standard support

* Update ale-javascript.txt

Remove a duplicated header line.
2017-06-28 16:35:19 +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
16ba9bd680 Fix #680 - Use --shadow-file to check for problems with mypy while you type 2017-06-27 10:06:03 +01:00
w0rp
3828ea5b26 Detect .git directories for finding the project root for C projects 2017-06-25 21:33:15 +01:00
w0rp
8b557f346c Move ale#handlers#c functions into ale#c 2017-06-25 20:34:23 +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
w0rp
93473a4101 Fix #690 - Filter out errors from other files for Haskell 2017-06-25 17:08:57 +01:00
w0rp
492260c967 Fix the tests harder 2017-06-25 16:20:55 +01:00
w0rp
c2138a2656 Fix the tests for the fix on save feature 2017-06-25 16:14:04 +01:00
w0rp
ec3ddce4ac #665 - Replace the nomodified line with :w! 2017-06-25 15:59:38 +01:00
w0rp
2c6b571e66 Fix #665 - Stop prompts appearing when fixing files on save 2017-06-25 15:57:36 +01:00
w0rp
4eaa990fe8 Fix #684 - Use the JSON format for tslint, for consistency betwen versions, and handling of end line and column numbers 2017-06-25 13:56:51 +01:00
Gagbo
e98560a349 Added builddir option to clang-tidy to point to json folder (#688)
Detect compille_commands.json files for clang-tidy
2017-06-24 12:38:16 +01:00
w0rp
026c4f304e #681 Show extra kotlin errors at line 1 2017-06-24 12:35:01 +01:00
w0rp
1ea61162a0 Fix #687 - Check files on enter if they have changed 2017-06-24 12:24:31 +01:00
w0rp
fbf8ccb882 Fix #677 - Ignore errors from other files for cppcheck 2017-06-22 14:08:58 +01:00
w0rp
ce2bfa88eb Fix #676 - Fix handling of Perl errors 2017-06-22 12:37:08 +01:00
w0rp
dab6f39eb0 Fix some escaping and make some tests set filenames consistently 2017-06-21 22:33:34 +01:00
w0rp
50d952b07d Print messages about imports used when modules are turned off 2017-06-20 17:38:21 +01:00
w0rp
a105aa90a5 Fix #668 - Support eslint for TypeScript 2017-06-20 10:50:38 +01:00
w0rp
b96f5845ed Fix #667 - Do not add extra blank lines for add_blank_lines_for_python_control_statements 2017-06-20 09:39:58 +01:00
w0rp
8ab103504f Fix #658 - Clear highlights for all problem types 2017-06-18 18:20:05 +01:00
w0rp
7e79018b8c Fix #661 - Fix line highlights for style errors and warnings 2017-06-18 11:34:06 +01:00
w0rp
629ff513ec #659 - Add options for Python fixers, and cut down on duplicated documentation 2017-06-18 11:03:31 +01:00
David Alexander
fb682be199 Fix for Crystal support (#651)
* Strip color from Crystal compiler output

* Don't lint files if the file doesn't exist

* Lint files if they are readable
2017-06-15 09:30:34 +01:00
w0rp
f814be45b1 Fix #536 - Implement linter problem type re-mapping 2017-06-14 17:59:13 +01:00
w0rp
e455d8219e Fix #649 - Support tsserver linting for NeoVim 2017-06-14 17:08:39 +01:00
w0rp
25e4d1a353 #649 Output the tsserver command in ALEInfo 2017-06-14 16:53:21 +01:00
w0rp
f6b0a28cba Split up the flake8 and ansible-lint handlers 2017-06-14 16:20:30 +01:00
w0rp
3442e58c8b Simplify the code for escaping strings for Windows 2017-06-14 11:05:49 +01:00
w0rp
f472e04b09 #538 - Set some end column indexes for flake8 2017-06-14 10:51:31 +01:00
w0rp
ebbfb64221 Merge branch 'tsserver' 2017-06-13 17:54:07 +01:00
w0rp
aef58f598c Handle LSP responses for different files more consistently 2017-06-13 17:53:47 +01:00
w0rp
86c17e1834 Include package.json in eslint configuration files 2017-06-13 09:35:52 +01:00
w0rp
5146332206 Add tsserver support 2017-06-09 09:47:19 +01:00
w0rp
62862c3347 Experimental code for showing results as soon as each linter completes 2017-06-08 17:30:21 +01:00
w0rp
04190cbcfe #517 Support linter settings needed for LSP, undocumented for now 2017-06-08 13:52:29 +01:00
w0rp
e93dba351c Fix #635 - Cancel previous jobs for fixing files when fixing files again 2017-06-08 09:24:15 +01:00
w0rp
817b6bbd2d Put ve-py3 before ve, so Python 3 executables will be preferred 2017-06-07 21:45:59 +01:00
José Luis Lafuente
1eec446620 Search python fixers in virtual environment (#632)
* Search python fixers in virtual environment

* Add tests for python fixers
2017-06-07 20:42:30 +01:00
w0rp
f61c6d4c0e Add support for generating essential tsserver messages 2017-06-07 17:05:34 +01:00
José Luis Lafuente
2ac670f293
Fix function name 2017-06-07 17:31:05 +02:00
w0rp
25e1aa43b8 Fix #631 - Fix some bad function names 2017-06-07 16:02:05 +01:00
w0rp
9ee7a6d57c Fix #630 - Initialize Prettier options 2017-06-07 15:33:41 +01:00
w0rp
7517fd8226 Move all functions for fixing things to autoload/ale/fixers, and only accept the lines of input where needed. 2017-06-07 14:02:29 +01:00
w0rp
8f9828e5bf Merge pull request #628 from mziab/fix-stylelint-handler
Fixed stylelint not catching all errors.
2017-06-07 09:28:00 +01:00
w0rp
11e38efa83 Fix a bug which breaks the tests 2017-06-07 09:26:54 +01:00
w0rp
f30652a98f Allow ALEFix functions to be defined with only the buffer argument 2017-06-06 23:13:53 +01:00
w0rp
e4d886d4a7 Add a function for computing the number of arguments for a function 2017-06-06 22:27:20 +01:00
Michał Ziąbkowski
e4708c356b Fixed stylelint not catching all errors.
The original regex failed to account for short lines being padded
to the length of the longest error.
2017-06-06 21:08:30 +02:00
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
Daniel M. Capella
18508f7453 proselint: Add more supported filetypes (#367)
* proselint: Add more suported filetypes

* proselint: Minor consistency fixes

* Vim help: Disable linters by default
2017-03-02 00:06:09 +00:00
w0rp
b2fe1b2567 Copy all loclist items returned from handlers, and set up defaults for convenience 2017-02-26 14:51:22 +00:00
w0rp
6a02c5812c Fix #314 - quickfix should take precedence over loclist for jumping 2017-02-21 12:51:49 +00:00
w0rp
c310080359 #314 filter both lists, and add tests to cover the list retrieval 2017-02-21 12:46:07 +00:00
w0rp
884109c6f4 Add an extra custom check for using endif instead of end, etc. 2017-02-21 11:50:59 +00:00
w0rp
8eca101fd1 Merge pull request #348 from rob-b/add-hdevtools-linter
Add hdevtools linter for haskell
2017-02-21 11:09:15 +00:00
Rob Berry
06fe8a043f Add hdevtools linter for haskell
This adds support for the hdevtools haskell linter
https://github.com/hdevtools/hdevtools

The output for hdevtools is near identical to the ghc output so this
also extracts the ghc handler into the handle file and adds tests

* Add testing for previous major release of ghc
2017-02-17 17:18:38 +00:00
w0rp
b21ca4ed4e Use a more reliable method for getting an ID for a job 2017-02-17 10:19:44 +00:00
w0rp
bdbf36991d Prevent some stupid exceptions 2017-02-17 09:56:36 +00:00
w0rp
eac0a41ae1 #254 Add an option for logging the output of commands 2017-02-16 23:18:57 +00:00
w0rp
843370b96f #254 Capture command exit codes in the history 2017-02-16 22:19:53 +00:00
w0rp
ca17b5aebd Add an option for completely disabling command history, and add documentation 2017-02-16 21:33:44 +00:00
w0rp
3a2286a1b8 Refactor history management functions into their own file 2017-02-16 21:18:03 +00:00
Rob Berry
c4afd72792 Add hdevtools linter for haskell
This adds support for the hdevtools haskell linter
https://github.com/hdevtools/hdevtools

The output for hdevtools is near identical to the ghc output so this
also extracts the ghc handler into the handle file and adds tests
2017-02-16 10:06:48 +00:00
w0rp
9e7034c6e2 Fix #319 - Enable only cargo for Rust by default 2017-02-15 22:59:33 +00:00
w0rp
0131526261 #254 Add a command for copying ALEInfo to your clipboard quickly 2017-02-14 23:45:22 +00:00
w0rp
ed370667c8 #254 Add command history to ALEInfo 2017-02-14 23:44:37 +00:00
w0rp
c460602cbb #338 Try and stop ALE from throwing ALEs when run from a sandbox 2017-02-14 21:02:49 +00:00
w0rp
f39e88cfa8 #274 - Fix airline integration when ALE is not loaded fully 2017-02-13 23:31:29 +00:00
w0rp
c0814934af Output ALE global variables for :ALEInfo 2017-02-13 23:15:52 +00:00
w0rp
0589022c76 Include most linter variables in ALEInfo 2017-02-13 22:11:35 +00:00
w0rp
f6bc73b749 Fix a style issue 2017-02-13 12:52:44 +00:00
w0rp
a5ec5366c4 Actually catch all Job ID problems 2017-02-13 12:13:54 +00:00
ninjawithaneedle
a2f59049dc Highlighting should not filter linter messages without column info 2017-02-13 16:30:32 +05:30
w0rp
5cdd1498b4 #283 Fix linting buffers with no filename, by creating a filename with a guess for the file extension 2017-02-13 10:36:38 +00:00
w0rp
3aa1d57b57 Fix #171 - Implement basic error highlighting 2017-02-13 00:24:25 +00:00
w0rp
4a71638061 Feed files to commands via stdin by first writing the file to a temporary file, and then piping them in via the shell instead 2017-02-11 22:43:13 +00:00
w0rp
2078255ec3 Fix filename substitution, especially on Windows 2017-02-11 20:34:14 +00:00
w0rp
ecbb276805 Replace every stdin-wrapper script with the new %t formatting support 2017-02-11 19:40:57 +00:00
w0rp
c33602534e Fix Pug linting 2017-02-11 18:49:12 +00:00
w0rp
beeef28b1a Use writefile() for temporary files, which works better 2017-02-11 18:19:01 +00:00
w0rp
03ab963d1a Add support for temporary filename substitution, for replacing stdin_wrapper 2017-02-11 18:14:18 +00:00
w0rp
88192e8662 Add support for managing temporary files/directories 2017-02-11 15:16:08 +00:00
w0rp
4737e09bcf Try and fix Travis builds again 2017-02-11 00:20:16 +00:00
w0rp
14c38cdb63 Fix #116 - Send SIGKILL to processes if they don't respond to SIGTERM 2017-02-11 00:08:05 +00:00
w0rp
926cd1a953 Fix #283 Add an option for using ch_sendraw(), which can be better for some users 2017-02-10 19:34:44 +00:00
w0rp
5de445c041 Fix #315 Implement the read_buffer option 2017-02-09 23:32:57 +00:00
w0rp
9f8c76b5b9 Make ALE complain when conflicting command options are used 2017-02-09 20:44:13 +00:00
Daniel Lupu
6dfed8576e add ALEToggle command (#303)
* add ALEToggle command

* stop active jobs when toggled off

* small logic cleanup & ensure ale can be ran manually while toggled off
2017-02-09 18:47:14 +00:00
w0rp
bf2075cd0c Revert "Add a Batch stdin wrapper script"
This reverts commit 76a03b0709.
2017-02-09 00:28:32 +00:00
w0rp
325fcc25dd #314 Use the quickfix list for jumping between errors if that is set instead of the loclist 2017-02-08 22:14:07 +00:00
w0rp
eb37d9c1fc #39 Don't send the Vim buffer to commands before the last in a chain 2017-02-08 09:37:22 +00:00
w0rp
c3ebe7bd9e Cover the Rust handler with some tests 2017-02-07 21:17:10 +00:00
w0rp
a3b7056cad #289 Only use the --stdin-display-name flag if the flake8 version supports it 2017-02-06 11:12:27 +00:00
w0rp
829f87bc6a Fix #124 Finish implementing command chaining, and make it work for DMD 2017-02-04 18:30:30 +00:00
w0rp
97131262ab Add a default alias for the Dockerfile filetype, which is capitalised for some users. 2017-02-02 22:26:46 +00:00
DiscoViking
a9c650cd05 Add ALEInfo command to get list of available/enabled linters (#273)
* Add ALEInfo command to get list of available/enabled linters for current filetype

* Add Vader tests for ALEInfo command

* Fix ALEInfo tests breaking CI by echoing too much output to screen

* Speculative change to Makefile which seems to fix test hanging problem locally.

* Fix Vader tests to not require a TTY
2017-01-24 15:50:49 +00:00
w0rp
d7ed49f849 Add a script for custom checks to enforce using the abort flag for functions and trailing whitespace, and fix existing issues. 2017-01-22 14:54:57 +00:00
EinfachToll
23f8e7ddc5 Fix parsing of currently shown signs with Spanish locale (#268)
* Fix parsing of currently shown signs with spanish locale

* Add a test for parsing of Spanish signs
2017-01-22 13:40:23 +00:00
yfery
a23173eeb2 Add option to open loclist/quicklist when there are errors (#266)
* Add option to open loclist/quicklist when there are errors

I copied PR #137, and tries to complete it by correcting some issues and
adding vader tests.

About tests, first time with vader, can you give some feedback if there
are what you expected in PR #137.

* Remove old code + fix indent issue

* add g:ale_keep_list_window_open option

* Correct bug with keep open option

* Add comment into vader file

* Fix errors for Travis CI build
2017-01-22 12:57:05 +00:00
w0rp
9820899b9e Improve mypy handling a little bit more 2017-01-20 17:30:34 +00:00
EinfachToll
831f783493 Join the lines Neovim passes to ale (#263)
* Join the lines Neovim passes to ale

Fixes #256

* Refactor line joining into own function

* Add test for line joining

* Fix the test. Sorry.
2017-01-19 20:01:51 +00:00
diartyz
6c0996eb9c [enhancement] add node_modules support for stylelint & htmlhint (#226)
* Add node_modules support for stylelint

* add node_modules support for htmlhint

* fix stdin

* update doc about stylelint & htmlhint
2016-12-22 11:39:01 +00:00
w0rp
cd6d8f2ab6 Fix #229 Disable text linters by default 2016-12-22 11:32:20 +00:00
w0rp
8cb9b2ba4e Make sign parsing testable, and add tests for it against various languages. 2016-12-16 10:01:28 +00:00
cympfh
8df2444ec4 Fix: sign pattern 2016-12-15 13:57:26 +09:00
Justin M. Keyes
1ae851878a Nvim: pass functions as funcrefs
neovim/neovim#5529 merged support for Vim's partial functions, which
made nvim more strict about dictionary functions and callbacks, to
match Vim behavior.
2016-12-14 17:40:45 +01:00
w0rp
f950c29035 Implement command chaining. Tests and documentation to come. 2016-12-13 10:19:56 +00:00
w0rp
76a03b0709 Add a Batch stdin wrapper script 2016-12-13 10:00:40 +00:00
Albert Puig
b5013ba54b Catch g++ fatal error 2016-12-08 09:32:57 +01:00
Albert Puig
88c203b686 Skip I0011 messages in pylint.
Ignore 'Locally disabling %s' messages from pylint.
2016-12-07 23:54:41 +01:00
diartyz
725957de6e add stylelint support 2016-12-06 21:14:14 +08:00
w0rp
d77e5a9308 #200 Make systemverilog files use the verilog linters by default 2016-12-04 23:13:57 +00:00
Andrew Balmos
35307c0585 LaTeX Linters (#190)
* Add chktex linter

* Alias plaintex to tex

* Add lacheck linter

Closes #179

* Add the chktex warning code

This very useful to have when you want to suppress lint warnings with LaTeX
comments. chktex tends to be a bit noisy so this often needed.

* lacheck: Make regex less specific

To be more robust future changes in `stdin-wrapper`
2016-12-04 22:19:06 +00:00
w0rp
ec2845eefa Take sign information out of the buffer variables, and make it so dummy signs are set and removed more reliably. 2016-11-04 11:58:56 +00:00
w0rp
614a30a508 Improve file blacklisting to make Unite.vim not fuck up. 2016-10-31 14:47:08 +00:00
w0rp
cb410927d1 Reduce sign column juttering by waiting for all jobs to complete before updating everything. 2016-10-31 13:45:22 +00:00
Keith Smiley
86cc2aab71
Add pylint formatter
This customizes the output format of pylint in order to use the same
pep8 parser
2016-10-27 18:38:26 -07:00
w0rp
c8821fc049 #144 - Implement commands for moving through warnings/errors 2016-10-26 10:36:53 +01:00
w0rp
454dbbe33e Merge remote-tracking branch 'origin/echo-less' 2016-10-25 16:51:50 +01:00
w0rp
aa4c669ea0 #148 - Check the cursor position so we don't try to echo too frequently. 2016-10-25 16:07:20 +01:00
w0rp
d6a7b0f518 #119 - Stop ALE clearing the echo message when it doesn't need to. 2016-10-24 20:55:20 +01:00
w0rp
c546f47cc0 Merge everything into the one global map. 2016-10-24 20:21:42 +01:00
w0rp
0dbf08f6d5 Add some comments to some lines to make things clearer. 2016-10-24 09:58:45 +01:00
w0rp
7481facd73 #107 Stop jobs when buffers close 2016-10-23 22:41:00 +01:00
w0rp
36461b69d7 Support loading eslint from node_modules, re issue #118. 2016-10-23 13:04:41 +01:00
Bjorn Neergaard
f49f615ef6
Add support for dot-seperate linters, improve linter tests
This PR first and formost implements support for dot-seperate filetypes,
a very trivial change.

This closes #132

But more importantly, this PR vastly improves the test quality for
`ale#linter#Get`. It enables us to reset the state of ale's internal
linter cache, to facilitate better testing, as well as making use of
mocked linters instead of depending on linters on disk (which may
change). In addition, a dummy linter is defined to test the autoloading
behavior.

Header guards were removed from all linters as:

* A: ale won't try and load linters if they already exist in memory
* B: we can't reset state for testing if they can't be loaded again
2016-10-21 21:02:20 -05:00
Bjorn Neergaard
c697ef05bb
Add PEP8 handler test. 2016-10-20 22:52:25 -05:00
Bjorn Neergaard
c34664120b
Add ansible-lint support and factor out PEP8 handler 2016-10-20 09:23:23 -05:00
Bart Libert
a34fb0a6a7 Add support for cppcheck (#126)
* Add support for cppcheck

* Fix vint error in cppcheck handler

* Add vader test for CppCheck format handler
2016-10-20 12:30:45 +01:00
w0rp
02e42feeaa Make the function for waiting for jobs to complete more reliable. 2016-10-17 23:43:31 +01:00
w0rp
bf45ab6d8d Add a function for waiting for linters to complete, and add a test which checks that linting updates the loclist. 2016-10-17 23:26:19 +01:00
w0rp
654a172473 Make the nearest file search result absolute paths, and add tests to cover it. 2016-10-17 21:14:34 +01:00
w0rp
15df679765 #115 - Make ALE shut up about not being able to load linter files which don't exist when it works anyway. 2016-10-17 11:26:21 +01:00
w0rp
b07161fe38 #109 Use norm! instead of norm to solve remapping issues. 2016-10-16 16:09:01 +01:00
w0rp
1e756c0e24 Shut up about there being no autocmd events. 2016-10-14 19:17:12 +01:00
w0rp
a089fabb5c Add some unit tests for the BinarySearch function. 2016-10-13 21:24:47 +01:00
w0rp
f506887b28 Add a unit test for the loclist comparison function. 2016-10-13 20:56:18 +01:00
w0rp
ed44d8a146 #107 - Check if the buffer is gone by looking for a key in the map instead. 2016-10-13 15:21:28 +01:00
w0rp
a8c83a097b #107 - Handle jobs finishing for closed buffers 2016-10-13 15:13:11 +01:00
Bjorn Neergaard
f37896a898 Implement autocommand support 2016-10-13 15:05:42 +01:00
Bjorn Neergaard
d7b36e0cf2
Make statusline initial updates more elegant 2016-10-13 08:51:40 -05:00
Bjorn Neergaard
dc58db7640
Implement a more efficient statusbar
The statusbar now keeps its state in a separate variable, in order to
avoid excess iterations. The engine now updates said variable on run,
and a new function is made available for external statusbars to call (to
avoid dependencies on internal implementation details of ale).

To keep things light, the status bar code is not loaded unless invoked
by the user or an external plugin. On the first load it will update
itself from the global loclist, after that, the engine will handle all
updates.

The external integration function, `ale#statusline#Count()`, will return
a tuple in the format [E, W] (where E is errors, W is warnings), unless
no data exists (ie, the plugin doesn't have a linter for a file or has
not run yet), in which case it returns 0/false.
2016-10-13 08:51:38 -05:00
w0rp
1a8d596d26 Fix #99 2016-10-12 14:05:03 +01:00
w0rp
1d2405f2bc Fix an ale:linters bug, and add a test for it. 2016-10-11 23:48:43 +01:00
w0rp
78bcf96e34 Fix #87 - Allow linter filetypes to be aliased 2016-10-11 23:11:45 +01:00
Bjorn Neergaard
fc711a0615
Clean and reorganize flags/preferences 2016-10-11 10:02:36 -05:00
Bjorn Neergaard
ef14a04470
Make HandleUnixFormat Windows-compatible 2016-10-11 08:54:41 -05:00
Bjorn Neergaard
23442a2ec3
Introduce generic unix formatter
Two wrapper functions allow treating lines as errors or as warnings
2016-10-11 08:43:57 -05:00
Bjorn Neergaard
ca4badfb3a
Use explicit scope in the ale core, as advised by vint -s 2016-10-11 06:14:20 -05:00
w0rp
c37e053944 #81 - Run commands through the shell on Unix machines 2016-10-10 22:56:12 +01:00
w0rp
e9ad21b679 Fix cursor bugs. 2016-10-10 19:56:05 +01:00
Bjorn Neergaard
7f0ce89d2b First pass at optimizing ale to autoload (#80)
* First pass at optimizing ale to autoload

First off, the structure/function names should be revised a bit,
but I will wait for @w0rp's input before unifying the naming style.
Second off, the docs probably need some more work, I just did some
simple find-and-replace work.

With that said, this pull brings major performance gains for ale. On my
slowest system, fully loading ale and all its code takes around 150ms.

I have moved all of ale's autoload-able code to autoload/, and in
addition, implemented lazy-loading of linters. This brings load time on
that same system down to 5ms.

The only downside of lazy loading is that `g:ale_linters` cannot be
changed at runtime; however, it also speeds up performance at runtime by
simplfying the logic greatly.

Please let me know what you think!

Closes #59

* Address Travis/Vint errors

For some reason, ale isn't running vint for me...

* Incorporate feedback, make fixes

Lazy-loading logic is much improved.

* Add header comments; remove incorrect workaround

* Remove unneeded plugin guards

* Fix lazy-loading linter logic

Set the wrong variable....

* Fix capitialization
2016-10-10 19:51:29 +01:00