Commit Graph

169 Commits

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