Commit Graph

1340 Commits

Author SHA1 Message Date
David Briscoe
6d20b6c162
doc: Clarify the types of process_with (#4039) 2022-02-04 20:22:40 +09:00
Linda_pp
0d529d9b94
Add naga linter for WGSL support (#4047)
* Add WGSL support using `naga` command

* Add documents for wgsl

* Add test for `naga` linter

* Separate naga handler callback to hanlder/naga.vim
2022-02-04 16:29:28 +09:00
Justin Huang
d1e2aaf85d
enable using cpplint for c (#3008)
* enable using cpplint for c

* fix tag alignment

* fix tag alignment trial #2

Co-authored-by: Justin Huang <justin.huang@perceive.io>
2022-02-03 22:32:42 +09:00
Tomáš Janoušek
da1e4dcd1e
Allow to configure haskell-language-server LSP config (#4038) 2022-02-02 10:28:52 +09:00
Jeffrey Lau
5087246c82
Add yaml-language-server support for YAML (#2874) (#4029) 2022-01-07 23:57:29 +09:00
Horacio Sanson
76bd059371
Fix 3838 - deprecate datanalyzer (#3839)
Co-authored-by: Horacio Sanson <horacio@allm.inc>
2022-01-05 22:34:47 +09:00
Horacio Sanson
7b8e711877
Fix 4025 - Allow to configure texlab LSP settings (#4027)
* Fix 4025 - Allow to configure texlab LSP settings

* Fix ale_tex_texlab_config type in help
2022-01-05 22:19:32 +09:00
Nathan
ac0495df6e
Add dprint fixer (#4024)
* Add dprint fixer

* Fix windows tests

* dd dprint documentation
2022-01-04 21:49:03 +09:00
Dalius Dobravolskas
5b792c7641
ALEFileRename command added. (#4012)
* ALEFileRename command added.

This command renames file and uses tsserver `getEditsForFileRename` to
fix import paths in Typescript files.

* ale#util#Input fix

* Even more fixes.

* Linting error fix.
2021-12-17 08:09:26 +09:00
thyme-87
091592bfb0
add support for checkov for linting terraform files (#4006)
* add support for checkov for terraform

* add tests for checkov handler

* add basic linter config tests for checkov

* update supported tools and languages lists

* simplify ale_linters#terraform#checkov#Handle

* ensure "-o json --quiet" is always set for checkov

* add documentation for checkov including config options

* fix tests after changing handling of default options for checkov

* add checkov to list of tools in doc/ale.txt
2021-12-11 20:51:26 +09:00
Arnold Chand
de67f4743d
Add volar support for vue (#3992)
* feat-draft: inital volar setup

* feat(volar): add documentation

* feat(volar): include default init opts

* feat(volar): add initial tests

* fix(volar): add possible project roots

* fix(volar): tests - use empty files
2021-11-21 20:02:09 +09:00
David Houston
ea643b97ab
Add cspell Linter (#3981)
* Add cspell linter

Add cspell linter, with the languages it supports.

Signed-off-by: David Houston <houstdav000@gmail.com>

* Add cspell Global Variables Documentation

Add documentation to /doc/ale.txt with cspell configuration options.

Signed-off-by: David Houston <houstdav000@gmail.com>

* Add cspell to docs, Minor Cleanup

Add cspell for each supported language, adding some spaces and removing
others when caught navigating the file.

Signed-off-by: David Houston <houstdav000@gmail.com>
2021-11-19 07:41:05 +09:00
David Houston
2cfeabd1b5
Rewrite Alex Integration to Use stdin (#3982)
Since having been added, the `alex` tool has added support for linting
on stdin. Rewrite this integration to reduce the number of tools
requiring disk-write access.

Signed-off-by: David Houston <houstdav000@gmail.com>
2021-11-18 13:00:45 +09:00
Arie Oldman
3b8ff6536e
Adds PHPActor Linter (LSP) (#3975)
* Adds phpactor lsp linter

* Fixes missing comma

* Adds tests for phpactor lsp linter

* Adds note that this part is not my own work

* Removes unused variable

* Adds phpactor to supported tools list

* Fixes doc sorting

* Wraps phpactor in code tags
2021-11-18 12:54:10 +09:00
Utkarsh Verma
1e0e76bf96
Add support for AVRA linting (#3950)
* Add support for AVRA linting

* Add tests for AVRA linting and improve code

* Fix test

* Fix warning detection

* Fix test

* Fix test

* Add AVRA as a supported language in docs
2021-11-15 19:41:03 +09:00
Arie Oldman
ff26ed7231
Adds --memory-limit support for phpstan (#3973)
* Adds --memmory-limit option for PHPStan linter

* Updates docs for phpstan --memory-limit option.

* Adds Arizard to authors

* Adds test for phpstan memory limit parameter

* Fixes order of parameters in test

* Changes dash to underscore
2021-11-12 14:18:49 +09:00
David Houston
a9d7f45924
Implement statix Linter and Fixer (#3969)
* Add Statix for Linting

Add `statix check` as a linter. Provides a simple set of definition
tests additionally. Variable names specify "check" to allow for later
addition of `statix fix` as a formatter once stream support is added.

Signed-off-by: David Houston <houstdav000@gmail.com>

* Fixup Supported Tools List

I didn't realise there were two separate lists of tools, so add statix
to the other list. Also, remembered "S" comes after "R", and so
re-ordered it.

Signed-off-by: David Houston <houstdav000@gmail.com>

* Fix statix Test File

I refactored the variables for statix to allow for writing a fixer
later, and forgot to update them in the test, so update them now. Also
remove a stray "i", add missing space before checks

Signed-off-by: David Houston <houstdav000@gmail.com>

* Update Output Stream for v0.4.0

statix v0.4.0 provides a breaking change of output stream from stderr to
stdout.

Signed-off-by: David Houston <houstdav000@gmail.com>

* Add statix fix Fixer

Implement statix fix as a fixer for simple Nix antipatterns.

Signed-off-by: David Houston <houstdav000@gmail.com>

* Fix statix Fixer Tests

Fix the statix fixer tests by removing the unnecessary
'read_temporary_file' value from the command, since it simply uses the
default value.

Signed-off-by: David Houston <houstdav000@gmail.com>

* Add statix Handler Test

Add a test for the statix handler per @hsanson's request.

Signed-off-by: David Houston <houstdav000@gmail.com>

* Fix to run only on stdin for linting

Signed-off-by: David Houston <houstdav000@gmail.com>
2021-11-12 07:34:25 +09:00
David Houston
8b3b16d71c
Implement gofumpt Fixer (#3968)
* Implement gofumpt Fixer

Add an implementation with test and documentation for the gofumpt go
code formatter, a stricter formatter than your standard "go fmt".

Signed-off-by: David Houston <houstdav000@gmail.com>

* Add gofumpt to ale.txt TOC

Forgot to add gofumpt to the ALE vim help Table of Contents, so do so.

Signed-off-by: David Houston <houstdav000@gmail.com>

* Fix Test Setup Method Capitalization

I had put "Setup" instead of "SetUp" for "ale#assert#SetUpFixerTests".
Fix such.

Signed-off-by: David Houston <houstdav000@gmail.com>

* Fix typos

Add a missing space, remove an extra bracket by actually running tests
locally first. Would've been smart to do that from the beginning...

Signed-off-by: David Houston <houstdav000@gmail.com>
2021-11-09 16:53:44 +09:00
Benjamin Bannier
92f08b5af2
Add support for zeek (#3952) 2021-10-24 21:05:55 +09:00
Roeland
1ee7580557
Add support for erblint (#3931)
* support for erblint

* fix tests

* test for handler

* wrong names

* typo

* doc layout

* CI failed?
2021-10-09 14:33:07 +09:00
a666
f9deee0e41
Add flakehell python linter (#3295) (#3921) 2021-10-02 16:37:57 +09:00
Arnold Chand
19b0f72c23
feat: add deno lsp for javascript (#3924)
* feat(js/deno): add deno lsp

* fix(doc/typescript): typo

* feat(doc/javascript): add deno lsp information

* feat(doc/supported-tools): add deno to js list, sorted

* fix(doc/javascript): update ToC and supported tools w/ deno
2021-10-02 09:51:22 +09:00
Magnus Groß
708e810414
Implement virtual text support for vim (#3915)
This requires the textprop and popupwin feature (vim 8.2).

Fixes #3906
2021-10-02 09:02:49 +09:00
Trevor Whitney
f8a4c78b5b
Add support for jsonnetfmt and jsonnet-lint (#3907)
* update to lates

Signed-off-by: Trevor Whitney <trevorjwhitney@gmail.com>

* fix up docs

Signed-off-by: Trevor Whitney <trevorjwhitney@gmail.com>

* fix docs

Signed-off-by: Trevor Whitney <trevorjwhitney@gmail.com>

* get tests passing

Signed-off-by: Trevor Whitney <trevorjwhitney@gmail.com>

* update regex

Signed-off-by: Trevor Whitney <trevorjwhitney@gmail.com>

* use ale#Pad and AssertFixer

Signed-off-by: Trevor Whitney <trevorjwhitney@gmail.com>
2021-09-21 10:49:15 +09:00
Horacio Sanson
31349f208b
Update ALE test docs to mention NVim 0.5 (#3904) 2021-09-16 12:16:08 +09:00
Oliver Albertini
f769f64c07
[ale-python-root] add .pyre_configuration.local to list of files (#3900)
Without this, we have one `pyre` process running across different pyre
projects. With this change, files in different projects can be linted
with pyre at the same time.

Co-authored-by: Oliver Ruben Albertini <ora@fb.com>
2021-09-15 21:07:45 +09:00
Samuel Branisa
19437e25d0
Robot framework rflint support (#3715)
* Create rflint.vim

support for robot framework by creating ale definition for rflint syntax linter

* robot framework - rflint support
2021-09-11 09:19:17 +09:00
Horacio Sanson
bf29f6ea92
Fix 3897 - add poetry to isort (#3898)
Co-authored-by: Horacio Sanson <horacio@allm.inc>
2021-09-10 15:18:41 +09:00
Jon Parise
8fd23f4b71
Introduce an ALELSPStarted autocommand (#3878)
This User autocommand is trigged immediately after an LSP process is
successfully initialized. This provides a way to perform any additional
initialization work, such as setting up buffer-level mappings.
2021-09-05 10:07:53 +09:00
Jelte Fennema
d53a085096
Add fixer for "dotnet format" (#3879)
The .NET ecosystem has an official tool for formatting its files: `dotnet format`
This adds support for that tool to ALE.
2021-08-25 15:27:04 +09:00
João Pesce
f896744fee
Close #3872 - Add eslint-plugin-jsonc as a linter for JSON, JSONC and JSON5 (#3873)
* Add eslint as linter for JSON, JSONC and JSON5

Use the same lint configuration as eslint for javascript.

* Add documentation for JSON* eslint support

* Fix spacing in documentation

* Update docs to be unopinionated about plugins

Remove any preference for eslint plugins, since there are more thant one
that would work

* Reorder languages and tools in alphabetic order

* Fix misalignment

* Change orders to pass the tests
2021-08-21 10:02:56 +09:00
toastal
a099fe24b2
Dhall fixes: use stdin, doc errors (#3868)
* purs-tidy

* Dhall fixes: use stdin, docs errors
2021-08-09 20:43:50 +09:00
pigfrown
836125391a
Adds fixer for golines (#3862)
* Adds fixer for golines

* Repositions golines docs to be in alphabetical order

* Fixes golines doc tag

* Fixes formatting for golines docs
2021-08-09 10:13:43 +09:00
Horacio Sanson
d6f5fb69ad
Fix 3853 - Update 💾 icon on supported tools list. (#3854)
Look for all linters that have "lint_file" set to 1 and verify tools
that have it have the :floopy_disk: icon set and those that don't do not
have it.

Correspondingly added/removed !! on
ale-supported-languages-and-tools.txt file.

Co-authored-by: Horacio Sanson <horacio@allm.inc>
2021-08-08 22:15:36 +09:00
toastal
775d121d46
purs-tidy for PureScript (#3863)
* purs-tidy

* update email address for toastal
2021-08-08 22:09:21 +09:00
Jon Parise
2dd9790281
Add a thriftcheck linter (#3852)
ThriftCheck (https://github.com/pinterest/thriftcheck) is a linter for
Thrift IDL files.
2021-08-04 09:29:07 +09:00
Jon Parise
8ecf32f3fe
Add missing space before function reference (#3849) 2021-08-03 08:29:11 +09:00
Jon Parise
dce088a4f0
Correct the spelling of :ALEComplete (#3843) 2021-07-28 20:40:59 +09:00
ghsang
73d32335fe
Add support for dart analyze (#3825) 2021-07-25 13:48:12 +09:00
Arnold Chand
8c591996a8
Add importMap option to deno Initialization Options (#3827)
* feat(deno): move init options to handlers

* feat(deno): add deno lsp support for js files

* feat(deno): use default map option

* feat(docs): add deno import map option

* feat(deno): add tests for importMap option

* fix(deno): use full path in importMap

* feat(deno): remove deno as linter for js, separate PR

* fix(deno): test for executable

* fix(deno-test): include filename to simplify function
2021-07-25 13:39:56 +09:00
Daniel Roseman
7d8fb2ba17
Python support poetry (#3834)
* Add poetry support to python linters and black fixer.

* Update python.vim to detect poetry project.

* Update ale.vim, add an option for poetry `g:ale_python_auto_poetry`.

* Update ale-python.txt, add poetry support.

* Add and update poetry related tests.

Co-authored-by: unc0 <unc0@users.noreply.github.com>
2021-07-25 13:39:05 +09:00
D. Ben Knoble
530b38de34
Vim popup (#3817)
* implement vim popups for preview

Details on implementation
-------------------------
- we make use of the |popupwin| api
- we split implementations (Nvim* vs. Vim* prefix) and call the right
  one based on has('nvim')
- we follow a similar structure in each function, using the relevant API
  - popup_list, win_execute, popup_settext in VimShow
  - popup_create in VimCreate
  - popup_close in VimClose

Some differences
----------------
- we DON'T have VimPrepareWindowContent because we use arguments to
  popup_create for borders, padding, etc., and it also takes care of
  buffer creation.
- we follow the protocol of setting and using w:preview for information,
  but we only need the ID
- InsertEnter is the only autocommand required, because of
  popup_create's moved argument. Any cursor movement with 'any' will
  close the popup. This in turns means VimClose is only called from
  InsertMode, so no mode-restoration necessary
- we don't tweak too much in the buffer because vim's popup buffers
  already have most relevant settings and aren't editable without
  calling popup functions.
- I enabled scrollbars, close buttons, dragging, and resizing
- vim popups get as big as they need to by default, so no worrying about
  truncating/hiding/size

Note: we might want to consider changing w:preview to w:ale_preview to
avoid clashes if someone else tries to use the same variable

* floating window: document that vim supports it

* lint: fix indent/cont. lines
2021-07-23 21:59:31 +09:00
foobarbyte
c1c3873c89
Correct typo in python config filenames (#3826)
* Correct typo in a config file filename.

.tool_versions should be .tool-versions

* Correct typo in config file names.

.tool_versions should be .tool-versions
2021-07-20 18:14:45 +09:00
D. Ben Knoble
651038b601
racket: support racket-langserver lsp (#3808)
* racket: support racket-langserver lsp

* racket-langserver: find highest dir with init.rkt

* autoload/ale/racket: re-indent to 4 spaces

* racket: lint: sort supported tools

* racket: lint: function!

This is _not_ needed anymore, but the lint wants it. See :help E127

* racket-langserver: do not use new dict format

* racket: lint: use snake_case

* add tests for racket-langserver

* racket-langserver tests: correct result values
2021-07-20 10:02:23 +09:00
莊喬
f83a1f70d5
Add option to clojure clj-kondo linter (#3812)
Allow define `clojure_clj_kondo_options` to customize command options
for `clj-kondo`.

The `--cache` in original command is now defined as default.
2021-07-17 22:07:02 +09:00
foobarbyte
1893abdb19
Python .tool versions (#3820)
* Also check for asdf-vm's .tool_versions file

A minimal python project may only be specifying a python version using a version management tool like asdf-vm, without providing other common python project configuration files. asdf-vm creates a single .tool_versions file in the managed directory. By checking for .tool_versions in addition to other common python config files we ensure that python linters (whose behaviour typically depends on a particular python version) will run with the same version of python used by the project. This will also be the same python version used by vim itself when it is run from inside the project's directories.

* add .tool_versions to ale-python-root documentation

This reflects the corresponding change to autoload/ale/python.vim
2021-07-17 21:46:43 +09:00
ghsang
d6dbb5398e
Add support for dart format fixer (#3764) 2021-07-16 16:20:47 +09:00
Nikolay Zakirov
82a7e9f588
add autoflake fixer (#3779)
* first attempt

* added autoflake executable

* added Windows executable for appveyor

* delete unused files

* corrected wrong sorting
2021-07-13 21:58:18 +09:00
Nathan Sharp
c8f669249a
Add Yosys linter for Verilog files. (#3713)
* Add yosys for verilog files.

* Add handler test for yosys.

* fix typo in yosys handler test

* fix array order in yosys handler test

* add yosys linter to filetype defaults test

* fix duplicate tag

* add 'yosys' to 'ale-supported-languages-and-tools.txt'
2021-07-12 21:39:53 +09:00
Horacio Sanson
774ab4b4f0
Update eclipse JDT LSP documentation (#3743)
Co-authored-by: Horacio Sanson <horacio@allm.inc>
2021-07-09 23:55:47 +09:00