Commit Graph

285 Commits

Author SHA1 Message Date
w0rp
88f4598ea2 Fix the proeslint linter for plaintext files 2016-12-13 10:19:19 +00:00
Eric Lehner
70e379cc46 Add Elm linting via elm-make (#213)
* Add support for Elm linting

* Adding documentation for Elm

* Adjusting spacing

* Addressing concerns listed in pull request

Removed the s:FindRootDirectory function as it does not make much sense
in this context. Adjusted the rest of the code to handle the removal of
that function, including using the ale#util function to find the nearest
file.

Ensured that when an empty filepath is found, the code does not attempt
to change directories.

Ensured that the linter would take from stdin using the wrapper.
2016-12-13 09:06:04 +00:00
diartyz
725957de6e add stylelint support 2016-12-06 21:14:14 +08:00
Krystian Paszkiewicz
ff8f3673eb Fix proper extension handling for tslint 2016-12-05 08:42:00 +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
kyrisu
bbdff82aee Add support for tslint.json file detection in tslint (#198)
* Add support for tslint.json file detection in tslint

* Fix tslint.json path building for tslint
2016-12-04 22:17:22 +00:00
Po Shan Cheah
5636626da1 Add options variable for ruby-rubocop 2016-12-01 12:28:27 -05:00
w0rp
66b183e1ba Fix #188: Revert to and older version of the Haskell linter, which works better 2016-11-28 09:53:07 +00:00
poohzrn
900b4cdff3 Add Proselint (#185)
* Add Proselint
- Markdown
- Tex
- Text

* Use ale#handler#HandleUnixFormatAsWarning

* Indentation
2016-11-28 09:36:11 +00:00
Alexander "Ace" Olofsson
e03df80a09 Add puppet linters (#183)
* Start adding Puppet linters

* Use the correct output stream for puppet parser

* Finish Puppet and puppet-lint linters

* Add Puppet information to documentation
2016-11-25 12:00:07 +00:00
Andrey Popp
f7e6236fe8 Add ocaml linter: merlin (#177)
* Add ocaml linter: merlin

* Add docs for ocaml-merlin integration.

* Remove annoying error message from ocaml merlin linter

* Update doc to list merlin linter
2016-11-23 15:19:36 +00:00
Andrey Popp
d700da8cb8 Flow linter improvements (#176)
* Fix flow linter to provide filename of the buffer

Related #173

* Fix flow linter not to fail on empty response

* Various improvement to message parsing
2016-11-21 09:53:18 +00:00
Marius Gedminas
713a6910d4 Add g:ale_python_flake8_executable (#174)
* Add g:ale_python_flake8_executable

Closes #172.

* Add g:ale_python_flake8_args

* Always add - to flake8 invocations
2016-11-14 17:52:31 +00:00
w0rp
7669550ae2 Merge pull request #170 from mkusher/typescript_typecheck_linter
Add typecheck linter for typescript
2016-11-10 16:20:28 +00:00
Aleh Kashnikau
0a3faa60f7 removed useless echom from typecheck.vim 2016-11-10 18:48:09 +03:00
Aleh Kashnikau
2e5f3899d1 Add typecheck linter for typescript 2016-11-10 18:41:02 +03:00
delianides
8d5353831e
flow linting should only happen on flow typed files. 2016-11-03 15:51:49 -04:00
Edward Larkey
8632e6b4e0 Added support for foodcritic
Adding support the foodcritic linter for Chef files.
Listing all issues as warnings for now
Doesn't get in the way of rubocop linting if ft=ruby.chef
Updated documentation

Closes #127
2016-11-01 15:36:08 -05:00
Zach Perrault
4088347901 Add FlowType support (#157)
* Add `javascript/flow` linter

* Add documentation for flow

* Remove a line from the docs that was from eslint

* Only run if flow gives output; Correct link in doc

* Address PR feedback #157
2016-11-01 09:00:08 +00:00
mshr-h
e3a8829d67 Add support for clang for c 2016-10-31 14:38:13 +09:00
w0rp
629e6a3675 Merge pull request #153 from keith/ks/shellcheck
Choose shell dialect based on vim syntax
2016-10-30 09:24:39 +00:00
w0rp
c4ab4855b7 Merge pull request #155 from deathmaz/feature/htmlhint-args
Added options variable for htmlhint
2016-10-30 09:21:55 +00:00
deathmaz
9a4645fc7f Default stdin in htmlhint options 2016-10-28 12:42:55 +03:00
Keith Smiley
5fc2f8f6c0
Choose shell dialect based on vim syntax
Shellcheck is smart enough to check the shebang in a given file to
determine which dialect to use. Unfortunately this doesn't work for
files without shebangs, even if it might be apparent what dialect should
be used, such as "bashrc" or "foo.bash". Luckily `filetype.vim` defines
specific vars based on which shell dialect is being used based on a huge
list of conditions. With this change we take those into account for all
the types shellcheck supports, otherwise we fallback to letting it try
and decide.
2016-10-27 18:46:58 -07: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
deathmaz
5b56103c69 Added optoins variable for htmlhint 2016-10-27 18:31:49 +03:00
w0rp
b9428b7db0 Merge #139 - Add Markdown linting support 2016-10-24 20:40:24 +01:00
Alex Layton
95373ddab5 Add support for mlint, a MATLAB linter (#145)
* Add support for mlint, a MATLAB linter

* Fix mlint linter as requested

* Clean up leftover loaded flag for mlint
2016-10-24 20:32:52 +01:00
w0rp
226b4ed586 Add node_modules support for JSHint, and use the global config as a fallback. 2016-10-23 13:25:50 +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
w0rp
216eadbcbe Merge pull request #133 from ehzShelter/master
Added c++14 standard support and POSIX API compile time linker flags and ISO c++14 atomic and thread library support…
2016-10-21 18:08:25 +01:00
ehzShelter
1e83489691 make it less verbose for c and cpp 2016-10-21 20:02:20 +06:00
w0rp
5eee70cf37 Merge pull request #129 from neersighted/ansible
Add ansible-lint support and factor out PEP8 handler
2016-10-21 09:21:50 +01:00
ehzShelter
ce3d79550d Added c++14 standard support and POSIX API compile time linker flags for avoiding annoying errors and warnings 2016-10-21 13:07:51 +06:00
w0rp
7a06d276c2 #131 Keep the error types in the message for eslint 2016-10-20 18:07:55 +01:00
Bjorn Neergaard
a2e4af1626
Document ansible-lint 2016-10-20 09:27:57 -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
acb209aa11 Fix the D error parsing to handle output without column numbers. 2016-10-19 23:42:00 +01:00
w0rp
9e4d7c1b9d Fix some Vint problems. 2016-10-19 22:21:39 +01:00
Jesse Paroz
5831e932e0 Added support for hlint 2016-10-19 22:27:03 +10:00
Łukasz Jan Niemier
27aad958d6 Add linters for Elixir (#113)
* Add Credo linter for Elixir

* Add requested changes

TODO: check if all message types are covered in `if` chain.

* Add information about Credo linter to README

* Add information about Credo linter to doc
2016-10-16 16:44:09 +01:00
w0rp
f4159ac7ee Merge pull request #101 from s-ol/luacheck
add luacheck linter
2016-10-13 10:02:08 +01:00
w0rp
dbbf77c19d Hide more trailing whitespace warnings when the option is on for flake8. 2016-10-12 15:36:59 +01:00
s-ol
1d321e6f39 add luacheck linter 2016-10-12 15:59:49 +02:00
w0rp
78bcf96e34 Fix #87 - Allow linter filetypes to be aliased 2016-10-11 23:11:45 +01:00
Bjorn Neergaard
93cd44e2ec
Match both error and syntax error in verilog 2016-10-11 12:08:31 -05:00
Bjorn Neergaard
572c877a69
Default handlers to warning 2016-10-11 09:42:50 -05:00
Bjorn Neergaard
c290e2cd60
Remove many redundant handlers 2016-10-11 09:22:47 -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
5caec8d3b8
Introduce golang support
This includes go vet, golint, and gofmt -e
2016-10-11 07:56:14 -05:00
w0rp
38dcf30045 Set an option for turning Vint style issues on or off. 2016-10-11 13:20:56 +01:00
Bjorn Neergaard
fb4b797dd2
Use explicit scope in all ale_linters
vint -s is now clean
2016-10-11 06:14:26 -05:00
w0rp
151152b446 #81: Close the Vint format quote. 2016-10-10 20:21:12 +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
0680f875fe Add an option for configuring the path for JSHint. 2016-10-10 19:07:01 +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
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
a1ecf9ecea Merge branch 'shell-detection' 2016-10-09 21:04:43 +01:00
Kabbaj Amine
b2714da78b Modify shell's pattern to handle locals other than english, fixes #69 2016-10-09 22:57:11 +03:00
w0rp
b5e4538699 #69 Change the default shell for shell linting 2016-10-09 20:39:14 +01:00
w0rp
2d32c31205 Handle arguments to shells in shebang lines too. 2016-10-09 19:41:27 +01:00
w0rp
9d52d968db #69 Improve shell detection 2016-10-09 19:32:01 +01:00
Vincent Lequertier
d1cf208683 Add support for perl and perlcritic 2016-10-09 17:33:03 +02:00
mshr-h
85195b56df Add comment headers to verilog linters 2016-10-09 11:32:31 +09:00
w0rp
1ea0eda36c Correct all Vint warnings 2016-10-08 23:55:58 +01:00
w0rp
1044c8af0a Merge pull request #68 from KabbAmine/linter-coffee
Add coffee linter
2016-10-08 16:56:03 +01:00
w0rp
ecde32d9ec Merge pull request #67 from KabbAmine/linter-htmlhint
Add linter HTMLHint for html files
2016-10-08 16:55:14 +01:00
Kabbaj Amine
5eb7106359 Add coffee linter 2016-10-08 18:52:23 +03:00
Kabbaj Amine
49da6d409d Add linter HTMLHint for html files 2016-10-08 18:01:03 +03:00
mshr-h
e59264023a Add verilator for verilog 2016-10-08 21:39:54 +09:00
Marc Delage
edc5cedd8c Add cpp linter (#64)
* Add c gcc option in the doc

* Add missing tag for eslint option in the doc

* Correct typo in doc (' ' instead of '.')

* add cpp linter

* correct typo in doc

* add filetype information for c++
2016-10-08 12:42:36 +01:00
Masahiro H
bd6da4489d Add iverilog for verilog (#63)
* Add iverilog for verilog

* Remove extra spacing/blank line

* Set column to 1
2016-10-08 12:29:45 +01:00
w0rp
197137aea0 Add support for Pug with pug-lint. 2016-10-07 22:16:29 +01:00
w0rp
2f86a92ecb Merge pull request #62 from KabbAmine/linter-tidy-refactor
Refactor tidy support
2016-10-07 20:20:27 +01:00
Kabbaj Amine
4e26c76f73 Refactor tidy support
* Add an option for file encoding
* Remove the type from text
* Fix linter's name
2016-10-07 22:14:09 +03:00
w0rp
da1dcc6bb5 Add support for checking Cython files 2016-10-07 18:33:19 +01: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
Zoltan Kalmar
0e98635937 Add basic scala support using scalac (#56)
* Add basic scala support using scalac

* Convert if to a ternary expression

* Better bounds check

* Code formatting

* Mention Scala in the documentation
2016-10-07 16:28:44 +01:00
jwilliams108
a14790f6ca updating config option format and adding to doc 2016-10-07 11:14:52 +11:00
w0rp
c5d3cc5bc7 Merge pull request #53 from dahlia/haskell-stack
GHC Linter for Haskell Stack
2016-10-06 16:56:45 +02:00
Hong Minhee
94842a257e GHC Linter for Haskell Stack
https://haskellstack.org/
2016-10-06 22:46:51 +09:00
w0rp
3cdd057b11 Add support for changing the eslint executable. 2016-10-06 13:42:52 +01:00
w0rp
36acde533f Fix loading of JSHint configuration files. 2016-10-06 12:56:09 +01:00
w0rp
0466ae942c Merge pull request #50 from jwilliams108/linter-phpcs
adding phpcs linter
2016-10-06 12:18:47 +02:00
jwilliams108
63bed5368c correctly parse eslint warning type 2016-10-06 20:21:29 +11:00
jwilliams108
e7a7b31d3c adding phpcs linter 2016-10-06 20:11:19 +11:00
w0rp
91dc117bec Update the author line and the filenames for the GCC format pattern. 2016-10-05 11:35:16 +01:00
Kabbaj Amine
811a8a3054 Use gcc format for vint output 2016-10-05 11:35:16 +01:00
w0rp
200d9304ab Rename the sasslinters to use the same naming conventions, and add scsslint. 2016-10-05 10:36:38 +01:00
Kabbaj Amine
dd3a34fa27 Add tidy support for html 2016-10-04 22:16:28 +03: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
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
6269ffa0b2 Add support for checking PHP code, courtesy of Spencer Wood. 2016-10-04 00:16:53 +01:00
w0rp
2d1f1fd698 Write YAML for the name instead, and make the example lines match the YAML linter regex. 2016-10-03 23:53:04 +01:00
w0rp
513e2c0235 Merge pull request #36 from KabbAmine/linter-yamllint
Add linter yamllint for yaml
2016-10-04 00:50:46 +02:00
w0rp
4e9b93d118 Merge pull request #35 from KabbAmine/linter-jsonlint-fp
Add linter jsonlint for json
2016-10-04 00:35:11 +02: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
Kabbaj Amine
406e5db352 Add sass/scss support with sass-lint 2016-10-03 23:12:10 +01:00
Kabbaj Amine
d0669ba976 Add linter yamllint for yaml 2016-10-03 22:49:02 +03:00
Kabbaj Amine
5db4710e6d Add linter jsonlint for json 2016-10-03 22:24:04 +03:00
Prashanth Chandra
51b7d7bc95 Add comment headers to ale_linters 2016-10-04 03:07:59 +08:00
Prashanth Chandra
de64c9d76f Linter: tslint for typescript 2016-10-04 03:00:06 +08:00
w0rp
60a03cb933 Add support for linting with CSSLint. 2016-10-03 18:05:58 +01:00
w0rp
552cc7dbc4 Add support for checking Vim code with Vint. 2016-10-03 17:40:02 +01:00
w0rp
2479111884 Remove a test echo line. 2016-10-03 13:45:55 +01:00
w0rp
c89c4fcef9 Add support for shellcheck linting. 2016-10-03 13:18:27 +01:00
Paolo Gavocanov
9051878466 Add support for javascript.jsx filetype 2016-10-03 10:56:59 +03:00
Prashanth Chandra
31d4343d7c Fix qflist output for coffeelint 2016-10-02 17:26:42 +08:00
Prashanth Chandra
8c7193347c Add coffeelint for coffeescript 2016-10-02 16:05:02 +08: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
w0rp
b66b6f925a Add support for checking C code with GCC too. 2016-09-18 19:33:33 +01:00
w0rp
9553c24fa0 Add support for checking Fortran syntax with GCC. Mad respect for the mathematicians. 2016-09-18 19:19:40 +01:00
w0rp
0bc4b4c14c Run DUB in a separate process as well, so it will not cause import lag. 2016-09-18 10:38:54 +01:00
w0rp
a32b380b6f Add support for linting D code with DMD. 2016-09-16 22:53:53 +01:00
w0rp
c84bafe7e7 Merge pull request #2 from fijshion/jshint-linter
Add jshint linter
2016-09-16 19:21:04 +01:00
w0rp
02b2ccb9d0 I accidentally credited the wrong guy. Let's fix that. 2016-09-16 09:15:33 +01:00
Chris Kyrouac
c856d00c7c Add name and author to jshint 2016-09-15 20:44:05 -04:00
Chris Kyrouac
641aa8afc3 Add jshint linter 2016-09-15 20:44:05 -04:00
w0rp
192b3db3ee Credit fijshion for his work in the files, and make the new linters work again by adding the now required name arguments. 2016-09-15 21:09:04 +01:00
w0rp
d97d05e508 Merge pull request #1 from fijshion/jscslinter
Add jscs linter
2016-09-15 21:00:57 +01:00
w0rp
36b25a5da4 Merge pull request #3 from ynonp/master
Add rubocop linter
2016-09-15 21:00:14 +01: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
d3047c9cf6 Output error codes in the error text too for flake8. 2016-09-15 13:08:35 +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
ynonp
5180deb1d2 FIXED comments 2016-09-15 10:39:26 +03:00
ynonp
6d0d05410a ADD rubocop linter 2016-09-15 10:37:53 +03:00
Chris Kyrouac
8c7b158690 Add jscs linter 2016-09-14 15:22:29 -04: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
d438da2b3b Fix the eslint linter so it won't throw away lines if one earlier line doesn't match. 2016-09-13 22:26:04 +01:00
w0rp
08ed282ac8 Add a linter rule for Python code. 2016-09-13 22:23:37 +01:00
w0rp
37065bb252 Fix a bug with eslint parsing which mistakenly cleared markers 2016-09-09 22:25:26 +01:00
w0rp
11c11e578f Add linting with eslint in NeoVim, with a few bugs. 2016-09-09 00:23:26 +01:00