Commit Graph

945 Commits

Author SHA1 Message Date
Carl Smedstad c9938bc293
Add CMake linter cmake-lint (#4036)
* Add CMake linter cmake-lint

Add support for the CMake linter provided by
https://github.com/cheshirekow/cmake_format.

* Escape cmake-lint executable and add linter tests
2022-02-06 21:09:38 +09:00
offa 7cbb68da6c
Add oelint-adv support (#4043) 2022-02-06 14:08:10 +09:00
Dalius Dobravolskas 0c276aac90
Allows to use quickfix for references. (#4033)
* Allows to use quickfix for references.

E.g. following mapping could be used to find references for item under
cursor and put result into quickfix list:

```
nnoremap <leader>af :ALEFindReferences -quickfix<CR>
```

Fixes #1759

* Documentation update.
2022-02-05 21:54:26 +09:00
nospam2998 a58b7b5efb
Treat ale_open_list integer values as thresholds (#4050)
Only open list window if the number of warnings or errors equals to or
exceeds the value of ale_open_list. No change when set to `1`.

Co-authored-by: cos <cos>
2022-02-04 17:56:48 +00:00
David Briscoe 5856c06775
Add ALEPopulateQuickfix and ALEPopulateLocList (#3761)
Closes #1810

Add ALEPopulateQuickfix and ALEPopulateLocList. They're not very useful
with ale's default auto-populate behaviour, so their useful configuration
is described in help.
2022-02-04 17:42:26 +00:00
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
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
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
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
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
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
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
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
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
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
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
Mathias Jean Johansen 1e9f40ff8d
Add support for `lua-format` fixer. (#3804) 2021-07-09 23:54:43 +09:00
Gerardo Gómez Rodríguez 8b73d98baf
chore: replace python-language-server to supported pylsp (#3810)
As mentioned in #3722 palantir's python-language-server is no longer maintained.
The alternative is to use the community-driven https://github.com/python-lsp/python-lsp-server.
2021-07-09 22:40:31 +09:00
Jesse Hathaway 36fcb01e05
Add pandoc as a markdown fixer (#3641)
Utilize pandoc to fix markdown files, currently set to Github-Flavored
Markdown, but that can be changed by setting,
ale_markdown_pandoc_options.
2021-07-04 21:39:29 +09:00
Robert Liebowitz 0d90cb64c6
Add stylua fixer for lua (#3789) 2021-07-03 18:50:48 +09:00
Horacio Sanson 88817b3780
Fix 3167 - add custom fixer example to help docs. (#3541)
Co-authored-by: Horacio Sanson <horacio@allm.inc>
2021-06-19 11:47:35 +01:00
w0rp e78519683e
Close #3433 - Only use noselect if set for automatic completion 2021-06-19 10:57:34 +01:00
w0rp 84a4a76aaf
Close #3770 - Add support for checking circleci configs 2021-06-19 10:34:57 +01:00
w0rp f53431331e
Enable gopls by default with GOPATH detection 2021-05-26 22:43:33 +01:00
yohei yoshimuta cec9954d01
feat: Add protolint as linter and fixer (#2911) 2021-04-09 22:16:23 +09:00
bosr f0887d3e61
apple-swift-format: linter and fixer with config swiftpm support (#3671) 2021-04-07 19:34:34 +09:00
fiatjaf 655f0070cd
Add support for V: "v" (compiler) and "vfmt" fixer. (#3622)
* v: add "v fmt" fixer.

* v: add "v" (build) linter.

* v: fix vlint complaints and add documentation.

* v: add tests.

* v: use ale#Pad().
2021-03-26 15:38:57 +09:00
David Houston b1f95dc4fb
Add nixfmt as a Nix fixer. (#3651)
* Add nixfmt fixer.

* Replace manual options pad with ale#Pad()
2021-03-24 09:02:17 +09:00
BarrOff cdac7a830e
Add support for `ptop` fixer (#3652)
* Add support for `ptop` fixer

* add test file for ptop tests

* called wrong fixer in assertion test

* use ' %s %t' instead of ' %t %t'
2021-03-23 21:51:14 +09:00