Commit Graph

1551 Commits

Author SHA1 Message Date
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