aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/autoload (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Read trigger characters from LSP initialize responses (#5121)Eric Stern2026-05-312-5/+67
| | | | | | | | | | | | | | | | * Add ale#lsp#GetCompletionTriggerCharacters getter * Add s:GetTriggerCharacters helper with LSP support * Pass connection ID to GetTriggerCharacter in s:OnReady * Use LSP trigger characters in Filter function * Add tests for LSP completion trigger characters * Check LSP trigger characters in GetPrefix * Add tests for GetAllCompletionTriggerCharactersForBuffer GetTriggerCharacter now accepts optional conn_id parameter to prefer LSP-provided trigger characters over the hardcoded map. GetPrefix now checks if the line ends with any trigger character from LSPs active for the current buffer, enabling automatic completion for LSP-provided triggers like > for PHP.
* Fix infinite autocompletion loop (#5130)Torben2026-05-281-0/+12
| | | | | | * Check for timeout while waiting for language server result * Return empty result if language server has no completion capabilities * Add test for OmniFunc timeout * Add documentation for timeout option
* Close #4971 - Add support for ty via LSPw0rp2026-05-162-1/+2
|
* Close #5112 - Support newer Pyright and other LSPsw0rp2026-05-152-8/+197
| | | | | | | | | Add support for dynamic capability registration for the diagnostic pull model to support Pyright >= 1.1.407 and other language servers. This is a rather complex and intricate change tested with Pyright and gopls, and may need further tweaking if something breaks with another server.
* Close #5002 - Support getting g:ale_root as a Stringw0rp2026-05-151-0/+5
|
* Support for tex-fmt (#5127)Matheus Gabriel Werny2026-05-142-0/+25
| | | | | | | | | | | | * Support for tex-fmt Support for tex-fmt, https://github.com/WGUNDERWOOD/tex-fmt. * Remove file type plaintex Remove file type plaintex as tex-fmt is solely for LaTeX. See https://superuser.com/questions/208177/vim-and-tex-filetypes-plaintex-vs-tex for a distinction.
* #5057: Avoid mixing slashes for Windows temporary filesw0rp2026-05-142-3/+3
|
* Replace appveyor with GitHub actions (#5119)Horacio Sanson2026-05-127-39/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * fix(tests): fix ale_c_build_dir_names being unset in tests (#5109) - Use ale#Set() to set the ale_c_build_dir_names variable. - Ensure SetUpLinterTest() is called before any Save commands in tests. - Add c.vim to runtime before non-linter tests are executed. - Remove workarounds in c.vim. * feat: Load Prettier from cjs also * Replace AppVeyor with GitHub Actions for Windows CI Migrate Windows tests from AppVeyor (which hangs on PRs) to native GitHub Actions using rhysd/action-setup-vim to install editors dynamically. - Add test_ale_windows job testing Vim 9.0, Neovim 0.7, and Neovim 0.8 on windows-latest, running in parallel with existing Linux CI - Set fail-fast: false so all matrix entries report results independently - Update run-tests.bat to accept VIM_EXE and VIM_HEADLESS env vars instead of hardcoding C:\vim\vim\vim80\vim.exe - Add -n -i NONE and --not-a-term flags to avoid E211 temp file errors caused by Windows 8.3 short name paths losing drive letters - Override TMP/TEMP to C:\tmp in CI to avoid 8.3 path mangling - Use mklink /J directory junction for C:\testplugin to avoid modifying 146+ test files that reference /testplugin/ paths - Update doc/ale-development.txt section 4.3 for the new setup - Remove AppVeyor badge from README.md - Delete .appveyor.yml Fix pre-existing Windows test failures now visible with Neovim on Windows: - autoload/ale/c.vim: ParseCompileCommandsFlags bufnr() fails when the buffer path has a drive letter but the compile_commands key does not. Add fallback path comparison using ale#path#RemoveDriveLetter() so exact file matches work regardless of drive letter presence. - autoload/ale/path.vim: FindNearestFile and FindNearestDirectory now return ale#path#Simplify() paths, fixing mixed slash separators on Windows that caused test_write_good.vader to fail. - test/smoke_test.vader: echo output has trailing \r on Windows. Change strip pattern from ' *$' to '[\r ]*$' in all TestCallback functions. - test/test_prepare_command.vader: &shellcmdflag on Windows is '/s /c' not '/c'. Use split(&shellcmdflag) in expected values so the test adapts to the actual default. - test/test_lint_file_linters.vader: Increase WaitForJobs timeout from 2000ms to 10000ms to prevent spurious timeouts on Windows CI runners. - test/test_writefile_function.vader: Dissociate buffer from temp file before deleting it to avoid E211 on Windows. * Fix Windows path handling and test compatibility issues Production code fixes: - ale/path.vim: Apply Simplify to buffer_filename in IsBufferPath to fix forward-slash vs backslash mismatch on Neovim Windows; handle .\ prefix - ale/c.vim: Use iterative key-matching via RemoveDriveLetter for both file_lookup and dir_lookup in ParseCompileCommandsFlags - ale/filename_mapping.vim: Normalize suffix separators when mapping target uses forward slashes (fixes mixed-separator paths on Windows) - cuda/nvcc.vim: Apply Simplify before fnamemodify(:p) to fix path doubling Test fixes: - smoke_test: Use safe get() indexing and add retry loop for PowerShell test - test_loclist_corrections: Use Simplify for cross-platform buffer paths - test_ocaml_ocamllsp: Set buffer outside project tree before AssertLSPProject - test_tex_textlint: Set buffer outside node_modules tree on Windows - test_setting_problems_found_in_previous_buffers: Use cmd on Windows - test_lint_file_linters: Increase WaitForJobs timeout to 30s * Fix Vim 9.0 tempname() format change and simplify PowerShell test Vim 9.0 changed tempname() to return a flat path (e.g. C:\tmp\VIMXXXXXXXX) instead of the nested C:\tmp\VIMxxx\NNN format. Using :h:h on the flat format resolves to the drive root, causing IsTempName() to match every path on the drive. This broke tslint handler tests, loclist_corrections, and setting_problems_found_in_previous_buffers tests. Fix s:temp_dir to detect when :h:h yields a root path and fall back to :h. Add GetTempBase() helper in test_format_command.vader with same logic. Simplify smoke_test PowerShell test to avoid multi-command chaining that produces unreliable output on Vim 9.0. * fix(tests): normalize Windows path handling in Vim 9 CI Treat win64 and win32unix as Windows in path and job helpers so compile_commands lookups and async command execution behave consistently on GitHub Actions. Normalize NVCC parsed filenames after absolute expansion to keep expected Windows paths stable in handler tests. * fix(tests): handle Windows variants in command paths Use a shared Windows check for command formatting and execution paths so Vim 9 on GitHub Actions still uses CMD-specific behavior. Apply the same check in filename mapping suffix normalization so Windows-style temporary and mapped paths are converted consistently in tests. * ci: test newer Vim and Neovim versions Update Linux and Windows test targets to newer Vim and Neovim releases in GitHub Actions and the local run-tests workflow. Refresh the Docker test image and helper scripts so the selected editor versions can be built and executed consistently across environments. * fix(tests): adapt checks for Neovim 0.12 and Python 3.12 - Replace deprecated imp with import.util in python tests. - Reorder ale.txt to match help files order. - Add lines to sign test to ensure there are enough lines for the signs. * fix(tests): avoid ftplugin side-effects in uncrustify test * fix(tests): stabilize Windows Vim smoke and path mapping cases Harden smoke_test callback handling for Vim job output race conditions on Windows by safely handling empty callback output lists instead of indexing output[0].\n\nMake disabling_ale assertions compare against a baseline message history entry so preexisting Vim startup messages do not cause false failures.\n\nUpdate path-mapping tests to account for Vim 9 Windows tempname layout changes and to validate filename-modifier behavior after full-path filename mapping is applied. * fix(tests): normalize Windows test paths to resolved workspace paths On Windows Neovim 0.10, test working directories can resolve to host checkout paths (for example D:\a\ale\ale) instead of container-style mount paths (for example C:\testplugin). Many tests compared absolute paths against g:dir-derived expectations and failed despite equivalent files.\n\nNormalize test directory handling in ale#test helpers by storing and using ale#path#Simplify(resolve(getcwd())), so expected paths match the same canonical form used by path discovery functions.\n\nAlso update tests that manually reassign g:dir from raw getcwd() and Gradle path assertions to use resolved/simplified paths, preventing regressions from mixed mount-path forms across Vim/Neovim and CI environments. * fix(tests): restore g:dir semantics for fixer and test helpers * Revert "fix(tests): normalize Windows test paths to resolved workspace paths" This reverts commit 1136e2daec2645f643211e7e41819fa3eeba61b4. * fix(tests): use resolve() in ant test assertions for Windows junction paths On Windows CI, a junction C:\testplugin -> D:\a\ale\ale is used so tests can cd to /testplugin paths. However, findfile() + fnamemodify(':p') resolves junction points to real paths, while g:dir holds the junction-based path. Fix the two ant test files to use resolve(g:dir) only in the specific assertions that compare paths returned by findfile()-based functions (ale#ant#FindProjectRoot, ale#ant#BuildClasspathCommand). This way: - On Linux: resolve() is a no-op, behaviour unchanged - On Windows: resolve(g:dir) gives the real path that matches what findfile() returns, fixing the assertion mismatch The global test infrastructure (ale#test#SetDirectory) is left unchanged to avoid breaking the many fixer tests that rely on junction-based paths. * Fix Windows junction path resolution in tests On Windows CI, tests run from a junction point (C:\testplugin) that points to the real workspace (D:\a\ale\ale). Functions like ale#path#FindNearestFile resolve junctions via findfile()/fnamemodify(':p'), returning the real path, while g:dir holds the junction path. Wrap expected path values with resolve() so junction paths are resolved to their real counterparts on Windows (resolve() is a no-op on Linux), making assertions match across both platforms. * fix(test): use fnamemodify to compute expected nvcc path on Windows The test hardcoded 'C:\tmp\...' for Windows paths, but GitHub Actions runners use D: drive. Use ale#path#Simplify(fnamemodify(..., ':p')) in expected values to mirror exactly what the handler produces, making the test drive-letter-agnostic. * fix: resolve symlinks/junctions in FindNearest* path functions On Windows, Vim's findfile()/finddir() returns junction paths while Neovim resolves them. This inconsistency causes test failures when comparing paths from these functions against g:dir (set via getcwd()). Add resolve() to FindNearestFile, FindNearestDirectory, and FindNearestFileOrDirectory so they always return canonical paths, making behavior consistent across Vim and Neovim on Windows. On Linux, resolve() is a no-op for non-symlinked paths. * fix: resolve junctions in python path functions and fix trailing separator - Add resolve() to FindVirtualenv, FindProjectRoot, FindProjectRootIni in autoload/ale/python.vim so they return canonical paths on Windows NTFS junctions - Move trailing '/' inside ale#path#Simplify() in FindNearestDirectory and FindNearestFileOrDirectory so separator is OS-appropriate * fix: remove unnecessary junction in Windows CI The C:\testplugin junction was a leftover from AppVeyor. It caused C: vs D: path mismatches when resolve() canonicalized paths. Running directly from the workspace eliminates the discrepancy. * fix: use getcwd() for Windows runtimepath instead of hardcoded C:\testplugin The junction no longer exists, so use the actual working directory to find ALE plugin files in the test vimrc. * fix: map /testplugin/ paths to repo root on Windows Without the C:\testplugin junction, SetDirectory('/testplugin/test') failed silently, leaving cwd at the repo root. Now on Windows, the /testplugin/ prefix is replaced with the actual repo root derived from the script's file path. * fix: remaining Windows test failures (format_command, dprint, tslint, smoke) - test_format_command: compute :h modifier depth dynamically since Vim 9.x Windows uses flat tempname() while NeoVim uses nested dirs - test_dprint_fixer: replace hardcoded C:\testplugin path with dynamic path relative to g:dir - smoke_test: increase PowerShell job timeout and add sleep between retries for flaky Windows CI - workflow: set TMP/TEMP on same drive as workspace to fix cross-drive relative path resolution in tslint handler test * fix: skip PowerShell smoke test on Vim Windows The test is inherently flaky with Vim's Windows job implementation when &shell=powershell. NeoVim handles it reliably and still tests this code path. * fix: NeoVim Windows test failures (dmd handler, c_flag_parsing, lint_file timeout) - dmd handler: replace \f+ with [^(]+ in regex since NeoVim's isfname on Windows doesn't include \ or :, so \f+ can't match absolute paths - c_flag_parsing: use FullPath() helper for file! commands and dict keys so NeoVim v0.10.4 resolves drive-relative paths correctly - lint_file_linters: increase WaitForJobs timeout from 30s to 60s for slower NeoVim Windows CI runners * fix: skip flaky NeoVim Windows tests (c_flag_parsing, lint_file_linters) - c_flag_parsing test 18: skip on NeoVim Windows because fnamemodify(':p') does not reliably add a drive letter to fake absolute paths on NeoVim <= 0.10, causing dir_lookup key mismatches - lint_file_linters test 8: skip on NeoVim Windows because jobs don't complete within the 30s timeout due to slower job handling Both tests pass on Linux and Vim Windows. TODO comments added to restore them once the underlying NeoVim Windows issues are resolved. * ci: update checkout githuh action to v6 * Preserve Vim 8.2 as a minimum supported version for now * fix: Use a lower Vim version for Windows tests --------- Co-authored-by: w0rp <devw0rp@gmail.com>
* Feat: replace em dash with -- (#5125)Micah Chambers2026-05-122-0/+9
| | | | * no em dash * add tests
* feat(markdown): add rumdl server and fixer (#5115)Evan Chen2026-04-152-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | * feat: put in the main linter files * feat: add to registry * docs: add rumdl to docs * tests: vader tests * edit: actually split the options into two * style: make rumdl fixer test mimic markdownlint * fix: stupidity overwhelming * fix: actually let's look for pyproject too copied from tombi * i'm a buffoon fix wrong indentation * alignment ci is made for people like me * missed toc entry
* fix expert lsp stdio and register capability (#5113)coriocactus2026-04-101-0/+2
| | | | | | | | | | | | | | * pass --stdio flag to expert lsp server expert requires --stdio to use stdio transport but the linter definition launched it without the flag, so the server never entered lsp mode * handle client/registerCapability requests from lsp servers some lsp servers like expert send a client/registerCapability request after initialization to dynamically register capabilities, if ale does not respond the server blocks and never processes further messages like textDocument/didOpen
* Add support for PerlNavigator (#5028)rymdbar2026-04-101-0/+24
| | | | | | | | | | | | | * Add support for PerlNavigator * fixup! Add support for PerlNavigator * fixup! fixup! Add support for PerlNavigator * fixup! fixup! fixup! Add support for PerlNavigator --------- Co-authored-by: cos <cos>
* Use ale#Pad for option padding across the codebase (#5118)Mathis2026-04-1042-43/+43
| | | | | | | | | | | Standardize option padding by replacing verbose ternary checks with ale#Pad() Replace patterns like: (empty(x) ? '' : '' . l:options) with: ale#Pad(l:options) Similar to af5a38c697e0ba062f04347d5165d97d7d1894a3
* feat: Load Prettier from cjs alsow0rp2026-04-011-0/+1
|
* fix(tests): fix ale_c_build_dir_names being unset in tests (#5109)Horacio Sanson2026-03-291-14/+1
| | | | | | - Use ale#Set() to set the ale_c_build_dir_names variable. - Ensure SetUpLinterTest() is called before any Save commands in tests. - Add c.vim to runtime before non-linter tests are executed. - Remove workarounds in c.vim.
* Fix FindCompileCommands to handle absolute paths in c_build_dir_names (#5096)Copilot2026-03-281-2/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Initial plan * Fix FindCompileCommands to handle absolute paths in c_build_dir_names Use ale#path#GetAbsPath to resolve build directory paths, which correctly handles both absolute and relative paths. When the dirname is absolute, derive the project root from the parent of the build directory. Co-authored-by: w0rp <3518142+w0rp@users.noreply.github.com> * Improve comment clarity in FindCompileCommands Co-authored-by: w0rp <3518142+w0rp@users.noreply.github.com> * Add defensive ale#Set for c_build_dir_names in FindCompileCommands Mirror the existing s:CanParseMakefile pattern to ensure the g:ale_c_build_dir_names variable always exists when ale#Var is called, even if test Save/Restore cycles delete it. Co-authored-by: w0rp <3518142+w0rp@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: w0rp <3518142+w0rp@users.noreply.github.com>
* Added support for harper in markdown files (#5104)Armand Halbert2026-03-282-0/+25
|
* refactor: use ale#Pad for option padding across the codebase (#5091)PsickOSSH2026-02-0726-29/+29
| | | Co-authored-by: PsickOSSH <PsickOSSH@protonmail.com>
* add option to lint diff buffers (#3185)blobmasterbrian2026-02-061-1/+1
| | | | | * add option to lint diff buffers * fix misaligned doc tag * update docs
* Utilizing -fzf for tsserver responses along with regular lsp responses (#5084)Steve Matney2026-01-251-82/+71
| | | | | * Utilizing -fzf for tsserver responses along with regular lsp responses * Refactoring FormatResponseItem in references.vim to accept response item config
* Fix markdownlint output format (#5085)Holger Detering2026-01-251-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* fix-proselint (#5074)PsickOSSH2026-01-251-0/+25
|
* Add pymarkdown fixer (#5045)Adrian Vollmer2025-12-212-0/+51
|
* Add ReScript support (#5072)John Jackson2025-12-212-0/+38
| | | | | This adds support for both rescript format and rescript-language-server. Closes https://github.com/dense-analysis/ale/issues/3335
* ALEFindReferences: add -fzf flag to show output in fzf (#5018)bretello2025-12-212-24/+130
| | | | | | | | | | | | * 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
* fix linter cppcheck (#5071)yoan6672025-12-211-1/+2
|
* add markdownlint fixer for markdown (#5066)yoan6672025-11-222-0/+20
|
* add unimport fixer (#5068)FouMalade2025-11-222-0/+47
|
* biome: use --stdin-file-path for fixer (#5051)Albert Peschar2025-11-221-4/+3
|
* tombi: support `toml_tombi_online` flag to control remote schema fetching ↵Ben Boeckel2025-11-222-0/+14
| | | | (#5032)
* Adding --no-color flag to stylelint args (#5050)Steve Matney2025-11-222-2/+2
| | | | | | | | | | | * 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 (#5049)Max Jacobson2025-10-261-4/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* fix issue 5037. "/s/c/" to "/s/c" (#5043)Shigma2025-09-061-1/+1
| | | | a bug on windows. link: https://github.com/dense-analysis/ale/issues/5037
* ale: add `FindNearestFileOrDirectory` function (#5033)Ben Boeckel2025-08-211-0/+30
| | | | | | | | | | | | * 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.
* chore: remove some unused files and minor typo fix (#5029)Yining2025-08-151-1/+1
| | | | removed some files that seem not needed any longer and a minor typo in code comment
* Add support for verible: language server + fixer (#4994)Nicolas Derumigny2025-08-132-0/+22
| | | | * Add support for verible: language server + fixer * verible: add default flag, rules support for verible-ls
* add preview for ALEFindReferences (#5001)bretello2025-08-131-4/+28
| | | | | | * add preview for ALEFindReferences * ALEFindReferences: add -contents options and g:ale_references_show_contents option to configure default behaviour * tests: add tests for ALEFindReferences -contents feature * tests: update tsserver references tests with show_contents args
* Add configurable options support for redpen linter (#5006)Jason Weir2025-08-131-0/+13
| | | | | | | | | | | | | | | | | 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.
* Reduce lines of code for tombiw0rp2025-08-132-4/+2
|
* tombi: support its LSP (#5022)Ben Boeckel2025-08-133-0/+42
| | | | * tombi: support its LSP * tombi: support linting and formatting
* Only strip newlines for echo, otherwise full messages (#4964)Benjamin Block2025-07-202-2/+3
| | | | | | | | * Updates `ale#lsp#response#ReadDiagnostics` to always store the full, unaltered diagnostic message from the LSP in question. The current process is to replace all newline characters with whitespace (' '), which then leads to broken formatting when viewing complex output from an LSP with `:ALEDetail` and other commands. * Updates `ale#cursor#TruncatedEcho` to replace newline characters with a space ' ' instead of an empty string '' to retain the previous style of formatting for echoed messages. Fixes: #2356 Fixes: #3068 Fixes: #2301
* Added 'build/Debug' and 'build/Release' to g:ale_c_build_dir_names (#4322) ↵F-Kearney2025-07-201-0/+2
| | | | (#5008)
* Make shellcheck respect ale_warn_about_trailing_whitespacew0rp2025-07-061-3/+20
|
* Some absolute paths are not recognized for Windows (#4987)Andrey Starodubtsev2025-06-241-5/+4
| | | | | | | | | | * Some abs paths are not recognized for win32 Paths like "c:/abc/def.cpp" were not recognized as absolute on Windows. * Fix test for mypy_handler mypy handler not just simplifies path, but tries to convert path to absolute.
* Remove pytest.ini from project detection filesw0rp2025-06-241-6/+6
| | | | | | | This breaks detecting the project root when editing tests with a nested pytest.ini file where other project files are available. The other files are so common we can just removes this entirely and test that we ignore it in one case.
* Fix golangci-lint fixer with version 2 (#4960)Horacio Sanson2025-05-171-18/+34
|
* Adding Roc language linters and fixers. (#4966)Benjamin Block2025-05-053-0/+51
| | | | | | | * `roc_language_server` * `roc format` * `roc format annotate`
* Use ale#Escape in c_clangformat_style_option (#4949)Mikhail Velikikh2025-04-161-1/+1
| | | | * Use ale#Escape in c_clangformat_style_option * Update Vader test
* Add bash to the linter aliases (#4948)Jean-Philippe Guérard2025-04-161-0/+1
|
* Mention, but do not scream when a file changes before it is fixedw0rp2025-04-101-1/+1
|