Commit Graph

1036 Commits

Author SHA1 Message Date
w0rp
e9086dd55c
Revert "#1459 Always run ESLint in the directory of the file being checked"
This reverts commit 634bf73f52.
2018-08-10 11:49:17 +01:00
Brandon Bayer
63c66dc5d2 fix: Don't use error output from prettier_d for fixing files 2018-08-09 12:56:53 -04:00
w0rp
634bf73f52
#1459 Always run ESLint in the directory of the file being checked 2018-08-09 08:51:27 +01:00
w0rp
fc94fd4deb
Use lambdas for LSP message callbacks, which are easier to manage 2018-08-08 20:08:51 +01:00
Bradford Larsen
023ade872e Adjust the jumplist with line numbers too when opening a new file
This further addresses Issue #1758.
2018-08-07 16:10:36 -04:00
w0rp
217284360d
Simplify the code for most linters and tests with closures 2018-08-02 23:44:12 +01:00
w0rp
9ef266d050
Merge pull request #1770 from fredemmott/hack
Split Hack out from PHP, modernize
2018-08-02 21:58:57 +01:00
Fred Emmott
a728f074f7
Disable HHAST by default
it executes $PROJECT/vendor/bin/hhast, so that's not a good idea.
2018-08-02 13:50:56 -07:00
w0rp
94270402cb
Fall back on flags for other C/C++ files in the same directory 2018-08-02 21:48:56 +01:00
w0rp
ccbdfcd76f
Include the error in the detailed error message in the GCC handler 2018-08-02 21:45:16 +01:00
Paul Reimer
cb8ad9fbd8 Javascript prettier filetype detect fix (#1769)
Support fixing YAML and HTML files with prettier for files without file extensions.
2018-08-02 20:20:19 +01:00
Fred Emmott
5ff4e27e17
Update suggested filetypes for hackfmt 2018-08-02 11:28:57 -07:00
Fred Emmott
238201805d
Split Hack out from PHP, modernize
fixes #1738

- Replace previous `hh_client` usage with LSP client
- Add `HHAST` linter
- Split Hack from PHP: Hack is increasingly diverging from PHP:
  - Hack tools do not understand PHP
  - Most PHP tools do not handle Hack code well (including vim's syntax
    highightling files)
  - http://github.com/hhvm/vim-hack now sets filetype to `hack`
2018-08-02 11:28:56 -07:00
w0rp
5f024eda09
Merge pull request #1771 from fredemmott/lsp
Show LSP diagnostic codes for `%code%` in message formats
2018-08-02 19:22:45 +01:00
Fred Emmott
2768bf15ba
Handle LSP codes for %code% in message formats
fixes #1767
2018-08-02 09:06:48 -07:00
Travis Cline
2ac9e454d6
python: add lookup path for flake8 config 2018-08-01 20:07:11 -07:00
w0rp
3aa5e0f9dc
Add a type check for the error data from LSP servers 2018-08-01 23:01:30 +01:00
w0rp
16d0c52d24
Indicate that a C compiler failed due to problems in a header file 2018-07-30 20:09:43 +01:00
w0rp
ac4bac8ea4
Add support for parsing compile_commands.json files for C compilers 2018-07-29 19:24:27 +01:00
w0rp
daab1a08db
#1700 - Try using a 0ms timer showing the completion menu 2018-07-26 23:08:38 +01:00
w0rp
0012c78b02
#1700 - Temporarily change completion options when the feedkeys() keybind is fired 2018-07-25 20:13:59 +01:00
w0rp
4ed35f7247
Fix #1758 - Set marks before going to definitions 2018-07-25 19:43:25 +01:00
w0rp
c4cb1c7050
Merge pull request #1539 from JonnyRa/jump-list-fix
set marks to add to jump list
2018-07-25 19:41:00 +01:00
w0rp
06132954b1
Switch to v:t_ variables for type checks 2018-07-25 01:27:28 +01:00
sridhars
4446cf15be
Merge pull request #1 from w0rp/master
update
2018-07-24 16:42:26 -05:00
w0rp
d368f090ae
#1754 Require snake_case names for linters in the codebase 2018-07-24 10:05:44 +01:00
w0rp
2a861dfd40
Make the test C import path test fail less 2018-07-23 22:03:28 +01:00
w0rp
d9579dbbe9
Get tests to pass in Vim 8.1 2018-07-23 20:41:48 +01:00
w0rp
7bf3a749d0
#1751 Handle LSP completion results without the 'kind' attribute 2018-07-23 10:21:09 +01:00
w0rp
846bfb47b2
Remove the redundant fix_buffer_data vars and filename variables 2018-07-22 22:31:46 +01:00
w0rp
81a8c77d20
#1692 - Only send completion requests to the first server supporting them 2018-07-22 21:14:56 +01:00
w0rp
6dc737cda1
Check LSP capabilities before using them 2018-07-22 19:04:55 +01:00
w0rp
61a5880747
Capture server capabilities from LSP servers 2018-07-19 21:15:05 +01:00
Sridhar Srinivasan
0da4c6e4ad Add language server source in ALEDetail (2) 2018-07-18 22:12:56 -05:00
Sridhar Srinivasan
0c4606651f Add language server source in ALEDetail 2018-07-18 21:44:05 -05:00
w0rp
5453e0e1a4
Fix #1708 - Don't modify linters or register fixers in the sandbox 2018-07-17 21:39:50 +01:00
w0rp
7952ebe77e
#1700 - Don't send <C-x><C-o> for completion in Insert mode 2018-07-17 19:39:45 +01:00
w0rp
a01fab2ee6
Fix #1619 - Rewrite lint on enter events so they behave better 2018-07-17 00:18:34 +01:00
w0rp
37df1f8ceb
#1700 - Stop handling completion results if you leave insert mode 2018-07-16 17:57:07 +01:00
w0rp
fcd62342d5
Only temporarily replace TMPDIR if it's defined to be an empty string 2018-07-16 08:45:55 +01:00
w0rp
b2e2bbd042
unlet $TMPDIR too, where we can 2018-07-15 23:04:50 +01:00
w0rp
d3ed1e52ba
Fix #1687 - Parse highlights when verbose > 0 2018-07-15 21:01:00 +01:00
w0rp
8141ced0d0
Merge pull request #1724 from randrej/master
Pipenv virtualenv and project path detection
2018-07-15 19:22:48 +01:00
w0rp
a42999a639
Massively reduce the amount of code needed for linter tests 2018-07-15 18:28:28 +01:00
Andrej Radovic
976c048e6e Detect Python proj. roots by Pipfile
"Pipfile" and "Pipfile.lock" files are also often located in Python module or
package directories and their presence is an okay heuristic for finding project
roots.
2018-07-14 13:26:50 +02:00
Andrej Radovic
870e75eb64 Added the default local virtualenv name for Pipenv.
Pipenv doesn't do local virtualenvs by default, it uses a special local
directory to store them all.

However, if you run Pipenv with the PIPENV_VENV_IN_PROJECT environment variable
set to 1, it creates the virtual environment in the root of the project, under
the name ".venv". This is why I've added this as a possible virtualenv dir
name.
2018-07-14 13:24:46 +02:00
w0rp
a782e06223
Handle linter callback functions being unknown or deleted 2018-07-13 09:47:26 +01:00
MTDL9
021f59b3f4 Support strings in data field of error responses 2018-07-13 06:42:28 +02:00
w0rp
ac0abc7c1f
Fix #1716 - Replace tempdir() with a wrapper to preserve TMPDIR 2018-07-12 13:05:59 +01:00
w0rp
6ef31073dd
Remove an unused variable 2018-07-12 09:21:28 +01:00
w0rp
c9a6b04dc7
Update the sandbox test now that functions can be defined in the sandbox 2018-07-11 13:36:59 +01:00
w0rp
4999ad7e78
Add an AssertLinter command for tests 2018-07-06 22:46:36 +01:00
w0rp
d5b4f6f7e7
Fix command formatting for LSP linters 2018-07-05 21:48:47 +01:00
w0rp
da692b2e2d
Support formatting escaped executable names into commands with %e 2018-07-05 20:56:31 +01:00
w0rp
d49daeb816
Merge pull request #1698 from dsifford/dsifford-isort-options
add options variable to isort
2018-07-05 09:25:16 +01:00
Derek P Sifford
6dc69b2144 address code review issues 2018-07-04 21:16:57 -04:00
w0rp
14025c725f
Optimise ale#Set slightly 2018-07-05 00:40:15 +01:00
w0rp
13a8f9c061
Optimise ale#Var a little 2018-07-04 23:54:14 +01:00
Derek P Sifford
3251d95a91 add options variable to isort 2018-07-04 13:01:16 -04:00
w0rp
9ddf1b6a05
Make the language option for LSP linters optional 2018-07-04 13:12:58 +01:00
w0rp
ca7fa31c61
Close #1690 - Respect the preview setting for completeopt 2018-07-04 08:52:18 +01:00
w0rp
db85b931ec
Remove deprecated code for the 2.0 release 2018-07-04 08:36:34 +01:00
w0rp
602e7fa00f
#1524 Avoid loading cursor code until engine code has been loaded 2018-07-03 21:14:00 +01:00
w0rp
e46474ac0a
Close #830 - Implement LSP connections via TCP sockets 2018-07-03 01:41:46 +01:00
w0rp
5aba55bb86
#830 Make the LSP socket code so far use the new socket API 2018-07-03 00:30:26 +01:00
w0rp
01c68fedd6
#830 Implement a socket wrapper API for use with LSP connections 2018-07-02 23:49:47 +01:00
Govind KP
9d98e6db0c Added dartfmt fixer (#1683)
* Added dartfmt to Fixers
* Added dartfmt specific documentation
2018-07-01 13:55:41 +01:00
w0rp
d581fca35e
Get tests running and passing with NeoVim 0.2 and 0.3 2018-06-28 13:53:49 +01:00
w0rp
620951b6d3
Close #1453 #1172 - Add ale_linters_ignore for ignoring linter results 2018-06-24 21:16:45 +01:00
w0rp
755f1a4ccf
Merge pull request #1673 from meain/fixer-tidy
Add fixer tidy for HTML
2018-06-23 22:51:30 +01:00
Abin Simon
17c1aefb5b Add fixer tidy for HTML
Add tests for tidy HTML fixer
2018-06-23 22:59:13 +05:30
w0rp
0f377251dd
#1674 - Alias verilog_systemverilog to verilog by default 2018-06-23 18:20:39 +01:00
w0rp
935740cf93
Close #1590 - Automatically close previews for hover 2018-06-21 23:02:36 +01:00
w0rp
8bca073763
Fix #1661 - Do not use :edit when jumping inside of a file 2018-06-21 21:20:54 +01:00
w0rp
22533f2c1f
Close #1522 - Show suggested fixers in :ALEInfo 2018-06-21 02:26:41 +01:00
w0rp
69eb2fe86a
Close #1417 - Support wildcard filetypes for fixers 2018-06-21 01:21:11 +01:00
w0rp
0e1528ec34
Set up most of the autocmd events in one group 2018-06-20 13:35:57 +01:00
w0rp
9674132933
Remove CallWithCooldown functions to save on time 2018-06-20 08:34:42 +01:00
w0rp
82ea36576c
Move ClockMilliseconds to events, so fewer files are loaded some times 2018-06-19 20:53:49 +01:00
w0rp
fd261d7a17
Move the initialization of augroups to then events file 2018-06-19 20:31:58 +01:00
Alvin Chan
b8a1038a41 Set --parser option in Prettier's fixer (#1620)
* Set `--parser` option in Prettier's fixer
* Add expected `--parser` option to tests
* Disable Prettier `--parser` detection if file extension exists
* Manually default Prettier `--parser` to "babylon"
* Add `--parser` test for TypeScript
* Add tests for Prettier `--parser`
* Add JSON5 to the suggested fixer for Prettier
2018-06-18 22:40:57 +01:00
w0rp
bda89506ba
Lazy-load LSP linters, and check b:changedtick before notifying about changes 2018-06-15 10:01:28 +01:00
P M
f1b72218c3 Add support for qmlfmt fixer (#1651)
* Add support for qmlfmt fixer
2018-06-12 19:38:16 +01:00
Christian Höltje
fd7456fce0 lsp: handle missing "detail" key 2018-06-07 13:43:08 -04:00
Ben Falconer
641c0c797b Pass rootUri to LSPs in addition to rootPath 2018-06-06 17:53:36 +01:00
Ben Falconer
1a4b08539b Allow initialization options to be passed to language servers 2018-06-06 17:53:36 +01:00
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