w0rp
a25b55b954
Fix #469 - Remove Unicode quotes from GCC errors, which cause issues
2017-04-24 23:00:43 +01:00
w0rp
a03121f5b0
Break shared handlers up into their own files, and fix stylelint error handling
2017-04-24 22:27:18 +01:00
w0rp
b4c0335ebc
Handle Unix errors with no space after the colon
2017-04-24 21:38:12 +01:00
w0rp
99afe586b3
Simplify some code and format some tests better
2017-04-24 21:11:33 +01:00
Jason Tibbitts
c1a2d26711
Disable rpmlint by default ( #492 )
...
* Disable rpmlint by default as it is not safe.
2017-04-20 16:55:20 +01:00
w0rp
d8dcc56af5
Remove error highlights when buffers are cleaned up
2017-04-19 22:55:06 +01:00
w0rp
bdad25eefd
Add a function for getting matches, and use it to simplify a lot of code
2017-04-18 00:35:53 +01:00
w0rp
e237add9fd
Move path functions to their own file
2017-04-17 23:29:02 +01:00
w0rp
e80116cee0
#427 Add a function for looking up ALE variables in buffer scope, and then global scope
2017-04-16 00:16:48 +01:00
w0rp
35c831dd2c
Merge pull request #471 from breed808/gometalinter
...
Add gometalinter linter for go files
2017-04-15 21:09:23 +01:00
w0rp
f0d76bc298
Use g:ale_linters for turning gometalinter on, and update documentation as appropriate
2017-04-15 21:04:43 +01:00
w0rp
c9a5d9845b
Explain some code better
2017-04-15 12:13:31 +01:00
w0rp
e2287a42bc
Merge pull request #463 from valtermro/multi-ft-aliases
...
Add support for multiple filetypes in filetype aliasing
2017-04-13 00:02:18 +01:00
valtermro
475dd2e76a
Add support for multiple filetypes in filetype aliasing
2017-04-12 19:47:34 -03:00
w0rp
65fe914fb8
#392 Handle clang header errors too
2017-04-11 21:05:41 +01:00
w0rp
b06b832447
#392 Report errors inside of headers, in a very basic way
2017-04-11 20:32:57 +01:00
w0rp
85d86620f7
Cover basic GCC functionality with tests
2017-04-03 22:24:30 +01:00
w0rp
5f02595ea4
#380 Add some experimental code for killing long-running processes in NeoVim
2017-04-03 19:50:57 +01:00
w0rp
9691649b65
#446 Do not run ALE if inside of a command window
2017-04-03 19:21:11 +01:00
w0rp
7c736579b7
Fix #438 Create Java .class files for javac in a temporary directory
2017-03-31 20:14:53 +01:00
Steven Lu
ef5b900657
adds line highlights style ( #436 )
...
* adds line highlights style
* adding doc for the new highlight styles.
* missing space
2017-03-31 19:22:25 +01:00
Lucas Kolstad
b3f6f56745
Fix #272 by checking if quickfix is open before reopening to avoid triggering a BufEnter event that causes quickly repeating linting runs when g:ale_lint_on_enter = 1.
...
Add test assertions that quickfix window closes when lists become empty again.
2017-03-24 10:39:37 -07:00
w0rp
18bae7da2e
#333 Finish implementing the lint_file option
2017-03-21 14:52:02 +00: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
2d1d6fb850
Add some utility functions for changing directories for commands
2017-03-21 13:09:02 +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
790c614b7a
#333 Update line numbers for loclist items when current sign_id values are set
2017-03-14 23:04:25 +00:00
w0rp
d19a35485f
#333 Keep any loclist items which have match_id values set on them
2017-03-14 20:26:44 +00:00
w0rp
6f0fc965ab
#394 Attempt to fix running linters when bufwinid() doesn't exist
2017-03-13 23:45:32 +00:00
w0rp
711ab99362
#333 Remember the IDs for highlights
2017-03-12 22:46:33 +00:00
w0rp
382e569f66
Revert "Don't save the sign ID on loclist items. This approach won't work."
...
This reverts commit f25a543260
.
2017-03-12 22:34:32 +00:00
w0rp
f25a543260
Don't save the sign ID on loclist items. This approach won't work.
2017-03-12 21:48:40 +00:00
w0rp
4bf6784d7d
#333 Save sign IDs back on loclist items, and make it possible to get line numbers again
2017-03-11 20:33:29 +00:00
w0rp
fc072a0772
Get milliseconds timestamps without system() calls for tests
2017-03-09 20:22:02 +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
1c3f0b1e19
#333 Add the List needed for the lint_file option, and option itself. Neither do anything meaningful yet
2017-03-08 00:23:14 +00:00
w0rp
21caf54543
Make the navigation commands only work with ALE's pre-sorted list
2017-03-07 23:31:25 +00:00
w0rp
76df2d393b
Fix detailed messages with newline characters
2017-03-04 23:55:12 +00:00
w0rp
fb8df75ac3
Remove a now redundant line
2017-03-04 01:22:44 +00:00
w0rp
2750c605c1
Fix cursor issues, and clean up the cursor tests
2017-03-03 20:14:03 +00:00
Jasper Woudenberg
edc5dee226
Merge remote-tracking branch 'upstream/master'
2017-03-02 19:04:28 -08:00
Jasper Woudenberg
f5ddc51d85
Address some feedback
2017-03-02 18:40:07 -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
Manuel Unno Vio
79f18e7d87
Update sign regex for LANG = it_IT.UTF-8
...
I've noticed that signs weren't unplaced and, learning that this was an issue depending on locale and :sign place, I've fixed the regular expression used to match those messages in my locale (it_IT.UTF-8).
2017-03-02 12:17:43 +01:00
Jasper Woudenberg
70711022db
Add support for error details
...
Some review needed.
2017-03-01 23:27:48 -08:00
Daniel M. Capella
18508f7453
proselint: Add more supported filetypes ( #367 )
...
* proselint: Add more suported filetypes
* proselint: Minor consistency fixes
* Vim help: Disable linters by default
2017-03-02 00:06:09 +00:00
w0rp
b2fe1b2567
Copy all loclist items returned from handlers, and set up defaults for convenience
2017-02-26 14:51:22 +00:00
w0rp
6a02c5812c
Fix #314 - quickfix should take precedence over loclist for jumping
2017-02-21 12:51:49 +00:00
w0rp
c310080359
#314 filter both lists, and add tests to cover the list retrieval
2017-02-21 12:46:07 +00:00
w0rp
884109c6f4
Add an extra custom check for using endif instead of end, etc.
2017-02-21 11:50:59 +00:00
w0rp
8eca101fd1
Merge pull request #348 from rob-b/add-hdevtools-linter
...
Add hdevtools linter for haskell
2017-02-21 11:09:15 +00:00
Rob Berry
06fe8a043f
Add hdevtools linter for haskell
...
This adds support for the hdevtools haskell linter
https://github.com/hdevtools/hdevtools
The output for hdevtools is near identical to the ghc output so this
also extracts the ghc handler into the handle file and adds tests
* Add testing for previous major release of ghc
2017-02-17 17:18:38 +00:00
w0rp
b21ca4ed4e
Use a more reliable method for getting an ID for a job
2017-02-17 10:19:44 +00:00
w0rp
bdbf36991d
Prevent some stupid exceptions
2017-02-17 09:56:36 +00:00
w0rp
eac0a41ae1
#254 Add an option for logging the output of commands
2017-02-16 23:18:57 +00:00
w0rp
843370b96f
#254 Capture command exit codes in the history
2017-02-16 22:19:53 +00:00
w0rp
ca17b5aebd
Add an option for completely disabling command history, and add documentation
2017-02-16 21:33:44 +00:00
w0rp
3a2286a1b8
Refactor history management functions into their own file
2017-02-16 21:18:03 +00:00
Rob Berry
c4afd72792
Add hdevtools linter for haskell
...
This adds support for the hdevtools haskell linter
https://github.com/hdevtools/hdevtools
The output for hdevtools is near identical to the ghc output so this
also extracts the ghc handler into the handle file and adds tests
2017-02-16 10:06:48 +00:00
w0rp
9e7034c6e2
Fix #319 - Enable only cargo for Rust by default
2017-02-15 22:59:33 +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
w0rp
c460602cbb
#338 Try and stop ALE from throwing ALEs when run from a sandbox
2017-02-14 21:02:49 +00:00
w0rp
f39e88cfa8
#274 - Fix airline integration when ALE is not loaded fully
2017-02-13 23:31:29 +00:00
w0rp
c0814934af
Output ALE global variables for :ALEInfo
2017-02-13 23:15:52 +00:00
w0rp
0589022c76
Include most linter variables in ALEInfo
2017-02-13 22:11:35 +00:00
w0rp
f6bc73b749
Fix a style issue
2017-02-13 12:52:44 +00:00
w0rp
a5ec5366c4
Actually catch all Job ID problems
2017-02-13 12:13:54 +00:00
ninjawithaneedle
a2f59049dc
Highlighting should not filter linter messages without column info
2017-02-13 16:30:32 +05:30
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
ecbb276805
Replace every stdin-wrapper script with the new %t formatting support
2017-02-11 19:40:57 +00:00
w0rp
c33602534e
Fix Pug linting
2017-02-11 18:49:12 +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
w0rp
9f8c76b5b9
Make ALE complain when conflicting command options are used
2017-02-09 20:44:13 +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
bf2075cd0c
Revert "Add a Batch stdin wrapper script"
...
This reverts commit 76a03b0709
.
2017-02-09 00:28:32 +00:00
w0rp
325fcc25dd
#314 Use the quickfix list for jumping between errors if that is set instead of the loclist
2017-02-08 22:14:07 +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
c3ebe7bd9e
Cover the Rust handler with some tests
2017-02-07 21:17:10 +00:00
w0rp
a3b7056cad
#289 Only use the --stdin-display-name flag if the flake8 version supports it
2017-02-06 11:12:27 +00:00
w0rp
829f87bc6a
Fix #124 Finish implementing command chaining, and make it work for DMD
2017-02-04 18:30:30 +00:00
w0rp
97131262ab
Add a default alias for the Dockerfile filetype, which is capitalised for some users.
2017-02-02 22:26:46 +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
EinfachToll
23f8e7ddc5
Fix parsing of currently shown signs with Spanish locale ( #268 )
...
* Fix parsing of currently shown signs with spanish locale
* Add a test for parsing of Spanish signs
2017-01-22 13:40:23 +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
9820899b9e
Improve mypy handling a little bit more
2017-01-20 17:30:34 +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
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