Commit Graph
5 Commits
Author SHA1 Message Date
Chris Marchesi b81bc8d481 A couple of more doc fixes
* Update section 5.viii in the README with ALEJobStarted and re-format
the example.
* Add an extra line after documentation update to ensure consistency
with the rest of the doc.
2018-04-28 15:10:59 -07:00
Chris Marchesi 11780e1d3d Add some tests for IsCheckingBuffer
Adding a couple of tests to demonstrate how IsCheckingBuffer behaves
during specific autocommand hooks:

* At ALELintPre, no linters have actually executed yet, hence
IsCheckingBuffer should be returning false.
* ALEJobStarted, fires as early as reasonably possible after a job has
successfully started, and hence hooking into IsCheckingBuffer here
should return true.

This distinction is important when using these two events during things
like statusline refreshes, namely for "linter running" indicators.
2018-04-28 14:50:20 -07:00
Chris Marchesi 129eb96561 Fix tests by setting proper link tag in doc for ALEJobStarted 2018-04-27 22:32:21 -07:00
Chris Marchesi 9da015f74f Add test for ALEJobStarted 2018-04-27 22:00:50 -07: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