Commit graph

1834 commits

Author SHA1 Message Date
Jerko Steiner
b1b05e6e66 Optimize ale#completion#Filter when prefix is "" 2019-01-08 15:10:03 +01:00
Jerko Steiner
9bcf8a2336 Manually trigger autocomplete even when prefix is "" 2019-01-08 12:57:17 +01:00
w0rp
1d7acad891
Merge pull request #2161 from guill/compile_database_perf
Improve perf for compile dbs in large projects
2019-01-08 09:29:07 +00:00
Jerko Steiner
0fcd5e79a9 Add ability to manually trigger completion menu (#2177)
* Add ability to manually trigger completion menu
* Mention :ALEComplete in completion docs
* Add test for ALEComplete
2019-01-07 17:55:55 +00:00
Jacob Segal
cb0a5c7a36 Improve perf for compile dbs in large projects
When using a compilation database (compile_commands.json) in very large
projects, significant delays would occur when changing files --
particularly those that happened to be far down the db. Rather than
iterating over the whole list every time, we now build up a lookup table
based on the tail of the filename (and tail of the directory for
widening searches) and iterate over the much smaller list of compile
commands for files with the given name.

Test metrics (from compile_database_perf/test.sh) show a 90% performance
improvement -- from 25 seconds to 2.5 seconds per run.
2019-01-06 00:41:57 -08:00
Jerko Steiner
5bbe77101d Add support for bingo (#2165)
* Add support for https://github.com/saibing/bingo
* Add docs for ale-go-bingo
* Use go.mod when found
* Add test for bingo FindProjectRoot
* Simplify ale_linters#go#bingo#GetCommand
2019-01-05 19:12:55 +00:00
w0rp
4f3190daa8
Fix a test on Windows 2019-01-04 14:51:55 +00:00
Aryeh Leib Taurog
1f21eb0c42 fallback to elm if elm-tests isn’t available 2019-01-04 09:55:35 +02:00
Aryeh Leib Taurog
ba38688dff support tests/ with elm 0.19.0
With earlier elm versions, a separate package file is maintained for
tests, which when properly configured enabled the compiler to find what
it needed to compile the tests.  Under elm 0.19, test dependencies are
managed in the top-level package file, so `elm make` will fail on the
tests.  `elm-test make` is required in this case.

See https://github.com/elm-explorations/test/issues/64
2019-01-04 09:55:35 +02:00
Aryeh Leib Taurog
bbf02d837e test elm-make changes to rootdir when elm.json is found
most projects will have an elm.json file (>= 0.19) or elm-package.json (< 0.19)
2019-01-04 09:55:35 +02:00
w0rp
08606b88d0
Clean up the new g:ale_shell code. Use it for Windows 2019-01-03 21:23:09 +00:00
w0rp
7919db0db5
Merge pull request #2167 from stegmanh/master
Add support for ale option to override default shell used by ale
2019-01-03 21:01:13 +00:00
w0rp
1b264b8662
Merge pull request #2168 from fx-carton/master
Fix CFLAGS & Makefile issues
2019-01-03 20:37:16 +00:00
w0rp
a1654cfb58
Merge pull request #1988 from mdtusz/pipenv-black
Add support for black usage with pipenv
2019-01-03 20:32:36 +00:00
Holden
5f613a5fd6 change ale to use value of g:ale_shell regardless of what it is 2019-01-02 19:05:51 -05:00
Alvin Chan
5792bd6e29 Update FindReferences tests 2018-12-31 14:59:50 -07:00
François-Xavier Carton
e5f33c6598 Add a test for cflags merging bug 2018-12-29 12:16:22 +01:00
Holden
8550fa6059 fix tests on windows 2018-12-28 12:51:01 -05:00
Holden
c499825a0b add tests for ale_shell option 2018-12-28 11:58:55 -05:00
Miklós Tusz
48057407ec Fixup tests for auto-pipenv 2018-12-21 20:28:17 -08:00
Miklós Tusz
4bf260e953 Remove unnecessary exe check for black 2018-12-21 20:07:14 -08:00
Miklós Tusz
63e76875d5 Add test for python_black_auto_pipenv 2018-12-21 20:07:14 -08:00
w0rp
73ca1e7191
Merge pull request #2150 from mvgrimes/perl-linter-data-fix
Update the perl-linter's l:pattern to catch missing errors
2018-12-20 16:22:10 +00:00
w0rp
5345a5dd81
Merge pull request #2141 from benjaminjkraft/master
Add versions of ALEGoToDefinition that open in splits
2018-12-20 16:15:57 +00:00
Ben Kraft
73a204dd00 Add versions of ALEGoToDefinition that open in splits
This is just like `:ALEGoToDefinitionInTab`, only a (v)split instead of
a tab.  Fixes #2140.
2018-12-19 18:35:56 -05:00
Mark Grimes
c19f2aa302 Adds tests for perl-linter where a second file/line is included in error 2018-12-19 08:30:23 -05:00
w0rp
f1ed654ca5
#2132 Change (buffer, lines) fixer functions to (buffer, done, lines) 2018-12-18 11:13:28 +00:00
w0rp
0e3778e335
Merge pull request #2153 from deltaskelta/gqlint-fix
changed gqlint to lint the file on disk
2018-12-18 10:19:59 +00:00
Jeff Willette
e55d07cf6f changed gqlint to lint the file on disk
- added a cd into the direcotry containing the file in the buffer
  in order to properly check for a config file
- added command_callback tests for graphql
2018-12-18 18:59:02 +09:00
w0rp
9a3be907ea
Close #2152 - Use ale_javascript_standard_options for fixing files too 2018-12-18 09:28:55 +00:00
w0rp
13060a3492
Merge pull request #2136 from hsanson/368-chktex-latex-report-errors-from-wrong-file
Fix 368 - Lacheck reports errors from input{} files.
2018-12-16 13:17:52 +00:00
Horacio Sanson
5052eca5cb Add tests to lacheck linter 2018-12-11 23:44:06 +09:00
Justin Searls
2cfa09e02d Adds standardrb linter (#2133)
See: https://github.com/testdouble/standard

StandardRB is to RuboCop what StandardJS is to ESLint. This commit 
naively copies the RuboCop linter and fixer to point at the standardrb
executable. Any other adjustments are very minor (the only I can think 
of is that standardrb takes a `--fix` option instead of 
`--auto-correct`).

This raises a confusing point to me as both developer and a user: since
ale enables all linters by default, won't this run both RuboCop and 
StandardRB (the results of which will almost always be in conflict with
one another)? How does ale already solve for this for the similar case
of StandardJS and ESLint?
2018-12-10 14:02:32 -07:00
w0rp
39c892eff4
#1520 - Add an :ALEDocumentation for tsserver 2018-12-10 20:08:28 +00:00
David LANDREAU
c7292ce892 javac linter: fix handling of error messages containing ':' character 2018-12-09 18:22:50 +01:00
Gordon Fontenot
9226e13b31 Add support for Pod based SwiftLint (#2122)
It's common to add SwiftLint as a CocoaPod dependency, instead of as a global
binary. In this case we should use that version of SwiftLint before looking
for any others. Note that I'm also adding support for SwiftLint in ReactNative
projects here as well, where the Pods directory would be nested inside an ios
directory.
2018-12-07 15:20:58 -07:00
w0rp
3db564f774
Merge pull request #2061 from hsanson/1910-add-support-for-bibclean-fixer
Add bibclean fixer support
2018-12-06 20:26:04 +00:00
pmacosta
fdd37acc1f Add support for pydocstyle linter (#2085)
The linter can correctly parse pydocstyle output with any of the following
command-line options enabled: --explain, --source, --debug, and/or
--verbose
2018-12-06 11:27:03 -07:00
Oskar Grunning
2760cf7018 refactor sasslint linter (#2077)
Previous implementation required one to have sass-lint globally. This
allows you to have it locally, override the executable and add options.
2018-12-06 11:23:31 -07:00
Horacio Sanson
3346b200bf Fix javalsp command.
The command used to invoke the LSP process was being escaped wrong.

Also added a new option to set a different java executable and fixed the
documentation.
2018-12-05 21:53:39 +09:00
w0rp
6f32f002e7
Revert "Merge pull request #2083 from zackhsi/scalac-until-jvm"
This reverts commit 1c89495d77, reversing
changes made to 4b4b09593b.
2018-12-03 20:39:10 +00:00
Horacio Sanson
9e97a6914e Add bibclen fixer support
Closes #1910
2018-12-01 15:05:18 +09:00
Bjorn Neergaard
d2b0ae8108 Merge branch 'master' into sridhars 2018-11-29 14:57:35 -07:00
Bjorn Neergaard
ef641dda80 Add test for detail in lsp ReadDiagnostics 2018-11-29 14:51:01 -07:00
w0rp
0a384a49d3
Merge pull request #2096 from mgedmin/flake8-uses-vcols
flake8 reports visual columns
2018-11-28 09:49:31 +00:00
lfree
2ab64514d0 php: change phpstan's --errorFormat to --error-format (#2005)
* php: change phpstan's --errorFormat to --error-format
* add version check to phpstan
2018-11-23 09:39:50 +00:00
Marius Gedminas
a0baeec591 Fix unit tests 2018-11-22 12:09:45 +02:00
w0rp
ff0bd14efe
Merge pull request #2068 from m-pilia/ispc
Add linter for ispc
2018-11-21 16:44:59 +00:00
Martino Pilia
66212966dd
Add --nowrap to ispc options 2018-11-21 10:40:07 +01:00
w0rp
1c89495d77
Merge pull request #2083 from zackhsi/scalac-until-jvm
Continue scalac compilation until just before bytecode generation
2018-11-19 20:02:07 +00:00
w0rp
4b4b09593b
Merge pull request #2087 from m-pilia/ada
Add GCC linter for Ada
2018-11-19 19:36:32 +00:00
Martino Pilia
d90673ab5b
Add GCC linter for Ada 2018-11-18 18:14:24 +01:00
Zack Hsi
1b779fbc08 Fix test 2018-11-17 13:02:16 -08:00
Jacob Segal
1b3fa9828c Fix bug where last c flag was ignored
There is currently a check that tries to prevent c-flags that contain
'-' in them from being unintentionally split and included in the list of
commands. For example, we wouldn't want "-fno-exceptions " to appear as
"-fno" and "-exceptions ". The way this check was done was by making sure
the last character of the split string was a space.

This meant that the very last option to appear in the compile command
was ignored (as it doesn't end with a space). This fix explicitly skips
the ends-with-space check on the last option in the command-line.

This isn't the best fix. Really we should be using the same
argument-processing rules as a shell would rather than just splitting on
'-'. That's a much larger and more complicated change though.
2018-11-17 04:04:39 -08:00
Abin Simon
1f4dbb82ec add tests for prettier-html 2018-11-12 12:28:34 +05:30
Martino Pilia
9e8f2b0840
Lint ispc on disk to solve include imprecisions 2018-11-12 00:54:24 +01:00
Martino Pilia
0b4507ed56
Add linter for ispc 2018-11-11 18:26:37 +01:00
w0rp
d30da203b9
Merge pull request #2063 from languitar/better-checkstyle
Checkstyle improvements
2018-11-11 10:00:37 +00:00
w0rp
d1d5292178
Fix #2054 - Make golint configurable 2018-11-11 09:42:57 +00:00
w0rp
b96105bebb
Merge pull request #2056 from luan/virtualtext
Add support for nvim's virtualtext on cursor
2018-11-11 09:17:53 +00:00
w0rp
6858b4a259
Merge pull request #2059 from jparise/test-elixir-paths
Remove test/command_callback/mix_paths/
2018-11-10 11:00:13 +00:00
w0rp
90f2875f29
Merge pull request #2053 from andreypopp/fix-ocamlformat-stdin-stdout
Make ocamlformat work without temporary files
2018-11-10 10:57:11 +00:00
w0rp
f8d3ffb60e
Fix #1960 - Do not fix files on :wq 2018-11-10 10:06:56 +00:00
Johannes Wienke
5d6b4ef73f Support older checkstyle versions
The output format used by older checkstyle versions differs from the one
of new versions. This commit adds a second parsing iteration on the
output lines with a suitable pattern to support both versions in
parallel. Due to the differences in the order of matching groups this is
hard to achieve in a single pass through the output lines.

An appropriate test case is added.
2018-11-07 13:25:48 +01:00
Luan Santos
ba9b056a57
Fix info text
Removed ale_virualtext_prefix from debugging since it's not requried for
the functionality to work.
Sorted debugging info to make the list easier to navigate/diff.
2018-11-06 22:38:47 -08:00
Jon Parise
dd7501ee48 Remove test/command_callback/mix_paths/
All of the other tests were already using equivalent fixtures under
test/command_callback/elixir_paths/, so let's use that path everywhere.
2018-11-06 14:01:12 -08:00
Andrey Popp
b9fb62a4cd Make ocamlformat work without temporary files
Problem: ocamlformat is configured to format files in-place and thus go
via creating a temporary file for that. Because temporary file resides
in a different directory ocamlformat can't find `.ocamlformat`
configuration files in an original location of source files.

Solution: ocamlformat since version 0.8 can read sources on stdin and
spur result on stdout. We reconfigure ocamlformat to use a simpler
interface.
2018-11-04 20:32:56 +03:00
Jon Parise
b25794e81b elixir-ls now recognizes umbrella projects
Previously, elixir-ls would treat each sub-project within an umbrella as
standalone, which isn't desirable from a language server perspective.

Added ale#handlers#elixir#FindMixUmbrellaRoot, which locates the current
project's root and then continues searching upwards for a potential
umbrella project root. This literally looks just two levels up to keep
things simple while keeping in line with Elixir project conventions.

Use this new function to determine elixir-ls's LSP project root.
2018-11-04 06:40:25 -08:00
w0rp
acdc99b94d
Merge pull request #2051 from aclemons/ruumba
Add initial support for ruumba in eruby files.
2018-11-04 11:33:15 +00:00
Justin Howard
88d328739f Allow configuration of hamllint executable (#2048)
* Allow configuration of hamllint executable

The hamllint executable was hard-coded, preventing it from being
overridden. Fix the executable to be dynamic to allow custom executable
paths.
2018-11-04 10:35:21 +00:00
w0rp
71bb62c858
Clean up a buffer variable in a test file 2018-11-04 10:15:41 +00:00
w0rp
6aab3fe209
Merge pull request #2044 from Steap/bug/1388
PHP linter: make the path to the executable configurable
2018-11-04 10:13:44 +00:00
Andrew Clemons
fa036ca72c Add initial support for ruumba in eruby files.
Ruumba provides RuboCop linting for ERB templates.

https://github.com/ericqweinstein/ruumba
2018-11-04 19:55:06 +13:00
Cyril Roelandt
f34c089685 PHP linter: make the path to the executable configurable
Fixes #1388
2018-11-01 18:52:28 +01:00
Jon Parise
4bee0f1743 Add configuration dictionary support to elixir-ls
This adds generic configuration dictionary support to the elixir-ls
linter. This is useful for disabling its built-in Dialyzer support, for
example, which can improve startup time.

The configuration dictionary is a little verbose. I considered reducing
the user configuration to only the nested settings dictionary (and
having the linter implementation wrap it in the top-level `elixirLS`
dictionary), but leaving it fully configurable simplifies the code and
removes any assumptions about current or future ElixirLS behavior.
2018-10-31 10:32:48 -07:00
w0rp
4b841b5586
Fix the Windows tests 2018-10-31 16:25:04 +00:00
w0rp
5f206d900e
Merge pull request #2035 from jparise/lsp_config_callback
Add a `lsp_config_callback` linter option
2018-10-31 16:24:11 +00:00
w0rp
4ef2c81e95
Implement LSP symbol search 2018-10-31 16:13:31 +00:00
Jon Parise
2ac9e2a29e Only send LSP config updates when the dict changes
Each LSP connection now stores its configuration dictionary. It is
initially empty (`{}`) and is updated each time the LSP connection is
started. When a change is detected, the workspace/didChangeConfiguration
message is sent to the LSP servers with the updated configuration.
2018-10-31 08:42:42 -07:00
Jon Parise
b5a7593577 Add a lsp_config_callback linter option
This is the callback-based variant of the existing `lsp_config` linter
option. It serves the same purpose but can be used when more complicated
processing is needed.

`lsp_config` and `lsp_config_callback` are mutually exclusive options;
if both an given, a linter preprocessing error will be raised.

The runtime logic has been wrapped in `ale#lsp_linter#GetConfig` for
convenience, similar to `ale#lsp_linter#GetOptions`.

This also adds documentation and an `AssertLSPConfig` test function for
completeness.
2018-10-31 08:42:42 -07:00
w0rp
20e4e3f9db
Merge pull request #2040 from leamingrad/jshint_filename
Pass the filename of the current file into jshint
2018-10-31 11:21:13 +00:00
James Owen
39fd7a0961 Add some basic callback tests for jshint 2018-10-31 11:48:52 +01:00
w0rp
cdda96154e
Merge pull request #2031 from capjo/master
Do not enable all clang-tidy checks by default
2018-10-31 10:26:08 +00:00
w0rp
73f9f3da23
Merge pull request #2036 from maxhungry/fix-rubocop-fixer
Use correct exclusion flag in rubocop fixer
2018-10-31 10:15:48 +00:00
Max Hung
be02ba4ed7 Use correct exclusion flag in rubocop fixer 2018-10-31 11:18:07 +13:00
w0rp
709788084f
Try to fix the tests on Windows 2018-10-30 20:55:35 +00:00
Andreas Hollmann
ef7b4af917 Do not enable all clang-tidy checks by default 2018-10-30 11:46:53 +01:00
w0rp
caac5c93d6
#2017 Add support for display results from other sources 2018-10-29 18:28:28 +00:00
w0rp
2846e86217
#2017 Simplify lint cycles for supporting other sources later 2018-10-29 11:29:21 +00:00
Andreas Hollmann
4c14e6a5fd Fix clazy tests 2018-10-28 17:44:45 +01:00
Justin Powell
90048ac933 fix missing (s) on rubocop exclusion flag 2018-10-26 11:47:28 -05:00
Alexander "Ananace" Olofsson
7af33637e8 Add the dockerfile_lint linter for Dockerfiles (#1971)
* Add the dockerfile_lint linter for Dockerfiles
2018-10-26 17:34:32 +01:00
Takuya Fujiwara
34318aedf4 Add prolog swipl linter (#1979)
* add prolog/swipl linter

* use load_files/2 instead of read_term/2

Because it also checks some semantic warnings / errors
not only syntactic warnings / errors.

e.g.:
* singleton warning
* discontiguous warning
* ...

cf. http://www.swi-prolog.org/pldoc/doc_for?object=style_check/1

* support error messages with no line number

    :- module(module_name, [pred/0]).

causes

    ERROR: Exported procedure module_name:pred/0 is not defined

* add test for prolog/swipl handler

* cosmetic fixes

* detect timeout using SIGALRM

* rename g:prolog_swipl_goals to g:prolog_swipl_load

* write doc for prolog/swipl linter

* update toc and README

* fix ignore patterns
2018-10-26 17:29:17 +01:00
Justin Powell
b7e0321890 closes #1580 add force exclusion to rubocop fixer 2018-10-26 10:40:02 -05:00
w0rp
adc914a675
Merge pull request #1999 from stevenharman/expand_filename_for_reek
Reek: --force-exclusion flag
2018-10-26 10:21:33 +01:00
Dan Aloni
aa0203320b Rust checker: allow secondary spans to be ignored (#1696)
* Rust checker: allow secondary spans to be ignored
* test/handler/test_rust_handler.vader: Add tests for g:ale_rust_ignore_secondary_spans
2018-10-26 09:38:20 +01:00
w0rp
77aacf0c91
#927 Allow b:ale_linter_aliases to be set to a String 2018-10-26 09:22:52 +01:00
Steven Harman
9c3daf3a66 Respect configured excluded_paths 2018-10-25 16:29:29 -04:00
w0rp
320c74ce1a
Merge pull request #1958 from Garland-g/perl6
Add Perl6 support via 'perl6 -c'
2018-10-25 15:38:33 +01:00
w0rp
3e65e85178
Merge pull request #2016 from terryding77/master
fix: change google_java_format_* to java_google_java_format_*
2018-10-25 15:34:31 +01:00
Anthony Poon
02c0d5bcb9 Only run stack if a stack.yaml config is found (#1752)
* Only run stack if a stack.yaml config is found

It is necessary to check for a stack.yaml file to distinguish between
cabal-only projects or stack projects (which are also cabal projects
since stack is built on top of cabal).

* Test that stack is called if stack.yaml exists
2018-10-25 15:30:49 +01:00
w0rp
9bdd5771ef
Merge pull request #2018 from muglug/patch-1
Update Psalm to use LSP
2018-10-25 15:22:34 +01:00
w0rp
b3829d043d
Merge pull request #2012 from paihu/fix-cdstring-win32-change-drive
Fix #2011 MS Windows, lint error when current drive and target file drive is different.
2018-10-25 14:24:56 +01:00
Terry Ding
3ba9cad878 fix: change google_java_format_* to java_google_java_format_* for inject global variables according to doc/ale-java.txt 2018-10-24 20:10:31 +08:00
Derek P Sifford
e94a594e2e add terraform fmt fixer for terraform and hcl filetypes
See #1718
2018-10-23 20:44:31 -04:00
paihu
d14db50c44 fix has('unix') equal 0 is windows. 2018-10-24 08:29:11 +09:00
paihu
f4395f5b8c ale#path#CdString include ale#Escape 2018-10-23 23:20:27 +09:00
paihu
2ea83939a5 fix testcase 2018-10-22 22:59:06 +09:00
Daniel Welch
2000436dfd LSP configuration via didChangeConfiguration (#1852)
* adding LSP configuration via workspace/didChangeConfiguration
2018-10-22 13:24:46 +01:00
paihu
eae3f70e75 fix CdString for MS Windows 2018-10-22 21:17:57 +09:00
Linda_pp
f57ad883f2 Add support for cargo clippy (#2001)
* Add support for `cargo clippy`
* Add tests for cargo-clippy support
* Add an example to doc for how to configure ale_rust_cargo_use_clippy
2018-10-22 09:21:48 +01:00
Matt Brown
7fa0d3dcc4 Add tests for updated Psalm plugin 2018-10-19 16:31:12 -04:00
w0rp
3bda132988
Merge pull request #1991 from alskdj21/ruby_solargraph_init_options
Expose ruby-solargraph's initialization options
2018-10-18 14:32:23 +01:00
ix5
b8359c1114 Allow custom executable for ansible linters (#1977)
* Allow custom executable for ansible linters
* Add ansible-lint tests
* ansible-lint: simplify linter command
* Rename linter "ansible" to "ansible_lint"
* Add ansible-lint options to documentation
* Add alias ansible-lint for ansible_lint
2018-10-18 09:19:27 +01:00
Auri
be21aa5cda New linter: dls (#1992)
* New linter: dls
2018-10-17 16:11:41 +01:00
Kim Joseph S. Sadomia
cc1aece1e0 Rename solargraph initialization option variable 2018-10-12 18:16:28 +08:00
Aliou Diallo
b7ec11c93d Allow custom filters for the jq fixer (#1980)
* Allow the jq filters to receive custom filters.
* Update documentation.
2018-10-12 09:15:32 +01:00
Kim Joseph S. Sadomia
12409fa73d Expose ruby-solargraph initialization options 2018-10-12 13:03:06 +08:00
Jon Parise
7eae781291 Add elixir-ls language server support
ElixirLS (https://github.com/JakeBecker/elixir-ls) is an LSP server for
Elixir. It's distributed as a release package that can be downloaded
from https://github.com/JakeBecker/elixir-ls/releases or built locally.

The easiest way to start it is via Unix- and Win32-specific helper
scripts, so that's the basis of this command integration. Alternatively,
we could implement the contents of those platform-specific scripts in
the linter's command callback in a language-neutral way, but there isn't
any benefit to doing that aside from eliminating the platform check, and
that could prove to be too tight of a coupling going forward.
2018-10-11 08:31:12 -07:00
Filip Vavera
3dd2d9dedd Fix Credo message types (#1963)
* Add more Credo message types
* Add tests
2018-10-11 10:00:10 +01:00
Matteo Centenaro
bf1ac8e822 FIX: use mix from the project root directory (#1954)
* FIX: use mix from the project root directory
* Move find root project function to autoloaded handlers
* add tests for #ale#handlers#elixr#FindMixProjectRoot
2018-10-10 17:19:47 +01:00
Travis Gibson
adad9a21ab Fix crashes with incomplete errors 2018-10-03 14:13:34 -07:00
Diego Lemos
607750eb02 Fix PMD not working with classes without package
PMD is currently not working properly for Java classes that use [unnamed
packages](https://docs.oracle.com/javase/specs/jls/se11/html/jls-7.html#jls-7.4.2).

Consider the following Java class that does not contain a `package`
declaration:

```java
public class App {
  String getGreeting() {
    return "Hello world.";
  }

  static void main(String... args) {
    System.out.println(new App().getGreeting());
  }
}
```

Running PMD in the command line agaist the Java class above produces an
output with empty string `""` in the `"Package"` column:

```sh
$ pmd -R category/java/bestpractices.xml -f csv -d './src/main/java/App.java'
Oct 02, 2018 9:10:39 PM net.sourceforge.pmd.PMD processFiles
WARNING: This analysis could be faster, please consider using Incremental Analysis: https://pmd.github.io/pmd-6.7.0/pmd_userdocs_incremental_analysis.html
"Problem","Package","File","Priority","Line","Description","Rule set","Rule"
"1","","/Users/diego/Projects/github.com/dlresende/kata-fizz-buzz/src/main/java/App.java","2","7","System.out.println is used","Best Practices","SystemPrintln"
```

But the pmd.vim handler's current pattern refuses everything coming
from a Java class that does not have a package name (2nd column):
```vim
let l:pattern = '"\(\d\+\)",".\+","\(.\+\)","\(\d\+\)","\(\d\+\)","\(.\+\)","\(.\+\)","\(.\+\)"$'
```

The solution I am proposing is to also accept empty strings as package names.
2018-10-02 21:34:11 +01:00
Travis Gibson
2b2e766dc6 Add Perl6 support via 'perl6 -c' 2018-09-28 16:18:40 -07:00
Evan Rutledge Borden
2a56475cf7 Remove test vars that cover bug
These test vars were covering up a bug in the hlint linter
implementation. Without these vars we can see the behavior that is
exhibited in `vim` proper.
2018-09-28 11:37:40 -04:00
Evan Borden
a8915d885b Add better support for Haskell stack compiler tools (#1851)
* Add better support for Haskell stack compiler tools

This commit adds support for `stack` as the executable of a tool. This
follows a pattern that has been implemented for `bundler`'s tool chain.

* Move hlint command to linter file
* Add vader test for stack exec handling
* Update ghc-mod to support stack execution

`ghc-mod` was previously broken into 2 linters.

1. ghc_mod
2. stack_ghc_mod

This additional linter is not necessary with proper support for
executable variables and `stack exec` handling.

* Support stack exec in hfmt
* Support stack in hdevtools
2018-09-28 09:05:01 +01:00
w0rp
a26b3319a1
Merge pull request #1950 from yejingchen/ccls
Add ccls support for C/C++/ObjC
2018-09-28 09:02:00 +01:00
w0rp
fd0467f992
Merge pull request #1917 from jpsouzasilva/fix-stylelint-scss
Support options when using Stylelint with SCSS
2018-09-27 16:54:17 +01:00
Richard Marmorstein
947360f714 Add psalm linter for PHP (#1893) 2018-09-27 16:48:47 +01:00
Ye Jingchen
17676f6a6d Add missing files for ccls test 2018-09-26 23:17:19 +08:00
Ye Jingchen
626e47f5c9 Add ccls tests 2018-09-26 22:50:43 +08:00
w0rp
58ceb21cbc
Merge pull request #1908 from KtorZ/master
Allow extra options to be passed to haskell:hlint
2018-09-26 15:38:15 +01:00
Bert JW Regeer
8e7e810db6 Bugfix: python add blank lines (#1944)
* Don't add newlines when not a control statement for Python
* Add test for accidental newline fix
* Add docstring detection to avoid adding unnecessarily newlines
* Add tests for docstring detection
2018-09-25 10:02:01 +01:00
w0rp
aa5c82b171
Merge pull request #1932 from rhysd/shfmt-default-indent
shfmt: Use Vim's indent config as default indent width
2018-09-20 09:30:59 +01:00
w0rp
169a6e26b2
Merge pull request #1719 from elebow/auto-pipenv-option-for-python-linters
Add python_[linter]_auto_pipenv options for python linters (fixes #1656)
2018-09-19 19:46:13 +01:00
Martin Tournoij
e82bcdb8a6 Add fixer for Go modules (#1873)
* Add fixer for Go modules
2018-09-19 19:33:23 +01:00
w0rp
a6c6e24d61
#1872 Remove extra carriage returns when fixing files on Windows 2018-09-19 19:28:57 +01:00
Daniel Wennberg
d50e603177 Support both old (<0.7) and new Julia versions
Closes #1931
2018-09-19 07:34:11 -07:00
w0rp
6bbbb9456c
Merge pull request #1926 from gnustomp/master
c#ParseCFlags: don't index empty list
2018-09-19 13:22:43 +01:00
w0rp
e5b920e387
Merge pull request #1934 from meunierd/solargraph-stdio
Support Solargraph stdio
2018-09-19 13:12:41 +01:00
w0rp
993f02ad80
Merge pull request #1928 from felipesere/master
To avoid blocking build tools, suspend ALE when suspending vim
2018-09-18 17:46:45 +01:00
w0rp
213a901ccd
Stop tsserver from causing errors to be rendered redundantly 2018-09-18 17:43:17 +01:00
Devon Meunier
4025030d86
Solargraph stdio 2018-09-18 11:20:29 -04:00
rhysd
532686102e shfmt: Use Vim's indent config as default indent width 2018-09-18 17:51:00 +09:00
KtorZ
bd32b7c856
Add command_callback tests to cover hlint config variables 2018-09-18 08:25:49 +02:00
James Ye
3c067941f1 add test for arguments with '--' 2018-09-18 10:59:26 +10:00
Felipe Sere
f09e6d638f
Test that we CleanupEveryBuffer when vim supports it 2018-09-17 21:26:25 +01:00
w0rp
ddb3e6d57a
Handle failing to connect to eslint_d 2018-09-17 17:32:57 +01:00
w0rp
a4a4bba884
Merge pull request #1927 from jparise/thrift-includes-default
thrift: default thrift_thrift_includes to ['.']
2018-09-17 11:21:30 +01:00
w0rp
f9e99d81a4
#1794 - Handle LSP documentation content as a Dictionary 2018-09-17 11:16:46 +01:00
w0rp
0b163ec656
Fix the Julia languagserver linter for Julia 0.7 2018-09-17 09:16:41 +01:00
Jon Parise
b7fcec4d17 thrift: default thrift_thrift_includes to ['.']
In a lint context, it's useful to assume that included files sit next to
the current file by default. Users can still further customize this
configuration variable to add more include paths.
2018-09-16 08:21:18 -07:00
Eddie Lebow
56e67c5811 Add python_[linter]_auto_pipenv options for python linters (fixes #1656)
When set to true, and the buffer is currently inside a pipenv,
GetExecutable will return "pipenv", which will trigger the existing
functionality to append the correct pipenv arguments to run each linter.

Defaults to false.

I was going to implement ale#python#PipenvPresent by invoking
`pipenv --venv` or `pipenv --where`, but it seemed to be abominably
slow, even to the point where the test suite wasn't even finishing
("Tried to run tests 3 times"). The diff is:

diff --git a/autoload/ale/python.vim b/autoload/ale/python.vim
index 7baae079..8c100d41 100644
--- a/autoload/ale/python.vim
+++ b/autoload/ale/python.vim
@@ -106,5 +106,9 @@ endfunction

" Detects whether a pipenv environment is present.
function! ale#python#PipenvPresent(buffer) abort
-    return findfile('Pipfile.lock', expand('#' . a:buffer . ':p:h') . ';') isnot# ''
+    let l:cd_string = ale#path#BufferCdString(a:buffer)
+    let l:output = systemlist(l:cd_string . 'pipenv --where')[0]
+    " `pipenv --where` returns the path to the dir containing the Pipfile
+    " if in a pipenv, or some error text otherwise.
+    return strpart(l:output, 0, 18) !=# "No Pipfile present"
 endfunction

Using vim's `findfile` is much faster, behaves correctly in the majority
of situations, and also works reliably when the `pipenv` command doesn't
exist.
2018-09-15 22:10:46 -04:00
jpsouzasilva
9bbea8b830 Add tests for assuring the SCSS stylelint options work 2018-09-14 13:32:42 -03:00
w0rp
0868cb769d
Merge pull request #1906 from ngavalas/autocomplete-trigger-prefix
fix non-. prefix triggers overfiltering results
2018-09-14 13:32:25 +01:00
w0rp
7f1c411b5e
Merge pull request #1850 from rrosenblum/ruby_linters
Update all Ruby linters to work consistently with bundler
2018-09-14 13:27:07 +01:00
w0rp
b01470cbbc
Test for bundle paths with spaces again 2018-09-14 13:26:29 +01:00
w0rp
5c86ffd321
Return only the unescaped executables from executable callbacks 2018-09-14 13:24:59 +01:00
Sascha Grunert
c48106f484
Adapt tests 2018-09-14 10:47:33 +02:00
Ryan Rosenblum
9e09b7ca35 Update all Ruby linters to work consistently with bundler 2018-09-12 16:53:28 -04:00
Nick Gavalas
b4513fc4b0 fix non-. prefix triggers overfiltering results 2018-09-12 15:47:57 -04:00
Nick Gavalas
44070d8a45 fix tsserver className parsing 2018-09-11 10:56:58 -04:00
w0rp
99e9417ef9
Add support for Julia Language Server (#1894) 2018-09-10 17:24:04 +01:00
Daniel Jones
150015d0dc Fixed NASM tests 2018-09-10 09:23:47 +10:00
Bartolomeo Stellato
97ed25a8bf Escape julia command + reorder table in README 2018-09-09 10:09:05 -04:00
w0rp
0948dcc435
Merge pull request #1897 from LEI/add-sqlfmt-fixer
Add support for sqlfmt
2018-09-09 11:55:42 +01:00
w0rp
395aba19c3
Merge pull request #1885 from dsifford/dsifford-fixer-uncrustify
add uncrustify fixer for several languages
2018-09-09 11:30:30 +01:00
Bartolomeo Stellato
91bb948b90 Try to fix CI 2018-09-08 14:11:11 -04:00
LEI
a97ef49c51
Add support for sqlfmt 2018-09-08 01:34:10 +02:00
w0rp
0ae4ea23c8
#1888 Support names with minuses in Clojure and Lisp 2018-09-07 19:27:42 +01:00
Bartolomeo Stellato
68ac4d1095 Fix julia escaping + minor edits 2018-09-07 14:13:44 -04:00
Bartolomeo Stellato
f64f0bb48c Added tests 2018-09-07 13:16:22 -04:00
w0rp
e0fe97e0a8
Merge pull request #1883 from hsanson/add-solargraph-yml-to-root-path-search
Add solargraph.yml file as root path search file.
2018-09-06 20:34:34 +01:00
Sascha Grunert
7b62a15739 Add golangci-lint (#1890) 2018-09-06 20:31:12 +01:00
w0rp
7086769289
#1891 Fix the go-langserver tests 2018-09-06 17:05:05 +01:00
w0rp
f1d5bcbf98
Merge pull request #1870 from hsanson/1822-add-go-langserver-support
Fix #1822 - support go-langserver lsp.
2018-09-06 14:50:00 +01:00
w0rp
f8beaa9e3e
Fix #1866 - Handle empty output from Perl 2018-09-06 09:23:36 +01:00
Horacio Sanson
a9333c2866 Fix #1822 - support go-langserver lsp. 2018-09-06 13:46:59 +09:00
Derek P Sifford
0ed4a5bbcc add uncrustify fixer for several languages 2018-09-04 20:39:32 -04:00
Horacio Sanson
044c762c85 Add solargraph.yml file as root path search file.
Solargraph allows to set configuration options by creating a
.solargraph.yml file at the root of the project using it. Therfore this
file is a good canditate for finding ruby projects root paths.

Initial discussion:
  https://github.com/w0rp/ale/issues/1874#issuecomment-418316168
2018-09-05 07:12:04 +09:00
w0rp
d476578a40
Improve ALE project style checking
* The project style linter now runs while you type.
* Now the scripts for checking the project require blank lines.
* Many style issues have been found and fixed.
2018-09-04 16:51:18 +01:00
w0rp
8f2e1c393f
Merge pull request #1871 from Ophirr33/master
added sbtserver linter
2018-09-04 11:22:57 +01:00
w0rp
43b04d4e5b
Fix the dart language server command and cover it with tests 2018-09-04 11:15:59 +01:00
w0rp
fddbfdef12
#1875 Do not lint and so on when an operator is pending 2018-09-03 13:59:56 +01:00
w0rp
c1f0956d9b
Merge pull request #1869 from Steap/feature/gitlint-ignore-whitespace
gitcommit: fully implement warn_about_trailing_whitespace
2018-09-03 11:27:19 +01:00
Ty Coghlan
3d016f1697 Changed sbtserver to just work off of the address variable 2018-09-01 21:03:29 -04:00
Ty Coghlan
8e3bf10592 added sbtserver linter 2018-08-30 22:10:38 -04:00
Cyril Roelandt
244c5a8ce5 gitcommit: fully implement warn_about_trailing_whitespace
Fixes #1761
2018-08-30 03:42:44 +02:00
w0rp
ee3142b601
Merge pull request #1866 from Steap/feature/xmllint-fixer
Add support for xmllint as a fixer.
2018-08-28 23:36:00 +01:00
w0rp
79f02fce69
Merge pull request #1856 from sbl/ocamlformat
add ocamlformat support
2018-08-28 23:28:30 +01:00
w0rp
d4ce201cc2
Merge pull request #1849 from hsanson/1848-add-support-for-java-lsp
Add vscode-java-language-server linter
2018-08-28 22:53:11 +01:00
Cyril Roelandt
cc5ad6491f Add support for xmllint as a fixer. 2018-08-28 23:43:52 +02:00
w0rp
09e43ab16b
Merge pull request #1847 from hsanson/1846-support-solargraph-lsp
1846 support solargraph lsp
2018-08-28 21:52:18 +01:00
w0rp
b6112aedc3
Merge pull request #1861 from dimbleby/goto-definition-column
Fix out-by-one error in column on goto-definition
2018-08-28 10:11:44 +01:00
David Hotham
aef11cc0d2 Fix out-by-one error in column on goto-definition
Fixes #1860
2018-08-27 13:53:40 +01:00
Horacio Sanson
1980245b94 Add solargraph LSP linter. 2018-08-27 10:58:17 +09:00
Horacio Sanson
261c29c3d0 Add vader test and fix command callback. 2018-08-26 22:11:36 +09:00
sbl
b7169c33e7 fix tests 2018-08-26 13:59:55 +02:00
sbl
aa015ec4db add ocamlformat support 2018-08-26 13:47:56 +02:00
w0rp
adc038f327
Merge pull request #1839 from filipekiss/feature/stylelint-inline-css
Add Stylelint as HTML Linter
2018-08-24 13:20:37 +01:00
w0rp
c4eca7c417
Use one LSP connection per project 2018-08-24 13:16:58 +01:00
fenuks
9d7c48038c
Add clazy as cpp linter 2018-08-24 10:52:33 +01:00
w0rp
08d141edfb
Fix #1844 - Make the kotlin languageserver linter work again 2018-08-24 10:41:33 +01:00
w0rp
1f26fc4013
Merge pull request #1841 from dabbeg/fix-importjs-fixer
importjs fixer not reading correct executable variable name
2018-08-24 10:31:18 +01:00
Davíð Guðni
f526fc68d1 importjs fixer not reading correct executable variable name 2018-08-24 09:04:17 +00:00
Evan Borden
707b539969 Add hlint refactoring as a fixer (#1836) 2018-08-23 23:23:54 +01:00
Evan Borden
2600524274 Add stylish-haskell as a fixer (#1837)
* Add stylish-haskell as a fixer

`stylish-haskell` is a common formatting tool for the haskell toolchain.
It is not as advanced as `brittany` or `hindent`, but it is commonly
used for formatting of imports and data declarations. This adds it as a
fixer in ALE.
2018-08-23 23:14:59 +01:00
w0rp
7c10249c52
Merge pull request #1820 from SuRaMoN/master
Added phpcs options support as described in #257
2018-08-23 22:42:45 +01:00
Martin Tournoij
18ec66bd21
Remove "go env" from gobuild linter
I see no reason to do this? It is just setting the environment to what
it already is?

It was originally added in #297, but that entire PR is not a great idea
in the first place; that PR (together with #270) tried to make the Go do
non-standard and non-supported stuff like compiling packages outside of
GOPATH.

That's not something that works well (I tried), so was eventually
removed in #465, but these "go env" calls remained, for no reason in
particular, as far as I can think of.

This will improve on #1834; you will now no longer get a confusing error
(but still won't get a meaningful error; need to think how to do that).
2018-08-23 00:42:19 +01:00
Filipe Kiss
b78ee18898
Add html stylelint test 2018-08-22 19:00:42 -03:00
w0rp
a366d325a7
Merge pull request #1815 from fredemmott/lsp-related-information
If present, use new-ish LSP 'relatedInformation' field for :ALEDetail
2018-08-20 16:59:21 +01:00
matthias
f82ab76833 Added and fixed tests 2018-08-18 20:59:35 +02:00
w0rp
ad8b260519
Fix #1816 - Fix a type error in the initialize message handler 2018-08-16 14:19:12 +01:00
tyru
88ffdb4736 feat: add ale_go_govet_options variable 2018-08-16 11:36:46 +09:00
Fred Emmott
4923d48d53
Correct related information line numbers from 0-based to 1-based 2018-08-15 14:46:57 -07:00
Fred Emmott
764da48c57
Test file was the wrong way around 2018-08-15 14:40:51 -07:00
Fred Emmott
c467db3ed9
Better formatting 2018-08-15 14:31:30 -07:00
Fred Emmott
484a70f0c0
Use new-ish LSP 'relatedInformation' field for :ALEDetail 2018-08-15 14:19:32 -07:00
w0rp
a88a6d5285
Merge pull request #1806 from jimenezrick/fix-rustc-linter
Fix #1684: Use the correct flag name in rustc linter
2018-08-12 09:41:36 +01:00
Ricardo Catalinas Jiménez
db003a4361 Fix #1684: Use the correct flag name in rustc linter
The rust compiler renamed the option '-Z no-trans' to '-Z no-codegen'.

https://github.com/rust-lang/rust-enhanced/issues/281
2018-08-10 21:50:52 +01:00
w0rp
6167f75628
Merge pull request #1802 from flybayer/fix-prettier-d
Don't use error output from prettier_d for fixing files
2018-08-10 18:28:38 +01:00
w0rp
a56e801567
Merge pull request #1793 from kodemeister/cquery
Use .cquery file to detect the project root
2018-08-10 18:23:55 +01:00
w0rp
e9086dd55c
Revert "#1459 Always run ESLint in the directory of the file being checked"
This reverts commit 634bf73f52.
2018-08-10 11:49:17 +01:00
Brandon Bayer
63c66dc5d2 fix: Don't use error output from prettier_d for fixing files 2018-08-09 12:56:53 -04:00
w0rp
634bf73f52
#1459 Always run ESLint in the directory of the file being checked 2018-08-09 08:51:27 +01:00
kodemeister
cc84c19451 Add C/C++ tests for cquery LSP linter 2018-08-09 09:02:16 +06:00
Bradford Larsen
8a9b28daf9 Update tests in response to changes in #1797. 2018-08-07 16:51:23 -04:00
Bradford Larsen
6f2d868baf Update tests in response to changes in #1797. 2018-08-07 16:41:12 -04:00
David Hotham
d0e3302253 Add support for yang-lsp 2018-08-03 21:13:48 +01:00
w0rp
209cd54783
Fix #1781 - Fix me breaking the tsserver linter 2018-08-03 17:22:09 +01:00
w0rp
41178425ab
Fix the Windows tests 2018-08-03 01:00:39 +01:00
w0rp
217284360d
Simplify the code for most linters and tests with closures 2018-08-02 23:44:12 +01:00
w0rp
9ef266d050
Merge pull request #1770 from fredemmott/hack
Split Hack out from PHP, modernize
2018-08-02 21:58:57 +01:00
w0rp
ccbdfcd76f
Include the error in the detailed error message in the GCC handler 2018-08-02 21:45:16 +01:00
Fred Emmott
de6cd961a8
Suggested changes 2018-08-02 12:59:04 -07:00
Luxed
6b3086237a Add Haskell IDE Engine (hie) support (#1735)
* Adding support for haskell-ide-engine
* Work with the current directory if no stack.yaml file is found
* Added Cabal file detection, updated documentation and added tests
* Updated help
2018-08-02 20:24:58 +01:00
Paul Reimer
cb8ad9fbd8 Javascript prettier filetype detect fix (#1769)
Support fixing YAML and HTML files with prettier for files without file extensions.
2018-08-02 20:20:19 +01:00
w0rp
649934230b
Fix the failing tsserver test 2018-08-02 19:32:57 +01:00
Fred Emmott
238201805d
Split Hack out from PHP, modernize
fixes #1738

- Replace previous `hh_client` usage with LSP client
- Add `HHAST` linter
- Split Hack from PHP: Hack is increasingly diverging from PHP:
  - Hack tools do not understand PHP
  - Most PHP tools do not handle Hack code well (including vim's syntax
    highightling files)
  - http://github.com/hhvm/vim-hack now sets filetype to `hack`
2018-08-02 11:28:56 -07:00
Fred Emmott
04362c746d
Add test for LSP code of -1 2018-08-02 09:30:22 -07:00
Fred Emmott
2768bf15ba
Handle LSP codes for %code% in message formats
fixes #1767
2018-08-02 09:06:48 -07:00
w0rp
16d0c52d24
Indicate that a C compiler failed due to problems in a header file 2018-07-30 20:09:43 +01:00
w0rp
1e6b1d9be2
Try to fix the C parsing test on Windows 2018-07-29 19:30:12 +01:00
w0rp
ac4bac8ea4
Add support for parsing compile_commands.json files for C compilers 2018-07-29 19:24:27 +01:00
w0rp
daab1a08db
#1700 - Try using a 0ms timer showing the completion menu 2018-07-26 23:08:38 +01:00
Yauhen Kirylau
8517e901ff Add support for 'vulture' for Python 2018-07-26 08:41:27 +01:00
w0rp
0012c78b02
#1700 - Temporarily change completion options when the feedkeys() keybind is fired 2018-07-25 20:13:59 +01:00
w0rp
06132954b1
Switch to v:t_ variables for type checks 2018-07-25 01:27:28 +01:00
w0rp
9f8c37e17c
Ignore a shellcheck warning for custom linting rules 2018-07-25 00:41:26 +01:00
w0rp
d368f090ae
#1754 Require snake_case names for linters in the codebase 2018-07-24 10:05:44 +01:00
w0rp
9ade656661
Just remove the .git directory test for now 2018-07-23 22:22:19 +01:00
w0rp
44397dd6db
Skip the one failing test on Windows 2018-07-23 22:21:13 +01:00
w0rp
2a861dfd40
Make the test C import path test fail less 2018-07-23 22:03:28 +01:00
w0rp
d9579dbbe9
Get tests to pass in Vim 8.1 2018-07-23 20:41:48 +01:00
w0rp
7bf3a749d0
#1751 Handle LSP completion results without the 'kind' attribute 2018-07-23 10:21:09 +01:00
w0rp
3e4db9ed5c
Make the completion events test fail less 2018-07-22 22:42:41 +01:00
w0rp
846bfb47b2
Remove the redundant fix_buffer_data vars and filename variables 2018-07-22 22:31:46 +01:00
w0rp
81a8c77d20
#1692 - Only send completion requests to the first server supporting them 2018-07-22 21:14:56 +01:00
w0rp
9c849da8c4
Merge pull request #1751 from melentye/master
Add Clangd language server support for C
2018-07-22 20:55:01 +01:00
Andrey Melentyev
9b4963847d Add Clangd language server support for C 2018-07-22 21:22:38 +02:00
w0rp
6dc737cda1
Check LSP capabilities before using them 2018-07-22 19:04:55 +01:00
w0rp
baa44bb3a7
Merge pull request #1742 from typetetris/master
Add cabal-ghc linter
2018-07-22 14:12:23 +01:00
w0rp
8062d6207e
Revert "Update the tests to check README.md in the new location"
This reverts commit 6c10be8992.
2018-07-22 12:16:42 +01:00
w0rp
6c10be8992
Update the tests to check README.md in the new location 2018-07-22 12:15:15 +01:00
w0rp
04fbea6e80
Merge pull request #1736 from unpairedbracket/master
Add support for Fortran language server by @hansec
2018-07-20 21:05:24 +01:00
Eric Wolf
ac6bc6d0ae Add cabal-ghc linter
cabal-ghc calls ghc via cabal exec and so ghc has access to packages
in cabal sandboxes for example
2018-07-20 16:48:27 +02:00
Ben Spiers
ad986a8d82 Add the .fortls file necessary for tests to work (defying .gitignore) 2018-07-19 22:37:06 +01:00
Ben Spiers
e8bea510df Add documentation and testing for fortls 2018-07-19 22:27:47 +01:00
w0rp
61a5880747
Capture server capabilities from LSP servers 2018-07-19 21:15:05 +01:00
w0rp
5453e0e1a4
Fix #1708 - Don't modify linters or register fixers in the sandbox 2018-07-17 21:39:50 +01:00
w0rp
7952ebe77e
#1700 - Don't send <C-x><C-o> for completion in Insert mode 2018-07-17 19:39:45 +01:00
w0rp
a01fab2ee6
Fix #1619 - Rewrite lint on enter events so they behave better 2018-07-17 00:18:34 +01:00
w0rp
37df1f8ceb
#1700 - Stop handling completion results if you leave insert mode 2018-07-16 17:57:07 +01:00
w0rp
aa54c10bae
Try to make tests pass on Windows again 2018-07-16 14:18:50 +01:00
w0rp
2a081e81db
Try and make the temporary file test fail less on Windows 2018-07-16 14:03:08 +01:00
w0rp
f235c4b3b9
Make NeoVim 0.3 tests fail a bit less 2018-07-16 13:46:44 +01:00
Takashi WADA
dbf051e62b remark-lint without saving to disk 2018-07-16 18:33:22 +09:00
Takashi WADA
f369aa65a2 Support remark-lint installed locally 2018-07-16 18:33:21 +09:00
w0rp
fcd62342d5
Only temporarily replace TMPDIR if it's defined to be an empty string 2018-07-16 08:45:55 +01:00
w0rp
6e1a5d4189
Stop the no loclist clearing test from failing in NeoVim 0.3 2018-07-15 23:19:11 +01:00
w0rp
d9e12cb047
Re-run history tests, which can fail randomly 2018-07-15 21:20:56 +01:00
w0rp
d3ed1e52ba
Fix #1687 - Parse highlights when verbose > 0 2018-07-15 21:01:00 +01:00
MTDL9
5df735555c Add kotlin language server support (#1725)
* Add kotlin languageserver linter definition
* Added kotlin languageserver references in docs, fix missing !! on other linters
* Added Vader tests for root path detection in Kotlin Language Server
2018-07-15 18:54:18 +01:00
w0rp
a42999a639
Massively reduce the amount of code needed for linter tests 2018-07-15 18:28:28 +01:00
w0rp
5155a35a80
Retry the smoke test on Windows too 2018-07-13 09:53:07 +01:00
MTDL9
021f59b3f4 Support strings in data field of error responses 2018-07-13 06:42:28 +02:00
w0rp
d22b9bf1a6
Try to start the NeoVim 0.3 tests more times 2018-07-12 14:02:38 +01:00
w0rp
ac0abc7c1f
Fix #1716 - Replace tempdir() with a wrapper to preserve TMPDIR 2018-07-12 13:05:59 +01:00
w0rp
0de3d24338
Try the smoke test a few times over in NeoVim 0.3, which fails randomly 2018-07-11 13:46:13 +01:00
w0rp
c1a2aa27f3
Merge pull request #1697 from ananace/add-puppet-languageserver
puppet: Add puppet-languageserver linter
2018-07-07 12:08:14 +01:00
w0rp
4999ad7e78
Add an AssertLinter command for tests 2018-07-06 22:46:36 +01:00
w0rp
344e0fec97
Fix tests on Windows 2018-07-06 20:52:47 +01:00
w0rp
1e9b36cdbf
Fix tests on Windows 2018-07-06 08:15:54 +01:00
w0rp
0dd356aa52
Fix the broken tests 2018-07-06 01:00:30 +01:00
w0rp
d5b4f6f7e7
Fix command formatting for LSP linters 2018-07-05 21:48:47 +01:00
w0rp
da692b2e2d
Support formatting escaped executable names into commands with %e 2018-07-05 20:56:31 +01:00
Alexander Olofsson
9ca133feb0 Start of vader tests for puppet root detection 2018-07-05 21:25:03 +02:00
w0rp
d49daeb816
Merge pull request #1698 from dsifford/dsifford-isort-options
add options variable to isort
2018-07-05 09:25:16 +01:00
Derek P Sifford
6dc69b2144 address code review issues 2018-07-04 21:16:57 -04:00
w0rp
13a8f9c061
Optimise ale#Var a little 2018-07-04 23:54:14 +01:00
w0rp
9ddf1b6a05
Make the language option for LSP linters optional 2018-07-04 13:12:58 +01:00
w0rp
ca7fa31c61
Close #1690 - Respect the preview setting for completeopt 2018-07-04 08:52:18 +01:00
w0rp
db85b931ec
Remove deprecated code for the 2.0 release 2018-07-04 08:36:34 +01:00
w0rp
602e7fa00f
#1524 Avoid loading cursor code until engine code has been loaded 2018-07-03 21:14:00 +01:00
w0rp
e10e0934ab
Automatically retry running Vader tests so Travis CI will fail less 2018-07-03 20:50:56 +01:00
w0rp
1d8b326f62
Revert "Add a failing test to test re-running tests in AppVeyor"
This reverts commit 1565859eae.
2018-07-03 19:59:40 +01:00
w0rp
1565859eae
Add a failing test to test re-running tests in AppVeyor 2018-07-03 19:56:37 +01:00
w0rp
73d3030cf1
Merge pull request #1691 from dsifford/dsifford-python-pyre
add pyre lsp linter to python linters
2018-07-03 08:31:01 +01:00
w0rp
5aba55bb86
#830 Make the LSP socket code so far use the new socket API 2018-07-03 00:30:26 +01:00
w0rp
01c68fedd6
#830 Implement a socket wrapper API for use with LSP connections 2018-07-02 23:49:47 +01:00
Derek P Sifford
20ed48352f add dummy pyre binary and executable 2018-07-02 18:49:12 -04:00
Derek P Sifford
09a53fb363 add command_callback test 2018-07-02 18:23:42 -04:00
Govind KP
9d98e6db0c Added dartfmt fixer (#1683)
* Added dartfmt to Fixers
* Added dartfmt specific documentation
2018-07-01 13:55:41 +01:00
w0rp
06f61eeeb8
Respect ale_warn_about_trailing_whitespace for yamllint 2018-07-01 13:49:40 +01:00
w0rp
e5e14de9ae
Capture error codes for yamlllint 2018-07-01 13:15:12 +01:00
w0rp
fee5107d43
Add tests for the yamllint handler 2018-07-01 12:50:46 +01:00
w0rp
1487c8daa0
Make highlight tests pass more in Neovim 0.3 2018-07-01 11:52:02 +01:00
w0rp
b88bf6ecba
Fix #1412 - Use --stdin-filename for newer reek versions 2018-07-01 10:21:59 +01:00
w0rp
fc041ae090
Make a test which can fail randomly synchronous instead 2018-06-28 13:59:52 +01:00
w0rp
d581fca35e
Get tests running and passing with NeoVim 0.2 and 0.3 2018-06-28 13:53:49 +01:00
Dan Aloni
d9e139ae23 Rust Cargo linter: Improve workspace support (#1679)
* Rust Cargo linter: Improve workspace support

When using Cargo workspaces [1], there is a 'Cargo.toml' directory in a
top level directory, listing all the crates in the project. If we are
currently editing one of the crates, 'cargo build' should execute in
that directory for that crate's separate `Cargo.toml`, otherwise Cargo
may spend more time possibly rebuilding the entire workspace, and maybe
failing on one of the other crates, instead of succeeding on the current.

[1] https://doc.rust-lang.org/book/second-edition/ch14-03-cargo-workspaces.html
2018-06-27 22:36:02 +01:00
w0rp
980aa35566
Merge pull request #1675 from nicopauss/master
Improve pyrex cython linter.
2018-06-27 21:39:36 +01:00
w0rp
b047271051
Merge pull request #1682 from fennerm/fix_prospector_e474
Fix prospector empty string error
2018-06-27 21:34:28 +01:00
Fenner Macrae
1ca2334846 Fix prospector empty string error
Prospector linter is raising error when no warnings are present in file
(#1680). Copied fix from #779.
2018-06-26 16:58:34 -07:00
Nicolas Pauss
4d935ff32a Add test_pyrex_cython_command_callback.vader
Add common callback tests to check if executable and options are well
configurable.
2018-06-25 22:14:43 +02:00
Nicolas Pauss
d05936a489 Handle cython warning with custom handle and remove '--warning-errors'.
Add a custom handler to support cython warning format.
Remove '--warning-errors' to keep previous behaviour.
2018-06-25 17:33:53 +02:00
w0rp
620951b6d3
Close #1453 #1172 - Add ale_linters_ignore for ignoring linter results 2018-06-24 21:16:45 +01:00
Abin Simon
17c1aefb5b Add fixer tidy for HTML
Add tests for tidy HTML fixer
2018-06-23 22:59:13 +05:30
w0rp
8bca073763
Fix #1661 - Do not use :edit when jumping inside of a file 2018-06-21 21:20:54 +01:00
w0rp
22533f2c1f
Close #1522 - Show suggested fixers in :ALEInfo 2018-06-21 02:26:41 +01:00
w0rp
69eb2fe86a
Close #1417 - Support wildcard filetypes for fixers 2018-06-21 01:21:11 +01:00
w0rp
90dfe8e2a4
Merge pull request #1665 from ashemedai/master
Make CloudFormation linter work again with latest version
2018-06-20 22:51:55 +01:00
w0rp
11f303f853
Merge pull request #1618 from colbydehart/master
[new linter] Add mix linter for elixir
2018-06-20 22:47:56 +01:00
w0rp
d7efb13203
Try to fix the tests on Windows 2018-06-20 22:41:19 +01:00
Jeroen Ruigrok van der Werven
f14e3bb109 Update test to match update to linter
Also make lnum and col proper strings, since that is how it is matched
by the regexp, ALE handles the conversion to number.
2018-06-20 15:29:26 +02:00
w0rp
0e1528ec34
Set up most of the autocmd events in one group 2018-06-20 13:35:57 +01:00
w0rp
9674132933
Remove CallWithCooldown functions to save on time 2018-06-20 08:34:42 +01:00
w0rp
82ea36576c
Move ClockMilliseconds to events, so fewer files are loaded some times 2018-06-19 20:53:49 +01:00
w0rp
fd261d7a17
Move the initialization of augroups to then events file 2018-06-19 20:31:58 +01:00
w0rp
3a5887df2c
Remove a redundant variable in tests 2018-06-19 20:12:49 +01:00
w0rp
e306e5cdb0
Avoid calling ALE cleanup code if ALE never tried to check a buffer 2018-06-19 20:12:33 +01:00
Alvin Chan
b8a1038a41 Set --parser option in Prettier's fixer (#1620)
* Set `--parser` option in Prettier's fixer
* Add expected `--parser` option to tests
* Disable Prettier `--parser` detection if file extension exists
* Manually default Prettier `--parser` to "babylon"
* Add `--parser` test for TypeScript
* Add tests for Prettier `--parser`
* Add JSON5 to the suggested fixer for Prettier
2018-06-18 22:40:57 +01:00
w0rp
24fe195311
Merge pull request #1650 from yasuhiroki/support-cfn-python-lint
Add linter for AWS CloudFormation template file
2018-06-17 20:39:07 +01:00
w0rp
bda89506ba
Lazy-load LSP linters, and check b:changedtick before notifying about changes 2018-06-15 10:01:28 +01:00
yasuhiroki
eabf5d55d6 Add end_lnum and end_col in cfn_python_lint handler 2018-06-13 09:11:14 +09:00
P M
f1b72218c3 Add support for qmlfmt fixer (#1651)
* Add support for qmlfmt fixer
2018-06-12 19:38:16 +01:00
w0rp
87455a2ef4
Add a test for handling missing detail keys for LSP completion 2018-06-12 19:31:08 +01:00
yasuhiroki
ae25d71fa8 Add linter for AWS CloudFormation template file 2018-06-12 15:11:53 +09:00
Colby Dehart
864818a385 WIP cd to project path 2018-06-07 11:47:57 -05:00
Colby Dehart
f0f569f14a added test for command callback 2018-06-07 10:09:08 -05:00
Stefan Siegel
42192c1593 Adapt test to also use Rscript --vanilla 2018-06-07 15:56:14 +02:00
Ben Falconer
20db9ab719 Add the cquery LSP #1475 #1594 2018-06-06 17:58:47 +01:00
Ben Falconer
641c0c797b Pass rootUri to LSPs in addition to rootPath 2018-06-06 17:53:36 +01:00
Ben Falconer
1a4b08539b Allow initialization options to be passed to language servers 2018-06-06 17:53:36 +01:00
Eddie Lebow
ca88e67af0 Allow all Python linter executables to be set to pipenv.
It appends ` run {linter_name}`, analogously to the Ruby linters when
the executable is set to `bundle`
2018-06-05 00:33:26 -04:00
Michał Budzyński
e272207114 Allow linting rust tests and examples with cargo 2018-06-04 11:08:49 +02:00
w0rp
4ec661b305
Merge pull request #1623 from zoonfafer/scalafmt-fixer
Add 'scalafmt' fixer for Scala files
2018-06-03 19:12:09 +01:00
w0rp
a8bbf49a31
Merge pull request #1625 from elebow/flake8-pipenv-run
Allow flake8 executable to be set to `pipenv`.
2018-06-03 18:52:15 +01:00
w0rp
0db12702f3
Respect warn_about_trailing_whitespace for gitlint 2018-06-03 10:46:39 +01:00
Eddie Lebow
dd642b117c Allow flake8 executable to be set to pipenv.
It appends ` run flake8`, analogously to the Ruby tools when the
executable is set to `bundle`
2018-06-02 21:49:12 -04:00
Jeffrey Lau
77d0ac58ed Add 'scalafmt' fixer for Scala files
closes https://github.com/w0rp/ale/issues/1299
2018-06-03 04:40:52 +08:00
Colby Dehart
81739be0a0 handled temp file and env variable correctly; added tests 2018-06-02 13:03:56 -04:00
w0rp
786fc0a62f
Merge pull request #1617 from luitzifa/master
Fix for puppet version >= 5.4.0
2018-06-02 12:36:24 +01:00
w0rp
014d27c882
#1621 - Tolerate SetOptions calls when ALE is loaded in a weird way 2018-06-01 21:03:22 +01:00
w0rp
6a7e00d9ac
Handle definition responses without files 2018-06-01 14:15:32 +01:00
Daniel Kraemer
3a1d21e5dd Fix for puppet version 5.4.0
i don't know of any version lower than 5.4.0
2018-05-29 08:55:08 +02:00
w0rp
f84411f3f1
Remove a test for a deprecated variable that seems to trip up Travis 2018-05-28 20:08:27 +01:00
w0rp
f2837b5802
#1524 - Define global variables where they are needed 2018-05-28 19:19:20 +01:00
w0rp
18509195f5
#1524 Do not try to check buffers with empty filetypes 2018-05-28 17:38:14 +01:00
w0rp
ce89d93e1c
Remove a now defunct test 2018-05-28 17:11:21 +01:00
w0rp
8a659b7cc6
Fix #1566 - Add g:ale_python_flake8_change_directory 2018-05-28 16:34:54 +01:00
w0rp
d9717147bf
Close #1559 - Report errors from LSP servers in :ALEInfo 2018-05-28 16:24:15 +01:00
w0rp
3c55cb087d
Close #1553 - Support some tsserver completion for strings 2018-05-28 15:16:15 +01:00
w0rp
ef1ec5341f
Fix #1568 - Filter LSP completion results with the prefixes 2018-05-28 14:45:07 +01:00
w0rp
cd0dc0a227
Fix #1611 - Fix perlcritic escaping on Windows 2018-05-28 12:51:06 +01:00
w0rp
29a9c9a255
Merge pull request #1564 from aliou/ad-alefix-fixer-cmdline-completion
Use the command line to filter ALEFix's command line completion.
2018-05-26 21:34:29 +01:00
w0rp
b67c9a83b2
Merge pull request #1574 from hecrj/elm-0.19
Support Elm 0.19
2018-05-26 09:19:30 +01:00
w0rp
51a063be31
Move the sasslint handlers to one location 2018-05-25 20:59:35 +01:00
w0rp
8d49da1f1c
Merge pull request #1573 from zed0/master
Run sass-lint from the target's directory
2018-05-25 20:48:16 +01:00
Gerry Agbobada
3a3c244723 TUI / GUI tooltip with content from ALEHover (#1556)
* Guard the ballooneval settings

* Mark main objectives to do to get nice Hover

* Make tweaks to make the tooltip work - See " XXX: comments

* Guard balloon_show call

* Use return instead of finish for functions

* ale#hover#show : Add optional arguments to specify arbtirary position

This change is requested to be able to call the function with mouse
position to enable hover information in vim's balloon

* ale#ballon#Disable : Remove feature guards

* ale#balloon : Show 'ALEHover' output on balloon if no diagnostic found

* ale#hover#HandleLSPResponse : remove the check for cursor position

This check prevented the 'ALEHover in balloon' feature, since mouse
position is almost never cursor position.

* ale#balloon#MessageForPos : Change the return of balloonexpr

balloonexpr evaluation now works even without balloon_show for basic
diagnostics, leaving the balloon_show call to ale#hover#Show, which can
then feature guard the call to avoid errors

* ale#hover#Response : Feature guard balloon_show calls

* ale#hover : always display 'Hover' information in messages

Also add a small comment to warn readers the different outputs the
ale#hover#Show will write to

* {LSP,TS}Response : use only variables from the Response

It is clearer that we only rely on l:options to get the relevant data to
build the LSP Response string

* hover#ShowDetails : fix an issue where not having focus broke balloons

The issue was caused by not using a buffer-specific version of getline()
to cap the value of the column sent in the message to LSP. Therefore a
cursor on column 10 in an inactive window could send a message with
column=0, if the active window had a buffer with too few lines

* {LSP,TS}Response : Remove redundant checks for balloon_show call

With the upcoming change in ale_set_balloons default value (see Pull
Request w0rp/ale#1565), this check will be useless

* balloonexpr? : Add a flag to separate hover#Show() calls

The goal of this flag is to make `:ALEHover` calls not pop a balloon
under the cursor, since the user has probably no interest in their
cursor while typing the command

The flag is a default argument which is overridden only in ballonexpr
call of ale#hover#Show, and stays set in the hover_map until the
callback for the LSP handles it.

There are no automated tests for this feature right now, and the nature
of the addition (one optional argument in the API) should make it
transparent to existing tests.

Since the differentiation is now possible, the check for moved cursor
has been put back in ale#hover#HandleLSPResponse

* ale#hover#hover_map : Protect accesses to hover_map

Using get() is safer than trying to access directly with ., as the tests
show.

* Raise timeout to try to get Appveyor happy

* Review : Fix comments

* Review : pass the optional argument 'called_from_balloonexpr' in a Dict

This optional dictionary has documentation just before the function
using it, ale#hover#Show, and allows easier extension in the future.
2018-05-16 21:23:48 +01:00
w0rp
c1da7866d0
Fix #1584 - Make duplicate msgfmt messages easier to navigate 2018-05-15 18:01:49 +01:00
Héctor Ramón Jiménez
b071f1a795 Make Elm linter backwards compatible with Elm 0.18 2018-05-15 17:06:52 +02:00
Ben Falconer
8a1099bb59 Run sass-lint from the target's directory 2018-05-15 14:36:31 +01:00
Héctor Ramón Jiménez
115952fae3 Show Elm.Kernel as location when report.path is null in a general problem 2018-05-12 20:27:33 +02:00
Héctor Ramón Jiménez
c3f61c391b Use message as text instead of title
`title` does not contain much information which forces to use :ALEDetail most of the time
2018-05-12 04:16:14 +02:00
Héctor Ramón Jiménez
2f40da76e6 Test global problems and imported module errors 2018-05-11 20:07:28 +02:00
Héctor Ramón Jiménez
d40f447931 Upgrade Elm linter to support 0.19 error reports 2018-05-11 19:15:40 +02:00
rhysd
168569b8b0 Fix condition to test a balloon feature 2018-05-11 19:07:16 +09:00
Aliou Diallo
199fcd48ac
Use the command line to filter ALEFix's command line completion. 2018-05-10 16:15:08 +02:00
w0rp
38c66d33fe
Merge pull request #1563 from IngoHeimbach/fix/gcc-fatal-error
Fatal GCC errors are handled as errors not warnings
2018-05-09 09:14:38 +01:00
Ingo Heimbach
5fe74c7dc8 Fatal GCC errors are handled as errors not warnings 2018-05-09 09:01:41 +02:00
Øyvind Ingvaldsen
3bc07b482b Fixed handle test for Windows
Needed to add correct separator to test data.
2018-05-04 23:04:45 +02:00
Øyvind Ingvaldsen
df8c45ed55 smallfix 2018-05-04 22:33:08 +02:00
Øyvind Ingvaldsen
27144eee8c Added NASM linter
Added NASM linter (for nasm filetype).
2018-05-04 21:44:32 +02:00
w0rp
726a768464
Merge pull request #1550 from deivid-rodriguez/bundle_option_for_mdl
Add bundle option to mdl
2018-05-03 22:20:39 +01:00
w0rp
e2c33f2f6c
Add g:ale_completion_excluded_words for completion filtering 2018-05-03 11:17:41 +01:00
David Rodríguez
f11637b62b Add bundle option to mdl 2018-05-01 19:49:45 -03:00
Bjorn Neergaard
ae85695543 Update run-tests to make use of /usr/bin/env (#1548)
* Update run-tests to make use of /usr/bin/env

* Update run-vint

* Update run-vader-tests

* Update custom-linting-rules

* Update custom-checks

* Update check-toc

* Update check-supported-tools-tables
2018-05-01 13:18:03 +01:00
w0rp
3331f6c8f4
Merge pull request #1543 from vancluever/f-add-JobStartedAutoCmd
Add ALEJobStarted User autocommand event
2018-04-29 20:16:59 +01: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
9da015f74f
Add test for ALEJobStarted 2018-04-27 22:00:50 -07:00
w0rp
6ab3fdc4d0
Close #1521 - Allow the language to be set with simple strings for LSP linters 2018-04-27 22:52:11 +01:00
Andreas Kloeckner
603e61ad71 flake8: Move to the buffer's directory before running flake8 command 2018-04-26 18:53:44 -05:00
w0rp
d8d09c2048
Close #1428 Implement LSP hover-like functionality for tsserver too 2018-04-26 21:54:11 +01:00
w0rp
41c0b837ae
#1278 Allow linters to be defined pretty much anywhere 2018-04-24 21:48:33 +01:00
w0rp
ebbf7d0353
#1428 Show multiline hover messages, and document the new command 2018-04-24 21:03:06 +01:00
w0rp
7d6a303592
Move autocmd commands out of the toggle file, to improve load times 2018-04-23 10:16:48 +01:00
w0rp
ef130c4428
#1428 Start implementing LSP hover support 2018-04-22 22:00:25 +01:00
w0rp
286abd12d3
Add support for finding references using LSP servers or tsserver 2018-04-22 19:49:30 +01:00
w0rp
5a365e7926
Merge pull request #1517 from kfly8/perltidy-fixer
Added perltidy fixer
2018-04-22 18:02:19 +01:00
w0rp
87ad4dfbe7
Implement a preview window for selecting locations to open 2018-04-22 15:53:01 +01:00
w0rp
d8a673515a
Close #1162 - Implement completion support with LSP servers 2018-04-22 12:28:19 +01:00
Kenta, Kobayashi
498be478be add perltidy fixer 2018-04-21 22:09:38 +09:00
w0rp
20241c87ef
Merge pull request #1511 from elebow/add-cucumber-checker
Add `cucumber` checker for Cucumber files
2018-04-21 09:23:07 +01:00
Eddie Lebow
1e6651e0a0 Add cucumber checker for cucumber files
For now, it only detects undefined steps. The nearest `features` dir
above the buffer file is loaded, so step definitions should be found
correctly.

Tested only with Cucumber for Ruby, but it should work for any cucumber
that follows a substantially similar directory structure.
2018-04-20 22:54:29 -04:00
fenuks
f16384f323 Add tests for ALEFix commandline parameters 2018-04-18 02:13:24 +02:00
w0rp
f9ba3d924f
Fix #1507 - Add an option for disabling switching directories for pylint 2018-04-17 13:30:30 +01:00
w0rp
fb720251bf
Close #1504 - Add an option for removing --respect-pragma for flow 2018-04-15 12:25:15 +01:00
w0rp
a0aa9aa9b7
Fix #1495 - Fall back to /bin/sh when shell=pwsh 2018-04-12 21:01:35 +01:00
w0rp
0cd8e8630b
#1497 Tolerate important ALE variables being undefined for some reason when viewing buffers like git commits 2018-04-12 20:31:45 +01:00
eyenseo
6c93cded64 Fix rust rls linter toolchain argument
This removes the argument if the specified toolchain is empty.
As far as I can tell there is no +nighly (or similar) option [1] leading to
the termination of the server. But since people needed this option and
have yet to complain about it it stays the default for now.

[1] https://github.com/rust-lang-nursery/rls/blob/master/src/main.rs#L87
2018-04-12 20:42:38 +02:00
w0rp
f064ba48f5
Close #1494 - Prefer displaying higher severity problems for cursor messages, balloons, and highlights 2018-04-10 21:05:22 +01:00
w0rp
3f0e1cd05d Fix #1492 - Make pylint error parsing work on Windows 2018-04-10 15:18:16 +01:00
w0rp
697fd4ac75
Merge pull request #1488 from languitar/pmd
Add support for the java PMD linter
2018-04-09 19:22:14 +01:00
w0rp
719b790574
Close #542 - Add an option for disabling running locally installed executables by default 2018-04-09 19:11:20 +01:00
Johannes Wienke
49c4bfde14 Add support for the java PMD linter 2018-04-09 17:48:00 +02:00
rhysd
4903b966a7 pylint: Move to the buffer's directory before running pylint command (Fix #1472) 2018-04-09 16:43:10 +09:00
w0rp
2f2dcb8444
Close #1476 - Make the javac executable configurable 2018-04-08 20:35:06 +01:00
w0rp
7cf3ddf6c4
Close #1439 - Add an :ALEInfoToFile command 2018-04-08 19:04:07 +01:00
w0rp
1123669839
Close #1315 - Make the vint executable configurable 2018-04-08 18:10:00 +01:00
aspidiets
f9ae58849a
Fix #1424 - Make the brittany fixer work 2018-04-08 17:38:43 +01:00
w0rp
91d7e81ebc
Fix #605 - Support vcol: 1 for multi-byte character positions 2018-04-08 17:17:46 +01:00
Adriaan Zonnenberg
121e806423 Add g:ale_php_cs_fixer_options variable (#1477)
* Add g:ale_php_cs_fixer_options variable

* Fix test
2018-04-07 23:53:03 +02:00
Jack Evans
c5d3af04fc Added support for Python black fixer (#1451) 2018-04-06 11:08:25 +02:00
P M
85a2a00826 Integration of qmlfmt linting tool (#1462)
* Add first qmlfmt support

* Add GetCommand() function

- pass --error/-e option

* Add handle unittest

- fix pattern regex
- store col as integer

* Update docs

* Add command callback unit test
2018-04-05 21:09:41 +02:00
Nils Leuzinger
912f632bf5 Add fsc linter for Scala (#1452)
* Add fsc as a Scala linter

* Pull reused code into `autoload/ale/` directory

* Include fsc into the README

* Add unit test for testing the scala handler

* Add unit test for scala's fsc linter

* Rename scala unit tests for clarity

* Fix typo in README

* Fix typos in doc/ale.txt

* Fix author headline

* Put methods for fsc commands back into fsc.vim

* Move command_callback tests to correct location

* Rewrite handler test so it actually tests handler

* Clarify description of test in test_scala_handler
2018-04-05 21:04:11 +02:00
w0rp
8baab691e9
Merge pull request #1429 from stewy33/master
Add support for Mercury language using mmc as a linter.
2018-04-05 12:34:45 +01:00
w0rp
95ec9bb780
#1167 Use the make -n parsing for C++ compilers, and document the new option 2018-03-27 19:24:22 +01:00
w0rp
018831d601
Merge pull request #1434 from roel0/master
Automatically determine build flags by parsing `make -n` output #1167
2018-03-27 09:55:43 +01:00
roel0
dfb3e194d7 Extended unit tests + simplified parsing algoritme #1167 2018-03-27 10:18:24 +02:00
w0rp
27c5faeafe Use the --stdin-filename option for textlint, so configuration files will be discovered better 2018-03-26 10:35:10 +01:00
w0rp
8e9ae59e5e Fix paths for running tests on Windows 2018-03-26 09:58:48 +01:00
w0rp
8b34a4bf6b Fix config and executable issues with the textlint linter 2018-03-26 09:55:18 +01:00
Stewy Slocum
84952918cc add support for mercury language using mmc as linter 2018-03-25 13:33:24 -04:00
w0rp
164c711b3d
Fix #1404 - Do not show balloons when g:ale_set_balloons is 0. Add b:ale_set_balloons 2018-03-25 12:57:08 +01:00
P M
107516c757 Add basic qmllint support (#1419)
* Add basic qmllint support

* Use temp file, remove superfluous error code key, adjust author info

* Add qmllint handler parse test
2018-03-25 11:55:59 +01:00
w0rp
dbf530e87f Fix #1373 - Fix a bug with Fish errors not being handled on Linux 2018-03-23 12:17:54 +00:00
Adrián González Rus
87217ae347 fix: Handle ranges for the remark linter #1207 2018-03-22 11:47:16 +01:00
roel0
cf62ef7b07 Fixed windows compatibility unit tests #1167 2018-03-21 20:56:29 +01:00
roel0
69237a7e57 Added additional unit tests + adapted review comments #1167 2018-03-21 20:44:35 +01:00
roel0
7593e20377 Fix failing unit tests for windows 2018-03-21 07:37:32 +01:00
roel0
18d0aeb1a0 * Shell commands should by called async with the help of a command chain
* The makefile parser unit test should only test the cflag parser itself
#1167
2018-03-20 21:49:31 +01:00
w0rp
64c95d4881
Merge remote-tracking branch 'tylucaskelley/master' 2018-03-20 20:27:50 +00:00
Ben Paxton
6452c5e2f0 Use govet handler for gosimple, gotype, staticcheck 2018-03-20 14:19:48 +00:00
roel0
3fb7efa2c6 Added some unit tests and fixed some linting errors for automatic makefile parsing in C #1167 2018-03-20 11:56:46 +01:00
Ben Paxton
0cb3e36554 Lint whole package for gosimple and gotype
Fixes #936
2018-03-19 15:52:42 +00:00
w0rp
43e8f47e6e
#1431 Normalize paths when checking for temporary paths on Windows 2018-03-18 20:39:50 +00:00
INOUE Yosuke
68b9399d4c handle multibyte string when linting text with redpen (#1416)
* handle multibyte string when linting text with redpen

* fix error when no string is provided, fix test's expect value

* remove ambiguious `==` operator
2018-03-18 18:12:47 +00:00
w0rp
434f22e44a
Merge pull request #1415 from fohte/fixer-rufo
Add rufo fixer for Ruby files
2018-03-18 17:42:07 +00:00
w0rp
440502dc93
Clean up the mix format command and tests 2018-03-18 17:40:34 +00:00
w0rp
92612a9eab
Merge pull request #1410 from fribmendes/frm/mix_format_options
Allow passing options to mix_format
2018-03-18 17:36:33 +00:00
Hideaki Tokida
1b1e53ef61 add textlint support for markdown (#1383) 2018-03-18 17:28:26 +00:00
w0rp
c112ee9dff
Fix #1392 - Only check files on disk for gotype 2018-03-18 17:16:13 +00:00
w0rp
bdd8d2399f
#416 Escape the tslint command 2018-03-18 16:48:28 +00:00
Martin Tournoij
302f69e933
Add ALEFixPre and ALEFixPost events
To run autocmd before and after every fix cycle.

Fixes #623 (`ALELintPre` was added in #1203).
2018-03-17 18:24:38 +00:00
Anthony DeDominic
92e6e4d1ba Fix awk linter and security concerns. (#1411)
* Fixed (g)awk linter

 * Made it secure, albeit less useful.
 * Added gawk handler; the cpplint one was not working?
 * Added gawk handler test.
 * added warning to gawk handler.
 * added gawk command callback test
 * added comment about --source

* added back optional commandline option
2018-03-14 17:46:57 +00:00
Hayato Kawai
7e1a9a9810
Add rufo fixer for ruby files 2018-03-11 13:33:57 +09:00
w0rp
05d39bc1a9
Merge pull request #1395 from gfontenot/gfontenot/fix-elm-format-name
Fix elm-format fixer name
2018-03-10 10:51:27 +00:00
Christian-Gibbons
b586eba4a4 Handle flawfinder severity level (#1400)
* Handle flawfinder severity level
* Reverted code allowing Flawfinder to piggyback off of gcc's format handler
* Gave Flawfinder its own format handler and made requested changes.
2018-03-10 10:44:55 +00:00
Fernando Mendes
6320ce6674 Allow passing options to mix_format 2018-03-08 15:29:10 +00:00
Gordon Fontenot
9258c73680
Fix elm-format fixer name
Support for elm-format as a fixer has existed since Sept 2017, but it's not
easy to discover because the fixer was named `format`. This breaks the
convention of the other fixers that use the full name in the registry.

I've gone ahead and fixed this discrepancy, but I left the existing registry
entry in place. We should move people towards using `elm-format` as the fixer
name, but I'd hate to break existing setups.
2018-03-08 09:19:12 -06:00
w0rp
0a0535546f Add a command for stopping all LSP clients 2018-03-06 10:23:55 +00:00
Ty-Lucas Kelley
32091fb8ad add test for markdownlint hander 2018-03-03 19:32:32 -05:00
w0rp
08cfd5f90c
Close #1379 - Increment b:ale_linted when a buffer is checked 2018-03-03 16:22:56 +00:00
w0rp
565ffa0dc5 Use the configured mdl executable, escape it in the command, and add test for it 2018-03-03 13:27:19 +00:00
Olaf Alders
8a77290553 [WIP] Begin to distinguish between Perl warnings and errors (#933)
* If a Perl script compiles, there are only warnings and no errors

* Let the first Perl error or warning win.

Take the following example:

***

sub foo {
    my $thing;

***

This might have the following messages when we compile it:

Missing right curly or square bracket at warning.pl line 7, at end of
line
syntax error at warning.pl line 7, at EOF
warning.pl had compilation errors.

With the current behaviour, we just get a "syntax error" message, which
isn't all that helpful.  With this patch we get "Missing right curly or
square bracket".

* Fix variable scope and pattern matching syntax

* Use named variable to enhance clarity when matching Perl output

* Add more tests for Perl linter

* Remove unnecessary parens

* Simplify check for pattern match
2018-03-02 21:04:52 +00:00
w0rp
b6bf6ecdbc Try to fix it again 2018-03-02 20:57:55 +00:00
w0rp
540952ca8e Try to fix a test which is failing on Windows 2018-03-02 20:47:21 +00:00
w0rp
ad7ffe2875
Merge pull request #1390 from jdeniau/jd-feat-phpCsFixer
add php-cs-fixer to list of fixers
2018-03-02 20:40:31 +00:00
w0rp
2c2c7ceb1d Fix #1384 - Handle warnings and suggestions for tsserver 2018-03-02 20:33:45 +00:00
Andrew Crites
acbe527e15 Option to open lists vertically (#1381)
* Add configuration option to open lists vertically

* Add tests, clean up vertical list config

* Vertical list option cleanup

* Use is# for tests
* Order properties in documentation alphabetically
2018-03-02 20:22:29 +00:00
Julien Deniau
fbbb8c17d9 add php-cs-fixer to list of fixers 2018-03-01 15:48:47 +01:00
Christian-Gibbons
82f8a04e18 New linter: Flawfinder (#1361)
* Flawfinder support added for C and C++

A minor modification to gcc handler was made to support flawfinder's
single-line output format that does not have a space following the
colon denoting the warning level.  gcc handler still passes its
Vader tests after this modification.

* Documentation fixes

* Revert documentation regression

* Added Flawfinder to table of contents

* Removed trailing whitespace

* Follow ALE conventions better

Added additional documentation and Vader tests
2018-02-25 14:11:04 +00:00
w0rp
b6ccd60dd0
Merge pull request #1351 from svanharmelen/f-issue-936
This fixes issue #936 by linting the whole package
2018-02-25 11:54:05 +00:00
John Eikenberry
4941bd8d0e Fix #1358, fix #1369 - Lint the package on save for go vet instead 2018-02-25 11:39:45 +00:00
Sander van Harmelen
ab5257c344 This fixes issue #936 by linting the whole package 2018-02-20 16:11:35 +01:00
w0rp
89f8d3e456 Fix #1336 - Print a friendly message when using invalid function names for fixers 2018-02-18 10:13:30 +00:00
w0rp
5915a0ee39 Escape the ponyc executable 2018-02-18 10:06:40 +00:00
w0rp
608b6dafd4
Merge pull request #1343 from kevinkjt2000/ponyc
Add Support for Ponylang
2018-02-18 09:48:35 +00:00
w0rp
5972b97223 #476 Make F401 a warning and E112 a syntax error 2018-02-18 09:44:04 +00:00
Kevin Tindall
716b46e10d
functional pony linter 2018-02-10 13:17:53 -06:00
Fenner Macrae
5dc884b24d Fixed lintr::lint_package command 2018-02-05 09:54:15 -08:00
Fenner Macrae
dda132c1a2 Add lint_package support to lintr 2018-02-04 10:57:52 -08:00
w0rp
33b3331b04 #1206 Add support for setting options for gobuild, and escape paths better 2018-02-04 13:55:09 +00:00
w0rp
0f822b063c Fix #1330 - Find isort configs better by changing the working directory 2018-02-04 13:16:44 +00:00
w0rp
31e0f48d62
Merge pull request #1326 from michaelquinn32/patch-1
Call lintr library before linting
2018-02-04 11:38:05 +00:00
Michael Quinn
b13f290390 Update formatting and tests. 2018-01-31 18:06:35 -08:00
w0rp
52fe924a13
Merge pull request #1308 from lorenzo/patch-1
Improving hadolint checker
2018-01-30 16:04:44 +00:00
Jose Lorenzo Rodriguez
4df87eaadd
Added tests for hadolint 2018-01-29 22:21:50 +01:00
w0rp
c589e3d57d
Merge pull request #1322 from datanoise/master
fixed rust errors parsing
2018-01-29 13:54:50 +00:00
Kent Sibilev
863fb60695 updated rust handler test case 2018-01-28 18:35:46 -05:00
w0rp
65fc5d11c7 Fix #1038 - Automatically detect and use htmlhint configuration files 2018-01-28 12:44:42 +00:00
w0rp
7ef55a8615 #1303 jq isn't a Node program 2018-01-28 11:51:20 +00:00
w0rp
9849c79ff7
Merge pull request #1157 from elebow/eruby-add-erubi-linter
[eruby] Add erubi linter
2018-01-24 10:40:57 +00:00
rhysd
b28a6ddbe4 Support fixing JSON files with fixjson 2018-01-24 10:36:31 +00:00
w0rp
7b50b3ec82
Merge pull request #1272 from Codezerker/master
Add a luac linter for Lua
2018-01-19 17:10:29 +00:00
w0rp
a5ec4143d2 Fix the didSave tests so they work in NeoVim 0.1.7, and do not send the message for tsserver 2018-01-19 16:50:04 +00:00
Rafael Lerm
042dec059a Send didSave message to LSP-based linters (#1295)
* Also send didSave to LSP linters.
* Add tests for messages sent to LSP linters.
2018-01-19 16:40:55 +00:00
w0rp
eddda2f8b5 Fix a command wrapper test on Windows 2018-01-17 18:11:20 +00:00
w0rp
045c92ed65 Fix #1298 - Escape commands for PowerShell 2018-01-17 18:08:17 +00:00
Eddie Lebow
aa29c91cdc [eruby] Add erubi linter
Erubi is yet another parser for eRuby. This is the default parser in
Rails as of version 5.1. It supports some additional syntax with similar
behavior to Rails' extensions to the language, though incompatible.
Rails currently still recommends their own syntax, so GetCommand still
has to do the translation introduced in
https://github.com/w0rp/ale/pull/1114 .

Erubi does not supply an executable—It is intended to be invoked only
from within a Ruby program. In this case, a one-liner on the command
line.
2018-01-16 00:38:35 -05:00
w0rp
f6af75aac4
Merge pull request #1268 from bbannier/master
Make it possible to inject flags of protoc invocation.
2018-01-12 20:43:43 +00:00
w0rp
e18aba1d7e
Merge pull request #1270 from kevinkjt2000/test-ghc-options
test for ghc options
2018-01-12 12:11:33 +00:00
w0rp
5005871644
Merge pull request #1256 from jonatanolofsson/master
Fix #1255: Move extra clang-check args to before user options
2018-01-12 12:09:30 +00:00
w0rp
65fa901ef0
Merge pull request #1275 from ipetkov/cargo-features
Teach ALE about cargo features and add some configuration options
2018-01-12 12:04:26 +00:00
Ivan Petkov
2ef45ab745
Teach ALE about cargo features and add some configuration options
* When working on rust/cargo projects of varying sizes, it may be useful
to either build all possible features (i.e. lint all possible
conditionally compiled code), or even turn off other features for a
quicker edit-lint cycle (e.g. for large projects with large build times)
* Added a g:ale_rust_cargo_default_feature_behavior flag for instructing
cargo to not build any features at all (via `--no-default-features`),
building default features (via no extra flags), or building all possible
features (via `--all-features`)
* Also added a g:ale_rust_cargo_include_features flag for including
arbitrary features to be checked by cargo. When coupled with
g:ale_rust_cargo_default_feature_behavior this allows for full
customization of what features are checked and which ones are ignored
2018-01-11 19:24:44 -08:00
w0rp
adba2bd919 Allow syntax errors for mypy to be ignored 2018-01-11 16:43:10 +00:00
jiangzhi.xie
112fcf7dd5 Add a luac linter for Lua 2018-01-08 23:32:02 +08:00
w0rp
68d4a2216c
Fix a syntax error in a test 2018-01-08 13:28:01 +00:00
Kevin Tindall
ff388bbcd5
test for ghc options 2018-01-07 11:41:06 -06:00
Benjamin Bannier
b5a5cdf920 Make it possible to inject flags of protoc invocation.
Typically proto files depend on and make use of proto definitions in
other files. When invoking protoc user can supply paths to inspect for
dependencies.

This patch makes it possible to configure flags passed to protoc. This
makes it e.g., possible to change include paths of the linter's protoc
invocation.
2018-01-07 17:56:56 +01:00
Benjamin Bannier
eecbacb742 Removed unneeded SetDirectory call in proto handler test.
The test already handled arbitrary paths reasonably well, but setting
the directory interfered via leakage with others tests for some reason.

This patch removes the call to `SetDirectory` in the fixture setup and
the subsequent cleanup in the teardown as they are not required.
2018-01-07 17:54:21 +01:00
Jelte Fennema
b6d1c41925 Go: Add gotype support (#1099) 2018-01-07 12:11:01 +00:00
w0rp
c9d66b861b Show more ALE variables in ALEInfo 2018-01-07 12:01:20 +00:00
Jonatan Olofsson
ff8d4c5286 Fix #1255: Move extra clang-check args to before user options 2018-01-02 16:09:38 +01:00
w0rp
e98a3899da
Merge pull request #1254 from bkhl/master
Don't use temporary file for rustfmt fixer
2018-01-02 13:36:20 +00:00
w0rp
80342b119a
Merge pull request #1252 from nthapaliya/fish-shell-linter
Fish shell linter
2018-01-02 13:32:59 +00:00
Björn Lindström
b0eaddadc9 Don't use temporary file for rustfmt fixer
rustfmt normally acts on a file in place, and applies configuration
from rustfmt.toml files according to the path of the file.

Using a temporary file for rustfmt breaks this functionality, so
removing the '%t' from the rustfmt command.
2017-12-27 23:12:57 +07:00
Niraj Thapaliya
3b0c67e42c Add handler test 2017-12-26 14:10:28 -06:00
w0rp
c165c7c5d1 Fix #1251 - Handle an empty list in the line callback when NeoVim crashes 2017-12-26 18:15:59 +00:00
w0rp
e43e7065da Fix #1115 - Add support for wrapping all commands with an option 2017-12-20 12:20:38 +00:00
w0rp
2495744fc3 Fix the gitlint test 2017-12-20 10:49:23 +00:00
w0rp
87ffc9b55c Make the error codes configurable for gitlint 2017-12-20 10:46:08 +00:00
Nick Diego Yamane
d4b43d23f4 Add support for linting git commit message files (#1233) 2017-12-20 10:10:07 +00:00
w0rp
1568bf8128 Fix the mscs tests on Windows, and use the improved Simplify for all tests instead. 2017-12-19 18:23:09 +00:00
w0rp
73f61514c9 Fix #1031 - Make the rust flags configurable 2017-12-19 18:10:29 +00:00
w0rp
cc8e5502c8 Fix #1240 - Parse line and column numbers for fatal embertemplatelint errors 2017-12-19 17:42:51 +00:00
w0rp
0ad2547997 Fix mcsc paths and escaping for Windows 2017-12-19 17:34:34 +00:00
w0rp
f74e22b938 Clean up ALE linter buffer data when buffers are deleted, not unloaded 2017-12-19 15:35:57 +00:00
w0rp
d2bea5c310 Allow the cursor messages to be disabled while Vim is running 2017-12-19 14:43:24 +00:00
w0rp
a7d51afda5
Merge pull request #1221 from JelteF/patch-1
Fix erb linter for puppet style erb templates
2017-12-19 14:09:00 +00:00
Jelte Fennema
532594839c erb: fix tests 2017-12-19 13:21:30 +01:00
Johannes Wienke
79aaec5a99 Missing warning level 'suggestion' for vale
Vale can also, optionally, raise suggestions. These weren't covered yet.
2017-12-18 17:10:57 +01:00
w0rp
fdaac9bd78 Fix #1210 - Fix a Windows path issue which broke TSLint 2017-12-18 13:27:59 +00:00
w0rp
31241e9ed8 Get the TSLint tempname test running on Windows 2017-12-18 12:01:05 +00:00
w0rp
fdde8af894
Merge pull request #1232 from languitar/vale-json
Use JSON output with vale
2017-12-18 10:11:57 +00:00
Nick Diego Yamane
ad1aee0b89 Fix typos in flake8 test messages
Signed-off-by: Nick Diego Yamane <nick.diego@gmail.com>
2017-12-17 16:45:57 -04:00
Johannes Wienke
96b90b45db Use JSON output with vale
Switches all vale instances to JSON output and provides an appropriate
handler for that. Without JSON, no end_col is provided and text
highlighting only catches the first character of every result.
2017-12-17 16:49:57 +01:00
w0rp
c4956657dc
Merge pull request #1220 from languitar/linter-alex
Add a linter for alex
2017-12-17 13:11:49 +00:00
w0rp
fc151d7b30
Merge pull request #1222 from srathbone/master
Fix PHP linter to support PHP 7.2 lint output
2017-12-17 12:41:28 +00:00