* add support, docs, tests for Laravel Pint
* fix php-cs-fixer link
* add missing project-without-pint
* fix indentation
* fix pint executable in pint fixer test
* fix variables, docs related to pint support
* fix: added support for local solhint executable
* feat: added support for matching parse errors
* test: added test for solhint command callback and handler
* chore: removed command callback test
* refactor: made solhint handler structure closer to eslint
* refactor(shfmt-fixer): remove derivation of default CLI arguments
The default `omni_start_map` is too restrictive for Lisps and Schemes
like Racket, which permit hyphens (among other special characters).
As recorded in #3870, trying to complete `file-name-from-path` when
typing `file-name<C-x><C-o>` would give completions like `namespace`
because the hyphen is ignored to find the start of the word for
completion.
Now the racket filetype searches for the start using the keyword class
`\k`, which is more precise.
* Allow customization of all floating window borders
Users may not necessarily want the same border character for top+bottom
or left+right, so allow all eight border characters to be configured in
g:ale_floating_window_border.
For backwards compatibility, the old rules are still applied if only six
elements are given.
* Reorder popup border array for compatibility
* Add support for HashiCorp Packer
* Add test for packer fmt
* Add doc for HCL/Packer
* Add link to Packer doc
* Also suggest packer fix for packer ft
* Add more links to TOC
* vscode-json-languageserver-bin support
VSCode JSON languageserver has schema support for linting and
completions.
I have enabled snippets support (`snippetSupport`) even if it is not
fully supported. `label` that comes with completions response can be
used as well.
* Test fix.
* vscode-json-languageserver instead of vscode-json-languageserver-bin
vscode-json-languageserver is more up-to-date (about 1 year old),
vscode-json-languageserver-bin is 4 years old.
* Use git root.
* Documentation update.
* Trying to sort ordering issue.
* One more attempt
* One more attempt
* Uppercase seems to win.
* Clean-up
* Clean-up 2
* Test removed.
The previous linter rule about stray echo lines has been restored, and
now all problems for custom linting rules can be ignored by adding a
comment above problem lines.
This patch adds support for opening jdt:// links on "go to definition" requests returned by Java language servers.
Co-authored-by: w0rp <devw0rp@gmail.com>
* Dispatch textDocument/didChange after rename
Previously whenever we renamed a symbol that was referenced from other
files we'd just edit those files in the background, and the LSP wouldn't
know about these changes. If we tried to rename the same symbol again,
the renaming would fail. In some scenarios, the operation would just be
wrong. Here is an attempt to fix this issue.
I also noticed another bug when using Go with `gopls` LSP and the `gofmt`
fixer. Whenever the file was saved, the `gofmt` would run and reformat
the file. But it seems there was some kind of a race condition so I
disabled saving for now, and all of the modified files will be unsaved,
so the user should call `:wa` to save them. I personally like this even
better because I can inspect exactly what changes happened, and I
instantly see them in the other opened buffers, which was previously not
the case.
Fixes#3343, #3642, #3781.
* Address PR comments
* Remove mode tests in corner case tests
* Address PR comments
* Save after ALERename and ALEOrganizeImports
Also provide options to disable automatic saving, as well as instructions to
enable `set hidden` before doing that.
* Fix broken test
* Save only when !&hidden
* Update doc
* Update doc
* Add silent
* 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.
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>
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.
* Fix 4004 - Disable eslint by default for json.
This PR disables, or more correctly, excludes eslint from the list of
default linters for json files.
Also fixes elixir, go, json5, and jsonc files documentation and default
linters to make them consistent.
* Fix and improve tests
* 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.
If virtualtext.vim is autoloaded first, it will link
ALEVirtualTextWarning to ALEWarning. But ALEWarning is not initialized
yet, so it will create ALEWarning, but with no color definition set.
Shortly after, highlight.vim is autoloaded, which would usually link
ALEWarning to SpellCap, but only if ALEWarning is not already set.
However since ALEWarning is already initialized due to the previous
link, we skip this and never actually come around to properly
initializing it.
We fix this by initializing all highlight groups in highlight.vim, thus
satisfying the dependency of ALEVirtualTextWarning being initialized
after ALEWarning.
Fixes#3585
* Add cppcheck handler match on misra msg
* Fix cppcheck --file-filter setting
This time, the tests and actually usage both work.
Co-authored-by: Dan George <dgeorge@anduril.com>
* 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>
* Add cppcheck handler match on misra msg
* Use --file-filter cppcheck option
Cppcheck recently added --file-filter so that cppcheck only checks the
filtered files, even when using --project option, which checks all files
in the project, by default. The --ccpcheck-build-dir option didn't help
enough (at all?).
* Added C test cases
Also fixed and assumed typo: foo.c, instead of foo.cpp
* Replace hard-coded full path filenames
Attempt to fix the windows platform test execution.
* Fix typo - foo.c, instead of foo.cpp
* Reset buffer var between tests
* Handle header files in cppcheck
Cppcheck isn't designed to check header files, stand-alone. Daniel
Marjamäki suggested using --suppress options to avoid FPs.
* Fix Vint complaint in cppcheck handler.
* Fix file path in cppcheck handler
Co-authored-by: Dan George <dgeorge@anduril.com>
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>