Commit graph

1432 commits

Author SHA1 Message Date
w0rp
6aef52f026
Merge pull request #2305 from campbellr/master
javac: Don't assume src/main/java always exists
2019-03-06 10:39:32 +00:00
Nathan Henrie
e5746d9a83 Add lsp_config support for rls (#2332)
* Add lsp_config for rls
* Add working config example and test
2019-03-05 09:09:29 +00:00
Ryan Campbell
4fc27f099b
javac: Don't assume src/main/java always exists
Some projects I have only have src/test/java (no /src/main/java), which
seemed to break some incorrect assumptions the linter had.
2019-03-03 14:43:21 -07:00
w0rp
c4328f2a31
#2132 - Support deferred execution for LSP executables, commands, and addresses 2019-02-27 23:26:32 +00:00
w0rp
37a1d24a36
Skip the command#Run test for fixers on Windows 2019-02-26 16:57:57 +00:00
w0rp
38009b8e58
#2132 - Support deferred fixers 2019-02-26 16:56:16 +00:00
w0rp
70a9176de0
#2132 - Set up fixers for deferred support 2019-02-26 08:35:58 +00:00
w0rp
89e5491862
Revert "#2132 Change (buffer, lines) fixer functions to (buffer, done, lines)"
This reverts commit f1ed654ca5.
2019-02-22 20:48:06 +00:00
w0rp
883978ece9
#2132 - Replace all uses of foo_callback with foo 2019-02-22 18:05:04 +00:00
w0rp
f53b25d256
#2132 - Implement project_root as a replacement for project_root_callback 2019-02-22 15:24:34 +00:00
w0rp
f8aeb5c5a4
#2132 - Make most foo_callback options work as foo 2019-02-22 00:35:53 +00:00
w0rp
ffa45fa3fb
#2132 - Implement deferred command handling for linters 2019-02-21 21:24:41 +00:00
w0rp
a8b987a1c3
Fix #2300 - Handle more URIs per RFC 3986 2019-02-21 19:47:22 +00:00
w0rp
8012e5b60f
Merge pull request #2303 from kevinoid/bandit-use-config
python/bandit: Use .bandit configuration file
2019-02-20 09:58:02 +00:00
Kevin Locke
52c2400786 python/bandit: Use .bandit configuration file
Bandit automatically [uses any .bandit file] within the directories on
which it is invoked.  Since ALE invokes bandit on stdin, it does not
load a .bandit file automatically.  Add support for automatically
finding a .bandit file and passing it to bandit via the --ini option
along with a variable to disable this behavior if desired.

Note: This is useful for the skips and tests configuration options, but
not exclude which would require invoking bandit using a file name, which
may or may not be a good trade-off.

[uses any .bandit file]: https://github.com/PyCQA/bandit/blob/1.5.1/bandit/cli/main.py#L70-L73

Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
2019-02-17 14:24:18 -07:00
Kevin Locke
3300b1aca7 python/pylint: Change directory to project root
Pylint only [checks for pylintrc] (and .pylintrc) files in the packages
aboves its current directory before falling back to user and global
pylintrc.  For projects with a src dir, running pylint from the
directory containing the file will not use the project pylintrc.

Adopt the convention used by many other Python linters of running from
the project root, which solves this issue.  Add pylintrc and .pylintrc
to FindProjectRoot.  Update docs.

[checks for pylintrc]: https://github.com/PyCQA/pylint/blob/pylint-2.2.2/pylint/config.py#L106

Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
2019-02-17 10:40:50 -07:00
w0rp
c3d4e0983b
Try to get tests to pass on Windows again 2019-02-15 16:40:01 +00:00
w0rp
1a69c9c88c
#2295 Send an empty object for the initialized notification, per the spec 2019-02-15 10:44:45 +00:00
w0rp
0d10653a7c
Fix #2295 - Respond to initialize with an initialized message 2019-02-15 08:54:53 +00:00
w0rp
7487ecb957
Simplify code for marking linters as active 2019-02-14 10:10:46 +00:00
w0rp
3140abcd0c
Fix #2293 - Update linter option documentation
* The README now points to a valid helptag for linter options.
* The now very, very large part of the table of contents for linter and
  fixer options has been moved into a section so the initial table is
  smaller.
* Special linter or fixer options now lie beneath the general linter
  or fixer options.
2019-02-13 21:22:02 +00:00
w0rp
3050a132b5
Remove ProcessChain code we do not need now 2019-02-13 17:56:10 +00:00
w0rp
21a8b9f1e3
Make it easier to remove command_chain support later 2019-02-13 17:53:01 +00:00
w0rp
1ee56713b8
#2132 Use an on-init callback for all LSP logic 2019-02-13 17:26:37 +00:00
w0rp
690b1a5bb1
Merge pull request #2291 from kevinoid/pylama-no-temp
pylama: Use %s instead of %t
2019-02-12 21:08:31 +00:00
w0rp
926ad47a49
#2132 - Implement deferred executable string handling for linters 2019-02-12 18:05:33 +00:00
Kevin Locke
a6caa85a58 pylama: Use %s instead of %t
Although using %t to lint changes was desirable, many pylama checks use
surrounding paths and file contents (e.g. C0103 module name, E0402
relative import beyond top, etc.)  The more such errors I find during
testing, the less %t seems like a good idea.  Switch to %s.

Also set `lint_file` to 1 and mark Pylama as a file linter in the docs.

Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
2019-02-12 10:45:26 -07:00
w0rp
df9bee88f6
Rewrite the supported tools lists in new files 2019-02-11 22:07:52 +00:00
Derek Sifford
aca1edb476 add project_root_callback for tsserver (#2290)
* add project_root_callback for tsserver
* add tests for tsserver project root
* Update test/command_callback/test_javascript_tsserver_command_callback.vader
2019-02-11 21:24:22 +00:00
w0rp
6ebe24b5ff
Merge pull request #2268 from m-pilia/alex
Add settings for the Alex linter
2019-02-10 23:43:43 +00:00
w0rp
5dbac4ab9c
Merge pull request #2287 from kevinoid/vulture-options
Document and test ale_python_vulture_options
2019-02-10 23:24:31 +00:00
Kevin Locke
a0d4eb3699 Support ale_sh_shellcheck_dialect to set dialect
As discussed in w0rp/ale#1051, there are cases where it would be useful
to be able to specify the dialect explicitly.  This commit allows users
to do so using the ale_sh_shellcheck_dialect variable.

Fixes: w0rp/ale#1051

Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
2019-02-10 09:00:55 -07:00
Kevin Locke
82b15fb706 Document and test ale_python_vulture_options
The vulture linter already supports ale_python_vulture_options, but it
is not documented or tested.  Since vulture only supports configuration
via options, it is an important use case.  Add docs and test.

Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
2019-02-10 08:18:55 -07:00
w0rp
7a48750610
Complain about binary operators on the ends of lines 2019-02-10 11:43:48 +00:00
Théo Cavignac
d072d2654c Supporting filtered jump (#2279)
* Support filtered jump based on loclist item type (E or W for now)
* Use flags to customize the behavior of ALENext and ALEPrevious
* Update <plug> bindings with flags
* Update documentation about ALENext and ALEPrevious
* Use ale#args#Parse in JumpWrap
2019-02-10 11:11:29 +00:00
Kevin Locke
a24f0b4d5f Support pylama for python (#2266)
* Add pylama for python
* Consolidate python traceback handling
2019-02-08 21:44:34 +00:00
w0rp
ba6f08f3d4
Merge pull request #2262 from sectioneight/cd-for-black
Respect python black fixer configuration file
2019-02-08 20:11:11 +00:00
Alvin Chan
1fb0de2a8e Add -relative option to ALESymbolSearch (#2255)
* Add `-relative` option to ALESymbolSearch
* Document the `-relative` option for ALEFindReferences and ALESymbolSearch
2019-02-08 19:43:04 +00:00
w0rp
d21581016e
Fix #2257 - Fix an off by 1 which broke completion for some servers 2019-02-08 19:31:47 +00:00
w0rp
800d029b46
Merge pull request #2284 from jqno/master
Fixes javalsp linter
2019-02-08 10:08:09 +00:00
w0rp
19cc724807
Add a function for parsing command args 2019-02-07 18:10:34 +00:00
Jan Ouwens
5ce1e9b0b4 Fixes javalsp linter 2019-02-07 11:20:18 +01:00
Francisco Lopes
b47a0c9519 Make Cypher linter dynamic 2019-02-06 20:29:58 -02:00
w0rp
c0c634c5ec
Merge pull request #2270 from oblitum/add-cypher-lint
linter/cypher: add cypher-lint
2019-02-06 22:04:47 +00:00
w0rp
81c73da3b9
#2132 - lint and fix with ale#command#Run
A new function is added here which will later be modified for public use
in linter and fixer callbacks. All linting and fixing now goes through
this new function, to prove that it works in all cases.
2019-02-06 22:00:11 +00:00
w0rp
3e11cbd18d
Update syntax checking
* Line continuation characters should be on the same lines.
* .vim file line indentation should be a multiple of 4.
2019-02-06 18:05:13 +00:00
Francisco Lopes
626572a539 linter/cypher: add cypher-lint 2019-02-03 03:09:51 -02:00
Martino Pilia
771581a945
Add settings for the Alex linter
The executable for the Alex linter is currently hard-coded as 'alex',
which is an issue given the fact that it conflicts with the Haskell
lexer generator, whose executable is also called 'alex', has been around
a dozen years before the linter, and is packaged in the official
repositories of the major Linux distributions.

This commit adds options to use a local executable for the alex linter
(which is a node package), and an option to set a custom executable.

As side changes:
* The pattern in the alex handler is made more readable by turnig it
  into a very-magic regex.
* Alex handles plain text, markdown, and HTML. Specific flags for HTML
  and markdown are provided when instantiating the linters for the
  respective filetypes, while before those formats were treated as plain
  text.
2019-02-02 16:20:14 +01:00
w0rp
4d426bf287
Fix #2263 - detailed Flow errors should show the original message 2019-02-01 13:01:56 +00:00
Aiden Scandella
de29ff26ff
Respect python black fixer configuration file
Similar to other linters/fixers, by default change to the directory of
the file being fixed before invoking `black`, which allows the tool to
read project-specific configuration (pyproject.toml)

Fixes #2218
2019-01-30 14:44:38 -08:00