* Utilizing -fzf for tsserver responses along with regular lsp responses
* Refactoring FormatResponseItem in references.vim to accept response item config
* test: Add failing tests for markdownlint 0.47.0 output format
Add two new test cases to verify the markdownlint handler's ability to
parse output from version 0.47.0, which includes severity keywords
("error" or "warning"). These tests will fail with the current
implementation, demonstrating the need for a fix to handle the new
output format.
The tests specifically verify:
- Parsing of error severity keyword
- Parsing of warning severity keyword
- Correct mapping of severity to ALE type (E/W)
Backward compatibility with version 0.46.0 is already verified by
the existing ests.
* fix: Update markdownlint handler for version 0.47.0 output format
Update the markdownlint handler to support the new output format
introduced in version 0.47.0, which includes severity keywords ("error"
and "warning") after the column number.
Changes:
- Updated regex pattern to capture optional severity keyword
- Added type mapping logic (error → 'E', warning → 'W')
- Adjusted match indices for rule ID and description text
- Maintained backward compatibility with version 0.46.0
All tests now pass, including the new tests for 0.47.0 format.
* style: Fix vint linting errors in markdownlint handler
- Add blank line before if statement for better readability
- Replace `==#` with `is#` for case-sensitive comparison
* Update lsp.lua
replace deprecated client.request method call with colon syntax
* fixy
same as b4 but for client.notify now
* how did this even happen
* references: add ALEFindReferences -fzf option
Allows using -fzf to show previews using fzf.vim. Includes:
- add support for opening in bufers, splits, tabs and for adding matches quickfix
- add support for -relative
- add fzf preview `--highlight-line` option
- add fzf.vim autoload module
* tests: fix references tests for fzf support update
* add support for expert
* Refactor elixir expert linter from feedback
- Simplify configuration by removing executable lookup logic
- Update documentation to reflect current configuration options
- Rename test file and update assertions for the new configuration
* default to expert for the lsp
The install instructions included something I missed. It includes a
global install, where the default executable is just `expert`. I'll
default to that and review if I should should add a configuration for a
global config.
---------
Co-authored-by: Your Name <pmonson711@nfiindustries.com>
* Adding --no-color flag to sass stylelint
* Adding --no-color to all stylelint args
* Adding --no-color expectation to stylelint tests
* Properly handling SyntaxError for stylelint; adding corresponding test
* Fixing CSS stylelint parameters and adding regression test
* Add --editor-mode flag when invoking rubocop
Since RuboCop 1.61.0 (released in February 2024), RuboCop accepts an
`--editor-mode` flag which improves editor integrations like ale.
Some of RuboCop's auto-corrections can be surprising or annoying to run
on save. When RuboCop is running via an LSP or when the `--editor-mode`
flag is passed, it will understand that it is running in an editor, and
it will hold off on making changes that might be surprising or annoying.
For example, if I write
```ruby
def call
results = some_process
end
```
This has an unused variable, and RuboCop will remove the unused variable
when you run it. However, if you're in the middle of editing, you may
not want it to remove that unused variable, because you may be about to
add a usage of it.
More context:
- PR which introduced it: https://github.com/rubocop/rubocop/pull/12682
- Release notes for 1.61: https://github.com/rubocop/rubocop/releases/tag/v1.61.0
- Docs: https://docs.rubocop.org/rubocop/1.80/configuration.html#contextual
This will be a breaking change for anyone who is running an old version
of RuboCop, because the flag will not exist for them. If they would like
to opt out of this change, they can set an option to omit the flag. I
think this ought to be enabled by default so that people will get this
benefit out of the box.
In the meantime, I am opting into this behavior by setting this option:
```vim
let g:ale_ruby_rubocop_options = "--editor-mode"
```
So I appreciate that this seam was already introduced.
* Make this a non-breaking change
This will detect the current rubocop version and auto-enable
--editor-mode for newer version of rubocop without affecting users of
older versions of rubocop.
* test: rename `FindNearestFile` test file
It matches the API name better and now lives beside the test file for
`FindNearestDirectory`.
* ale: add `FindNearestFileOrDirectory` function
Some anchor paths can be files or directories (e.g., `.git` is a
directory normally, but a file for worktrees). Add a function that finds
either type of path and returns the nearest.
Add php_phpactor_executable for phpactor and make it configurable
through php_phpactor_config.
When phpactor was first added in 3b8ff65, it had no configuration. Thus
the documentation for it could be completely blank. That is why it now
seems like an initial addition
Co-authored-by: cos <cos>
Since added in commit f2a21c9, the implementation and documentation has
differed in their naming. The latter has had an additional lua_-prefix.
With this fix, setting the variable as documented actually results in a
'workspace/didChangeConfiguration' method being executed on the luals.
Adding a reference to the documentation of which configurations the lsp
supports doesn't hurt, so that's done too.
Co-authored-by: cos <cos>
* add support for fortitude fortran linter
* add fortitude fortran linter doc
* Add a fortitude linter test file
* docs listings are now alphabetically sorted
Co-Authored-By: gomfol12 <info@marekb.de>
Add support for project-local `ansible-lint` (via `uv`, `poetry`, and `pipenv`)
when using the system-wide installed one is not possible or not desirable.
Redpen linter previously had hardcoded command-line options and duplicated
linter definitions across all supported file types (asciidoc, markdown,
review, rst, tex, text). This refactoring centralizes the linter definition
and adds support for user-configurable options via g:ale_redpen_options.
Key changes:
- Created ale#handlers#redpen#DefineLinter() to eliminate code duplication
- Added ale#handlers#redpen#GetCommand() to support configurable options
- All file types now use shared configuration and command building
- Added comprehensive test coverage for option handling
- Updated documentation for all affected file types
This allows users to customize redpen behavior with additional command-line
options while maintaining backward compatibility and reducing maintenance
overhead.