Commit graph

223 commits

Author SHA1 Message Date
w0rp
e88eb6c415 Use BufWinEnter for g:ale_lint_on_enter instead 2017-06-06 17:01:17 +01:00
w0rp
1a62e95733 Do not check files on insert leave 2017-06-05 13:55:18 +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
d5ae9b50ea Fix #499 Set an explicit height for the quickfix list, and make the height configurable 2017-06-01 10:39:21 +01:00
w0rp
735a6a2a88 Fix #537 - Add support for balloons 2017-05-31 22:04:33 +01:00
w0rp
6ec965c8e4 #591 Support fixing files on save 2017-05-30 21:32:51 +01:00
w0rp
00d3141962 Fix #577 Add an option preventing linting of large files 2017-05-26 21:21:15 +01:00
w0rp
c77cf0e518 #371 Allow buffer variables to be set based on patterns 2017-05-26 15:59:43 +01:00
w0rp
92ade713f2 #323 Document ale#statusline#Count() instead, and encourage its use 2017-05-24 10:23:13 +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
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
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
ce2f777e33 Fix #505 Stop g:ale_lint_on_filetype_changed linting when you open buffers 2017-04-26 23:02:00 +01:00
w0rp
b7c79974bb #446 Fix g:ale_lint_on_text_changed compatibility issues 2017-04-03 19:04:02 +01:00
taylorskalyo
36f9631512 Add options to facilitate linting only in normal mode (#425)
* [#420] Add options to facilitate linting only in normal mode

ale_lint_on_text_changed:
Allow setting to 'insert' or 'normal' to lint when text is changed only in
insert or normal mode respectively.

ale_lint_on_insert_leave:
This flag can be set to 1 to enable linting when leaving insert mode.

* [#420] Test updated global options

Ale should
- bind to TextChanged events when g:ale_lint_on_text_changed = 1
- bind to TextChanged events when g:ale_lint_on_text_changed = 'always'
- bind to InsertLeave event when g:ale_lint_on_insert_leave = 1
2017-03-30 23:21:37 +01:00
Adriaan Zonnenberg
6a5d8ba5d0 Add :ALEEnable and :ALEDisable commands 2017-03-29 00:04:58 +02:00
Adriaan Zonnenberg
fe47649a23 Allow commands to be chained using a | 2017-03-28 19:27:07 +02:00
w0rp
ab3fd2e849 Fix #130 - Run linters when the filetype is changed 2017-03-27 22:40:25 +01:00
w0rp
c9ee3efc11 Enabling linting on save by default, re #333 2017-03-27 20:36:35 +01:00
w0rp
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
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
ad49846a48 #376 Use the window ID for a given buffer for setting the loclist 2017-03-09 00:43:53 +00:00
w0rp
75a2dc5ff5 Complain loudly when other conflicting plugins are installed 2017-03-06 23:15:34 +00:00
Jasper Woudenberg
edc5dee226 Merge remote-tracking branch 'upstream/master' 2017-03-02 19:04:28 -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
Jasper Woudenberg
70711022db Add support for error details
Some review needed.
2017-03-01 23:27:48 -08:00
w0rp
ceeff6c723 Fix #288 - Add a command for running ALE 2017-02-28 09:10:58 +00:00
w0rp
eac0a41ae1 #254 Add an option for logging the output of commands 2017-02-16 23:18:57 +00:00
w0rp
ca17b5aebd Add an option for completely disabling command history, and add documentation 2017-02-16 21:33:44 +00:00
w0rp
ba1eb90212 #338 Don't do anything from tags files. 2017-02-15 22:03:18 +00:00
w0rp
cb60a2c06e Cover ALEToggle with Vader tests 2017-02-15 21:36:16 +00:00
w0rp
721a850e21 Merge pull request #343 from vimeitor/master
Fix spelling
2017-02-15 19:48:41 +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
Adrià Farrés
4afa415bd9 Fix spelling 2017-02-14 20:26:19 +01:00
w0rp
afd0730248 #274 Stop airline from doing anything if ALE doesn't load by using a different flag for loading with a very ugly name 2017-02-14 09:18:54 +00:00
w0rp
810e420510 #274 Don't emit the warning if ALE isn't working for git commits or blank files 2017-02-13 23:48:36 +00:00
w0rp
0589022c76 Include most linter variables in ALEInfo 2017-02-13 22:11:35 +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
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
c528ab1eaa Fix #269 Set $TMPDIR to a default value, if not set 2017-02-10 09:45:42 +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
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
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
ca18a80e3e #159 Change the condition for checking for Vim 8 features to work better in MacVim 7. 2016-11-04 10:17:49 +00:00
w0rp
614a30a508 Improve file blacklisting to make Unite.vim not fuck up. 2016-10-31 14:47:08 +00:00
w0rp
a6ca60203f Increase the delay for linting on entering a buffer. 2016-10-30 09:29:11 +00:00
w0rp
c8821fc049 #144 - Implement commands for moving through warnings/errors 2016-10-26 10:36:53 +01:00
w0rp
73c9a1f965 #148 Do not run ALE for NERDTree or Unite.vim buffers. 2016-10-25 14:09:58 +01:00
w0rp
c546f47cc0 Merge everything into the one global map. 2016-10-24 20:21:42 +01:00
w0rp
7481facd73 #107 Stop jobs when buffers close 2016-10-23 22:41:00 +01: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
217bb5cb40 Improve the output of the tests, and fix the style issue again. 2016-10-12 23:55:09 +01:00
w0rp
afec4df13f Add a commit with style issues. 2016-10-12 23:21:57 +01:00
w0rp
78bcf96e34 Fix #87 - Allow linter filetypes to be aliased 2016-10-11 23:11:45 +01:00
w0rp
687d66cf25 Merge pull request #95 from neersighted/typos
Return in the statusline compatibility function, fixing #71
2016-10-11 20:48:52 +01:00
Bjorn Neergaard
82f38dcd45
Return in the statusline compatibility function, fixing #71 2016-10-11 14:24:43 -05:00
Bjorn Neergaard
fc711a0615
Clean and reorganize flags/preferences 2016-10-11 10:02:36 -05: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
w0rp
6f1ec7306d REVERT "#39 Use getbufline() for MacVim GUI too."
This reverts commit 3083d05afd.
2016-10-10 18:56:39 +01:00
Kabbaj Amine
4149971c08 Minor fixes:
* Ensure that php linter pattern does not include spaces:
    PHP can return errors with extra spaces like the following:
    `PHP Parse error:  syntax error, unexpected end of file in t.php on line 4`

* Set option locally to buffer

* Rename noErrors variable according to the project's naming convention

* Make the jsonlint pattern a little better
2016-10-10 18:05:18 +03:00
w0rp
7acfa72c0d Fix #75 - Explain that you need to update NeoVim in the plugin itself. 2016-10-10 13:16:32 +01:00
w0rp
56894b432e Merge remote-tracking branch 'origin/echo-string-format' 2016-10-10 12:57:27 +01:00
w0rp
3083d05afd #39 Use getbufline() for MacVim GUI too. 2016-10-10 12:54:39 +01:00
KabbAmine
e4b3f579fa Echo string format (#76)
* Implement an option to configure the echoed message, #48

Via `g:ale_echo_msg_format` where:
- `%s` is the error message itself
- `%linter%` is the linter name
- `%severity` is the severity type

e.g
let g:ale_echo_msg_fomat = '[%linter%] [%severity%] %s'

* Add new options for defining the string used for errors in echoed
message

`g:ale_echo_msg_error_str` and `g:ale_echo_msg_warning_str`

* Change text output of some linters

Now that the echoed message can be customized, no need to add the type
to the text variable.

* Update README & documentation file

* Fix some typos
* Sort the table of options alphabetically (except echo_msg_x_str options)

* Added echo warning str option to the doc
2016-10-10 12:53:54 +01:00
w0rp
f60df660f8 #48 Store the linter name in the loclist objects for later use. 2016-10-09 21:44:50 +01:00
w0rp
8d390384f1 Correct issues with some errors appearing at line 0, not 1. 2016-10-09 21:40:33 +01:00
w0rp
34241edcdb Fix a bug where echoing in modes like visual select caused some errors. 2016-10-09 12:50:51 +01:00
w0rp
8433dbcea9 Remove some trailing whitespace. 2016-10-09 12:50:51 +01:00
w0rp
1ea0eda36c Correct all Vint warnings 2016-10-08 23:55:58 +01:00
w0rp
f17a660888 Send the buffers to the linters using getbufline() on Windows, re issue #39 2016-10-08 21:52:41 +01:00
w0rp
20a28b7856 Handle there being no process for a job better in Vim 8, re issue #39. 2016-10-08 21:04:42 +01:00
w0rp
57b157bbae Use shortmess for shortening long echo lines instead. 2016-10-08 18:04:34 +01:00
w0rp
af8df256c0 Don't store jobs themselves in maps in Vim 8, as per issue #39. 2016-10-08 17:27:59 +01:00
w0rp
85d8d2f217 Use cmd /c for Windows commands to fix a bug with running linters on Windows. 2016-10-08 16:01:23 +01:00
w0rp
4489514e4b Add a wrapper program for running linters which cannot receive stdin input on Windows. 2016-10-07 21:33:16 +01:00
w0rp
da1dcc6bb5 Add support for checking Cython files 2016-10-07 18:33:19 +01:00
w0rp
f6e95586dd Merge pull request #58 from KabbAmine/statusline
Add an initial getStatuslineStr function with customizable output
2016-10-07 18:29:36 +01:00
Kabbaj Amine
f128f7810d Add an initial ALEGetStatusLine function with customizable output, #25 2016-10-07 19:13:01 +03:00
w0rp
d97e25a260 Support reading from both output streams, and fix PHP error parsing, which sometimes logs to stderr, sometimes stdout. 2016-10-07 17:08:11 +01:00
w0rp
596a374c6e Skip setting of signs at line 0 and so on, to avoid any issues there. 2016-10-06 13:01:33 +01:00
w0rp
478c32f85d Fix #42, where some linting isn't run when opening some files. 2016-10-06 11:02:43 +01:00
w0rp
f0da729a9d Fix signs to work with other languages, and create fewer dummy signs 2016-10-05 22:41:48 +01:00
w0rp
91dc117bec Update the author line and the filenames for the GCC format pattern. 2016-10-05 11:35:16 +01:00
w0rp
0305e8ad62 Simplify the IDs used for the dummy sign, so it automatically uses the configurable offset value. 2016-10-05 10:59:01 +01:00
w0rp
1fb34d649b Reduce jittering for signs some more. 2016-10-05 10:25:16 +01:00
w0rp
ab555a6984 Reduce screen shaking by leaving the dummy sign in place while signs are being added and removed. 2016-10-05 09:31:11 +01:00
w0rp
6ff4ed93a7 Adjust the enter delay again. 2016-10-05 09:28:43 +01:00
w0rp
61dad857a5 Add a very short delay after opening a buffer for running the linter to get it to run more. Increase the delay when typing a bit to reduce juttering. 2016-10-05 09:27:03 +01:00
w0rp
0f96b61825 Fix a bug with loading the wrong user option for warning signs. 2016-10-04 23:00:15 +01:00
w0rp
a95aa97780 Add support for linting when a file is saved. 2016-10-04 21:31:47 +01:00
w0rp
aebf8e0196 Change the flags file so it uses the get function. 2016-10-04 21:28:54 +01:00
w0rp
6754b9f1f8 Improve the signs feature so it can work with vim-gitgutter and possibly other plugins. 2016-10-04 21:10:36 +01:00
w0rp
c6dc324add Add a function for finding nearest files, and use it to fix JSHint so it will find configuration files automatically. 2016-10-04 18:24:46 +01:00
w0rp
bd2f39f21a Handle line numbers beyond the end for any linter. 2016-10-04 18:17:02 +01:00
w0rp
8c1f0178ed Get the filename for buffers in a way that NeoVim will like. 2016-10-04 14:50:07 +01:00
w0rp
705f4232c0 Add support for formatting filenames into commands, and use it to fix linting with older eslint versions. 2016-10-04 13:50:44 +01:00
w0rp
e9d6f5a707 Merge pull request #33 from prashcr/comment-headers
Add comment headers for every source file
2016-10-04 00:30:27 +02:00
w0rp
65f5e15af5 Rename the SASS files to follow the convention from other files, and move the function for handling CSSLint style output into the handlers file. 2016-10-03 23:24:18 +01:00
Prashanth Chandra
1d4e035566 Add comment headers for plugin/ale files 2016-10-04 03:07:59 +08:00
w0rp
c89c4fcef9 Add support for shellcheck linting. 2016-10-03 13:18:27 +01:00
Kabbaj Amine
81bccb2847 Add an option for defining text of signs 2016-10-02 11:22:24 +03:00
CookiesBestDinner
fc05b62fc9 Fix typo ALErrorSign -> ALEErrorSign 2016-09-29 23:41:55 +02:00
w0rp
6a442dae6e Fix a bug with reading from large files. Large files we being truncated by closing the input buffer too early. 2016-09-27 15:06:26 +01:00
Vladimir Marovic
e256cd6be9 Move flag to aaflags.vim 2016-09-26 17:02:21 +02:00
Vladimir Marovic
41c3ba17f8 Add option to always show left gutter 2016-09-26 16:55:26 +02:00
w0rp
a39274d7f4 Merge pull request #9 from prashcr/master
Add option for choosing linters to run
2016-09-19 07:18:55 +01:00
w0rp
57ef2c9833 Add support for checking Haskell code via a wrapper script which can be used for other tools, and fix a readline problem with the DMD wrapper script. 2016-09-18 23:58:04 +01:00
Prashanth Chandra
f346416f46 Add option for choosing linters to run 2016-09-17 19:19:29 +08:00
w0rp
8cc28cdfbd Add support for Bash and other shells. Add support for reading from stderr, and for generating the executable from functions. Both were needed to support shell linting. 2016-09-15 20:20:41 +01:00
w0rp
c4fb7f949d Add an option disabling warnings about trailing whitespace, and use it in flake8. 2016-09-15 13:08:21 +01:00
w0rp
b236b6b353 Echo the cursor status with a very short delay, so it will override other plugins. 2016-09-15 10:57:11 +01:00
w0rp
7fa437985f Fix issues with switching buffers rapidly causing errors by remembering the buffer and passing the buffer value to various functions. 2016-09-14 11:47:52 +01:00
w0rp
d2e1348c09 Make signs prefer errors to warnings if there are two loclist items for one line. 2016-09-13 22:25:28 +01:00
w0rp
0b8c2525b1 Make sure all files are loaded, not just the first. 2016-09-13 22:24:55 +01:00
w0rp
4dcfdd43e1 Add support for defining linters where the command that is run is determined by a callback. 2016-09-11 16:49:55 +01:00
w0rp
899e027859 Add Vim 8 support. 2016-09-10 01:37:40 +01:00
w0rp
33b5e30760 Fix bugs with directory listings and signs when switching tabs. 2016-09-09 22:48:40 +01:00
w0rp
11c11e578f Add linting with eslint in NeoVim, with a few bugs. 2016-09-09 00:23:26 +01:00