aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/.github (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Automatically request me to review everythingw0rp2026-05-141-0/+1
|
* Replace appveyor with GitHub actions (#5119)Horacio Sanson2026-05-121-10/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* Add other issue typesw0rp2025-04-262-0/+2
|
* Add Bug as a bug issue template typew0rp2025-04-261-0/+1
|
* Add basic Lua ALE functions and test coveragew0rp2025-03-271-0/+1
| | | | | | | Ensure that basic ALE functions `ale.var`, `ale.escape`, and `ale.env` are available in Lua. Cover all Lua code so far with busted tests, fixing bugs where ALE variables can be set with Boolean values instead of numbers. Document all functionality so far.
* Update GitHub Actions to test with Neovim 0.7w0rp2025-03-111-1/+1
|
* Give up on Windows tests again for noww0rp2023-09-071-46/+0
| | | | | Add directories and files to AppVeyor to make it skip running if it doesn't need to run.
* Try windows-2019, as windows-latest is slow as Hellw0rp2023-09-071-3/+3
|
* Try to fix building Vader againw0rp2023-09-071-3/+3
|
* Stop redirecting error streams for Vader buildw0rp2023-09-071-2/+2
|
* Try http:// for downloading Vimw0rp2023-09-071-2/+2
|
* Attempt running Windows rests relative to GitHub dirw0rp2023-09-071-14/+11
|
* Try to fix GitHub Actionsw0rp2023-09-071-5/+6
|
* Try to test ALE on Windows in GitHubw0rp2023-09-071-0/+48
|
* Update minimum supported NeoVim version to 0.6.0w0rp2023-09-071-1/+1
| | | | | Stop officially supporting NeoVim versions below 0.6.0, without necessarily breaking ALE for people using older versions.
* Close #3368 - Supercharge :ALEInfow0rp2023-09-061-1/+1
| | | | | | | | | | | | | Make a series of sweeping changes to make :ALEInfo more useful. 1. Deprecate :ALEInfoToClipboard and support :ALEInfo -clipboard 2. Permit :ALEInfo -clip as a shorthand for :ALEInfo -clipboard 3. Support :ALEInfo -preview to render in the preview window 4. Support :ALEInfo -echo for the classic :ALEInfo mode 5. Change the default mode to 'preview', and make it configurable 6. Add syntax highlighting for ALEInfo in preview mode 7. Add a convenience to look up documentatation that explains itself 8. Don't show an empty 'Linter Variables' section
* Fix 4324 - add neovim 0.8 test (#4325)Horacio Sanson2022-11-251-1/+1
| | | | | | | * Fix 4324 - add neovim 0.8 test * Update vim testbed image * Update documentation Co-authored-by: w0rp <w0rp@users.noreply.github.com>
* Add vim 9.0 and remove 8.0 (#4271)Horacio Sanson2022-10-041-1/+1
| | | | | * Add vim 9.0 and remove 8.0 * Remove vim 8.2 and keep 8.0
* Put :ALEInfo in collapsible for bug reports (#4286)Erik Westrup2022-08-181-4/+6
| | | | To make the bug reports a bit more readable. See an example of usage here: https://github.com/dense-analysis/ale/issues/4285
* Update tests to use latest neovim 0.7 (#4180)Horacio Sanson2022-06-291-1/+1
| | | | | | | * Update tests to use latest neovim 0.7 * Update CI to use neovim 0.7 * Fix conflict
* Add neovim 0.6 to run-tests (#3998)Horacio Sanson2022-04-011-2/+1
| | | | | | | | * Update test scripts * Remove neovim 0.3 and 0.4 * Add neovim 0.6.1 Co-authored-by: Horacio Sanson <horacio@allm.inc> Co-authored-by: w0rp <devw0rp@gmail.com>
* Add neovim 0.5 to list of test runtimes. (#3830)Horacio Sanson2021-08-051-0/+1
| | | | | | | * Add neovim 0.5 to list of test runtimes. * Update testbed docker image Co-authored-by: Horacio Sanson <horacio@allm.inc>
* Use filter pattern instead of regex for tags filter in CI workflow (#3802)Linda_pp2021-07-041-1/+2
| | | | | | since regex is not supported for filtering paths, tags and branches. - Document: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet - Answer by GitHub staff: https://github.community/t/using-regex-for-filtering/16427/2
* Allow more time before PRs become stalew0rp2021-03-201-3/+3
|
* Disable blank issues and add a link to ask for helpw0rp2021-03-151-0/+6
|
* Remove last traces of Travis CIw0rp2021-01-271-3/+4
| | | | | | * The build status badge is now for GitHub Actions. * The documentation now mentions GitHub instead. * Warnings in the YAML file have been fixed or ignored.
* 3560 add vim 8.2 and nvim 0.4 to ci tests (#3561)Horacio Sanson2021-01-271-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add vim82 and neovim04 to CI tests. * Fix test_sign_column_hightlighting test. In vim82 with verbose=1 the output of highlight command changes breaking the ale#sign#SetUpDefaultColumnWithoutErrorsHighlight(). This commit forces verbose=0 when the method starts and restores the previous value before exiting. * No return values in vim82 returns a numeric value instead of a empty string. * Fix test_reek_handler test The FuzzyJSONDecode() method catches E474 when it fails to parse the input as JSON but Vim8.2 throws E491 instead. This commit modifies the function to catch both E474 or E491. * Fix perl6 handler test. Perl6 handler catches json parse errors using the E474 error but in Vim82 it changed to E491. This commit modifies the handler so both errors are considered. * Fix list opening tests. In Vim 8.2 the call `range(1, bufnr('$'))` always returns quickfix buffers no matter if they are closed or not. Using `ls` does not show them but the above range will always include them. This new behavior breaks the ale#list#IsQuickfixOpen() method that in turn breaks many other things. This commit fixes this by using the getqflist() and getloclist() methods instead. * Fix test updates loclist test. For some reason in Vim 8.2 the sign offset seems to not reset between tests causing the sign_id to not match in the Assert. When the test is run individually it passes but when run as part of the whole suite the sign_id is off by one. Forcing the offset in the test setup seems to fix the issue. * Fix omnifunc completion test. For unknown reasons the SetCompletionResponse tests fail in Neovim 0.2 and 0.4. Unfortunatelly the only solution I found is to disable them for neovim. * Fix linter warnings * Fix smoker test. Add vim 8.2 to the list of versions that need some retires due to randomly failing tests. * Add docker image build job. Trying some clever trick to build the docker image if not available locally or in Docker hub. It uses the Dockerfile md5 checksum as tag so only when changes on that file occur will the image be downloaded or build. * Add labels to Docker image * Remove tests for middle versions 8.1 and 0.3.5 * Use same vader commit as appveyor * Implement image push to Docker Hub Co-authored-by: Horacio Sanson <horacio@allm.inc>
* Fix 354 - Migrate CI from travis to Github Actions (#3549)Horacio Sanson2021-01-221-0/+23
| | | | | | | | * Fix 354 - Migrate CI from travis to Github Actions * Use matrix strategy for parallel tests * Don't build image on each run * Add push trigger on tags Co-authored-by: Horacio Sanson <horacio@allm.inc>
* Tell stale bot to wait longer before closing PRsw0rp2020-08-171-2/+3
|
* Configure the stale botw0rp2020-08-131-0/+16
|
* Add default labels to issue templatesw0rp2020-02-223-0/+3
|
* Add briefer help tags for ALE development documentationw0rp2019-01-081-2/+2
|
* Make the suggestion about asking for help friendlierw0rp2018-12-041-1/+1
|
* Do not wrap bug report linesw0rp2018-12-041-6/+2
|
* Fix a mistake with a linkw0rp2018-12-041-1/+1
|
* Typow0rp2018-12-031-1/+1
|
* Tell people to ask for tech support outside of GitHub issuesw0rp2018-12-031-0/+5
|
* Tell people to write tests even morew0rp2018-10-311-0/+2
|
* Update the bug reporting templatew0rp2018-10-021-6/+10
|
* Encourage people to write tests even morew0rp2018-10-021-0/+3
|
* contrib: Fix link to ale-development.txtDaniel M. Capella2018-08-011-1/+1
|
* Move README.md backw0rp2018-07-221-818/+0
|
* Move GitHub files to the .github directoryw0rp2018-07-224-0/+854
|
* Update issue templatesw0rp2018-07-011-7/+0
|
* Update issue templatesw0rp2018-07-014-0/+74