Age | Commit message (Collapse) | Author |
|
This commit adds vim help docs for `raco_fmt` and `racket-langserver`.
|
|
* Handle empty answer of ansible-lint
The variable a:lines might be empty if ansible-lint exited early, in
that case json_decode would trow an error.
* Use ales JSON decode function
|
|
this commit adds refurb as a Python linter, together with some tests
and documentation. it should fix issue: #4362
refurb repo: https://github.com/dosisod/refurb
|
|
|
|
Co-authored-by: Tiffany <taftaftesed@gmail.com>
|
|
|
|
|
|
* Fix 4324 - add neovim 0.8 test
* Update vim testbed image
* Update documentation
Co-authored-by: w0rp <w0rp@users.noreply.github.com>
|
|
* Replace Vim 8.2 with Vim 9.0 in CI
* Keep Windows tests on Vim 8.0 for now
Co-authored-by: w0rp <w0rp@users.noreply.github.com>
|
|
* Account for no sqlfluff output
Avoid crashes when there isn't any output from sqlfluff.
* Add supplort for sqlfluff as a fixer
|
|
|
|
|
|
|
|
* Add raco_fmt fixer for Racket files
* Fix command and add test
* Fix quoting
|
|
`checkmake` by default checks config file "in the same folder it's
executed in" unless `--config` option is set.
This commit allows setting the `--config` option with an option
variable (with documentation updated).
|
|
Consider a file like
```
#lang racket
(require racket/gui)
```
Type `Go(eventspace-`.
Pressing <C-x><C-o> to trigger omnicomplete should suggest
```
eventspace-handler-thread
eventspace-shutdown?
eventspace-event-evt
```
It does not (instead producing "top-level" completions, as if
`(eventspace-` wasn't even there).
Debugging, place the cursor on a space _after_. Now
`ale#completion#OmniFunc(1, '')` correctly returns `1`, but when given
`(0, 'eventspace-')` it returns either the empty list or generic
completion results as described above. I'm not entirely sure of the
mechanism, but it seems that `b:ale_completion_info.prefix` is the key,
and that this is set by `ale#completion#GetPrefix`. Calling
`ale#completion#GetPrefix('racket', line('.'), col('.'))` returned `''`!
Now, it returns `eventspace-` and the completions work correctly again.
Ref #4293, #4186, #3870
|
|
- Add this option so command line arguments can be supplied to hadolint
- This will be respected when running in docker and via the executable
- Preserve the --no-color and - flags, and add these to the list
- Add to docs and tests
|
|
this commit adds ruff as both a Python linter and fixer, together with
some tests and documentation.
ruff repo: https://github.com/charliermarsh/ruff
|
|
|
|
* ale.txt: fix indentation
* ale.txt: fix Type and Default markup
* ale.txt: use `not set` instead of `undefined`
This matches the way the variables are referenced in prose about
existence state.
|
|
|
|
Close #4328
|
|
Gcc does not support `x c*-header` when using `-` as input filename,
which is what ALE does.
Rework the feature to only use `-x c*-header` flag when using Clang and
not GCC.
The feature is now also controlled with the variable
`g:ale_c_cc_use_header_lang_flag` and
`g:ale_cpp_cc_use_header_lang_flag`.
|
|
|
|
|
|
* Add vim 9.0 and remove 8.0
* Remove vim 8.2 and keep 8.0
|
|
* Add fixer "css-beautify". Adjust "html-beautify."
* Error fixes.
* Added chars.
|
|
|
|
Add configuration files for pyright (JSON and TOML) to list of files
which identify a project root directory. Update documentation
accordingly.
Co-authored-by: Andreas Doll <andreas.doll@posteo.de>
|
|
When linting an header file in C or C++, `-x c-header` or
`-x c++-header` should be used instead of `-x c` or `-x c++`.
Using `-x c` or `-x c++` for headers files can lead to unused variables
and functions marked as static inlined as seen in #4096.
Using `-x c-header` or `-x c++-header` solve these issues.
The list of file extensions that are considered as header files can be
configured with the variables `g:ale_c_cc_header_exts` and
`g:ale_cpp_cc_header_exts`.
|
|
This allows using linters like `:namespace-name-mismatch`.
This replaces: https://github.com/dense-analysis/ale/pull/4109
|
|
I discovered that references to other Bicep files (modules) will be
broken if running on a temporary file in a different location. I've
found no way of providing an alternate path when invoking the command.
|
|
* Add support for Microsoft's DSL Bicep
The compilation command 'bicep build' catches compilation errors as well
as providing some lint warnings.
Repository for Bicep: https://github.com/Azure/bicep
* Different null file on Windows & hardcode commands
|
|
see: johnsoncodehk/volar#876
see: johnsoncodehk/volar/blob/master/packages/vue-language-server/package.json#L11
|
|
Deno LSP automatically detects config files named deno.json or
deno.jsonc since version 1.18.
For Deno 1.18+ this means that ALE no longer needs to resolve the
project root. However, removing the project root logic from ALE means
breaking changes for people that are still using an older version.
Adding deno.json to the list of looking files to look for will keep the
behavior consistent and compatible with the Deno config file naming
convention.
See also:
https://deno.com/blog/v1.18#auto-discovery-of-the-config-file
|
|
|
|
|
|
* Allow to pass options to the buf linter
* Fix the callback of buf linter
|
|
Otherwise it finds the first keyword, which is usually not relevant to the
cursor position, and incorrectly calculates the completion position.
|
|
|
|
* Remove virtual text via types-filter
This is more robust and has the additional sideeffect that it will make
it easier to implement showing virtual text for all warnings
simultaneously.
We definitely do not want to do a call to prop_remove() for every
virtual text as that will cause noticeable lag when many warnings are
present, thus we can use this to remove all virtual text lines with one
call in the future.
Fixes #4294
refs: https://github.com/vim/vim/pull/10945
* Allow virtual text to appear for all warnings of the buffer
This can be enabled with:
let g:ale_virtualtext_cursor = 2
It is implemented both for neovim and vim 9.0.0297.
Note that sometimes it may appear like some warnings are displayed
multiple times. This is not a bug in the virtual text implementation,
but a sideeffect of multiple linters returning similar results.
For example for Rust, the 'cargo' and 'rls' linters appear to be
activated at the same time, but they sometimes return identical errors.
This causes the virtual text to show the same warning twice.
In the future we can mitigate this problem by removing duplicate errors
from our internal location list.
However users can also achieve cleaner warnings simply by activating
only one linter for each language (or multiple unambiguous linters).
For example for Rust, the problem could be solved with:
let g:ale_linters = {'rust': ['analyzer']}
Fixes #2962
Fixes #3666
|
|
Regression was introduced in d93bc2baf7532818e83bf2fac61fcd591beb6151
The problem was that we did not handle the edge case where there is no
last popup to close, which caused old vim versions to enter code by
accident that was only supposed to be run by vim 9.
We fix this by guarding the if condition for vim 9.
Fixes #4290
|
|
* Add extra config options for virtualtext
* Undo virtualtext changes and move to floating preview
* revert changes to pass hightlight group to floating preview
* rename var
* Document changes
* Add updates based on feedback
* Check for string type and attempt to call the function
* Fix lint errors
Co-authored-by: Shaun Duncan <shaun@speedscale.com>
|
|
Our current virtual text implementation for vim emulates it by abusing
the textprop and popupwin feature from vim 8.2 (for more details see
commit 708e810414d124b17b0c42e872b387a7a6c2ea85).
This implementation sometimes is janky, for example the popups may leak
into other vim windows next to the current window.
Luckily, vim just got native virtual-text support as a proper subtype to
the prop_add() function. By using the 'text' option, the text property
automatically becomes virtual text that is appended to the current line
if col is zero.
Note that the prop_add() method now returns negative IDs for virtual
text properties.
This feature was added in vim 9.0.0067, but it got a lot of bugfixes
which is why we only use this new API if vim has at least version
9.0.0214.
However, there are still some minor bugs with vim's native virtual text,
so we might have to bump the version check again in the future.
Also see #3906.
Now with proper virtual text support for both vim and neovim available,
we can tackle #2962 in the future by simply tracking multiple virt-texts
instead of just the last one.
In the future we might also want to disable our virtual text emulation
support for vim, as it is a total hack, but for now we should keep it
for backwards compatibility.
|
|
To make the bug reports a bit more readable. See an example of usage
here: https://github.com/dense-analysis/ale/issues/4285
|
|
* fix #4276: honor b:ale_enabled for hover at cursor
* fix indention
|
|
This is the library that now powers prettier/plugin-ruby but is also
stands on its own: https://github.com/ruby-syntax-tree/syntax_tree
|
|
|
|
When 'close_cb' is set for job_start(), but out_cb or err_cb isn't, vim
buffers data instead of dropping it (in case someone wanted to read and
process it in close_cb), and additionally polls for new data every 10
milliseconds, causing excessive wakeups and CPU usage. Since we don't
read the data anywhere outside of out_cb/err_cb, any LSP that prints an
error to stderr triggers this and vim keeps spinning until :ALEStopAllLSPs.
Fix this by always setting both callbacks, thus dropping any data we're
not interested in.
See https://github.com/vim/vim/issues/10758 for an upstream report of
the excessive polling. It's possible this is intentional, I dunno.
Fixes: b42153eb1786 ("Fix #4098 - Clear LSP data when servers crash")
|
|
* Add support for dune
* Add test
* Undo reformatting of Markdown file
* Refer to ale-ocaml-dune from ale.txt
|