Commit Graph

35 Commits

Author SHA1 Message Date
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 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
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 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 829f87bc6a Fix #124 Finish implementing command chaining, and make it work for DMD 2017-02-04 18:30:30 +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
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
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 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 cb410927d1 Reduce sign column juttering by waiting for all jobs to complete before updating everything. 2016-10-31 13:45:22 +00: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 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 1e756c0e24 Shut up about there being no autocmd events. 2016-10-14 19:17:12 +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 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
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