Update the minimum supported Neovim version to 0.7

This commit is contained in:
w0rp
2025-03-11 13:04:52 +00:00
parent 92753662a7
commit 564369db58
7 changed files with 30 additions and 33 deletions
+1 -1
View File
@@ -4,7 +4,7 @@ FROM testbed/vim:${TESTBED_VIM_VERSION}
RUN install_vim -tag v8.0.0027 -build \ RUN install_vim -tag v8.0.0027 -build \
-tag v9.0.0297 -build \ -tag v9.0.0297 -build \
-tag neovim:v0.6.0 -build \ -tag neovim:v0.7.0 -build \
-tag neovim:v0.8.0 -build -tag neovim:v0.8.0 -build
ENV PACKAGES="\ ENV PACKAGES="\
+3 -3
View File
@@ -5,12 +5,12 @@
![ALE Logo by Mark Grealish - https://www.bhalash.com/](https://user-images.githubusercontent.com/3518142/59195920-2c339500-8b85-11e9-9c22-f6b7f69637b8.jpg) ![ALE Logo by Mark Grealish - https://www.bhalash.com/](https://user-images.githubusercontent.com/3518142/59195920-2c339500-8b85-11e9-9c22-f6b7f69637b8.jpg)
ALE (Asynchronous Lint Engine) is a plugin providing linting (syntax checking ALE (Asynchronous Lint Engine) is a plugin providing linting (syntax checking
and semantic errors) in NeoVim 0.6.0+ and Vim 8.0+ while you edit your text files, and semantic errors) in Neovim 0.7.0+ and Vim 8.0+ while you edit your text files,
and acts as a Vim [Language Server Protocol](https://langserver.org/) client. and acts as a Vim [Language Server Protocol](https://langserver.org/) client.
<video autoplay="true" muted="true" loop="true" controls="false" src="https://user-images.githubusercontent.com/3518142/210141215-8f2ff760-6a87-4704-a11e-c109b8e9ec41.mp4" title="An example showing what ALE can do."></video> <video autoplay="true" muted="true" loop="true" controls="false" src="https://user-images.githubusercontent.com/3518142/210141215-8f2ff760-6a87-4704-a11e-c109b8e9ec41.mp4" title="An example showing what ALE can do."></video>
ALE makes use of NeoVim and Vim 8 job control functions and timers to ALE makes use of Neovim and Vim 8 job control functions and timers to
run linters on the contents of text buffers and return errors as run linters on the contents of text buffers and return errors as
text is changed in Vim. This allows for displaying warnings and text is changed in Vim. This allows for displaying warnings and
errors in files being edited in Vim before files have been saved errors in files being edited in Vim before files have been saved
@@ -644,7 +644,7 @@ LSP features in ALE for different filetypes.
#### Neovim Diagnostics #### Neovim Diagnostics
If you are running Neovim 0.6 or later, you can make ALE display errors and If you are running Neovim 0.7 or later, you can make ALE display errors and
warnings via the Neovim diagnostics API. warnings via the Neovim diagnostics API.
```vim ```vim
+4 -4
View File
@@ -48,8 +48,8 @@ documented functions and options, until a major version is planned. Breaking
changes should be preceded by a deprecation phase complete with warnings. changes should be preceded by a deprecation phase complete with warnings.
Changes required for security may be an exception. Changes required for security may be an exception.
ALE supports Vim 8 and above, and NeoVim 0.6.0 or newer. These are the ALE supports Vim 8 and above, and Neovim 0.7.0 or newer. These are the
earliest versions of Vim and NeoVim which support |+job|, |+timer|, earliest versions of Vim and Neovim which support |+job|, |+timer|,
|+closure|, and |+lambda| features. All ALE code should be written so it is |+closure|, and |+lambda| features. All ALE code should be written so it is
compatible with these versions of Vim, or with version checks so particular compatible with these versions of Vim, or with version checks so particular
features can degrade or fail gracefully. features can degrade or fail gracefully.
@@ -156,8 +156,8 @@ environments.
1. Vim 8.0.0027 on Linux via GitHub Actions. 1. Vim 8.0.0027 on Linux via GitHub Actions.
2. Vim 9.0.0297 on Linux via GitHub Actions. 2. Vim 9.0.0297 on Linux via GitHub Actions.
3. NeoVim 0.6.0 on Linux via GitHub Actions. 3. Neovim 0.7.0 on Linux via GitHub Actions.
4. NeoVim 0.8.0 on Linux via GitHub Actions. 4. Neovim 0.8.0 on Linux via GitHub Actions.
6. Vim 8 (stable builds) on Windows via AppVeyor. 6. Vim 8 (stable builds) on Windows via AppVeyor.
If you are developing ALE code on Linux, Mac OSX, or BSD, you can run ALEs If you are developing ALE code on Linux, Mac OSX, or BSD, you can run ALEs
+3 -3
View File
@@ -121,7 +121,7 @@ circumstances.
ALE will report problems with your code in the following ways, listed with ALE will report problems with your code in the following ways, listed with
their relevant options. their relevant options.
* Via Neovim diagnostics (On in Neovim 0.6+) - |g:ale_use_neovim_diagnostics_api| * Via Neovim diagnostics (On in Neovim 0.7+) - |g:ale_use_neovim_diagnostics_api|
* By updating loclist. (On by default) - |g:ale_set_loclist| * By updating loclist. (On by default) - |g:ale_set_loclist|
* By updating quickfix. (Off by default) - |g:ale_set_quickfix| * By updating quickfix. (Off by default) - |g:ale_set_quickfix|
* By setting error highlights. - |g:ale_set_highlights| * By setting error highlights. - |g:ale_set_highlights|
@@ -2342,7 +2342,7 @@ g:ale_use_global_executables *g:ale_use_global_executables*
g:ale_use_neovim_diagnostics_api *g:ale_use_neovim_diagnostics_api* g:ale_use_neovim_diagnostics_api *g:ale_use_neovim_diagnostics_api*
Type: |Number| Type: |Number|
Default: `has('nvim-0.6')` Default: `has('nvim-0.7')`
If enabled, this option will disable ALE's standard UI, and instead send If enabled, this option will disable ALE's standard UI, and instead send
all linter output to Neovim's diagnostics API. This allows you to collect all linter output to Neovim's diagnostics API. This allows you to collect
@@ -2352,7 +2352,7 @@ g:ale_use_neovim_diagnostics_api *g:ale_use_neovim_diagnostics_api*
To enable this option, set the value to `1`. To enable this option, set the value to `1`.
This option requires Neovim 0.6+, as that version introduces the diagnostics This option requires Neovim 0.7+, as that version introduces the diagnostics
API. API.
+5 -5
View File
@@ -14,7 +14,7 @@ let g:loaded_ale_dont_use_this_in_other_plugins_please = 1
" A flag for detecting if the required features are set. " A flag for detecting if the required features are set.
if has('nvim') if has('nvim')
" We check for NeoVim 0.2.0+, but we only officially support NeoVim 0.6.0 " We check for Neovim 0.2.0+, but we only officially support NeoVim 0.7.0
let s:has_features = has('timers') && has('nvim-0.2.0') let s:has_features = has('timers') && has('nvim-0.2.0')
else else
" Check if Job and Channel functions are available, instead of the " Check if Job and Channel functions are available, instead of the
@@ -26,7 +26,7 @@ if !s:has_features
" Only output a warning if editing some special files. " Only output a warning if editing some special files.
if index(['', 'gitcommit'], &filetype) == -1 if index(['', 'gitcommit'], &filetype) == -1
" no-custom-checks " no-custom-checks
echoerr 'ALE requires NeoVim >= 0.6.0 or Vim 8 with +timers +job +channel' echoerr 'ALE requires NeoVim >= 0.7.0 or Vim 8 with +timers +job +channel'
" no-custom-checks " no-custom-checks
echoerr 'Please update your editor appropriately.' echoerr 'Please update your editor appropriately.'
endif endif
@@ -204,11 +204,11 @@ let g:ale_save_hidden = get(g:, 'ale_save_hidden', 0)
" If 1, disables ALE's built in error display. Instead, all errors are piped " If 1, disables ALE's built in error display. Instead, all errors are piped
" to the diagnostics API. " to the diagnostics API.
let g:ale_use_neovim_diagnostics_api = get(g:, 'ale_use_neovim_diagnostics_api', has('nvim-0.6')) let g:ale_use_neovim_diagnostics_api = get(g:, 'ale_use_neovim_diagnostics_api', has('nvim-0.7'))
if g:ale_use_neovim_diagnostics_api && !has('nvim-0.6') if g:ale_use_neovim_diagnostics_api && !has('nvim-0.7')
" no-custom-checks " no-custom-checks
echoerr('Setting g:ale_use_neovim_diagnostics_api to 1 requires Neovim 0.6+.') echoerr('Setting g:ale_use_neovim_diagnostics_api to 1 requires Neovim 0.7+.')
endif endif
if g:ale_set_balloons is 1 || g:ale_set_balloons is# 'hover' if g:ale_set_balloons is 1 || g:ale_set_balloons is# 'hover'
+14 -14
View File
@@ -25,7 +25,7 @@ tests='test/*.vader test/*/*.vader test/*/*/*.vader'
# These flags are forwarded to the script for running Vader tests. # These flags are forwarded to the script for running Vader tests.
verbose_flag='' verbose_flag=''
quiet_flag='' quiet_flag=''
run_neovim_06_tests=1 run_neovim_07_tests=1
run_neovim_08_tests=1 run_neovim_08_tests=1
run_vim_80_tests=1 run_vim_80_tests=1
run_vim_90_tests=1 run_vim_90_tests=1
@@ -44,7 +44,7 @@ while [ $# -ne 0 ]; do
--build-image) --build-image)
run_vim_80_tests=0 run_vim_80_tests=0
run_vim_90_tests=0 run_vim_90_tests=0
run_neovim_06_tests=0 run_neovim_07_tests=0
run_neovim_08_tests=0 run_neovim_08_tests=0
run_linters=0 run_linters=0
shift shift
@@ -55,7 +55,7 @@ while [ $# -ne 0 ]; do
run_linters=0 run_linters=0
shift shift
;; ;;
--neovim-06-only) --neovim-07-only)
run_neovim_08_tests=0 run_neovim_08_tests=0
run_vim_80_tests=0 run_vim_80_tests=0
run_vim_90_tests=0 run_vim_90_tests=0
@@ -63,27 +63,27 @@ while [ $# -ne 0 ]; do
shift shift
;; ;;
--neovim-08-only) --neovim-08-only)
run_neovim_06_tests=0 run_neovim_07_tests=0
run_vim_80_tests=0 run_vim_80_tests=0
run_vim_90_tests=0 run_vim_90_tests=0
run_linters=0 run_linters=0
shift shift
;; ;;
--vim-only) --vim-only)
run_neovim_06_tests=0 run_neovim_07_tests=0
run_neovim_08_tests=0 run_neovim_08_tests=0
run_linters=0 run_linters=0
shift shift
;; ;;
--vim-80-only) --vim-80-only)
run_neovim_06_tests=0 run_neovim_07_tests=0
run_neovim_08_tests=0 run_neovim_08_tests=0
run_vim_90_tests=0 run_vim_90_tests=0
run_linters=0 run_linters=0
shift shift
;; ;;
--vim-90-only) --vim-90-only)
run_neovim_06_tests=0 run_neovim_07_tests=0
run_neovim_08_tests=0 run_neovim_08_tests=0
run_vim_80_tests=0 run_vim_80_tests=0
run_linters=0 run_linters=0
@@ -92,14 +92,14 @@ while [ $# -ne 0 ]; do
--linters-only) --linters-only)
run_vim_80_tests=0 run_vim_80_tests=0
run_vim_90_tests=0 run_vim_90_tests=0
run_neovim_06_tests=0 run_neovim_07_tests=0
run_neovim_08_tests=0 run_neovim_08_tests=0
shift shift
;; ;;
--fast) --fast)
run_vim_80_tests=0 run_vim_80_tests=0
run_vim_90_tests=0 run_vim_90_tests=0
run_neovim_06_tests=0 run_neovim_07_tests=0
run_neovim_08_tests=1 run_neovim_08_tests=1
shift shift
;; ;;
@@ -113,9 +113,9 @@ while [ $# -ne 0 ]; do
echo ' -v Enable verbose output' echo ' -v Enable verbose output'
echo ' -q Hide output for successful tests' echo ' -q Hide output for successful tests'
echo ' --build-image Run docker image build only.' echo ' --build-image Run docker image build only.'
echo ' --neovim-only Run tests only for NeoVim' echo ' --neovim-only Run tests only for Neovim'
echo ' --neovim-06-only Run tests only for NeoVim 0.2' echo ' --neovim-07-only Run tests only for Neovim 0.7'
echo ' --neovim-08-only Run tests only for NeoVim 0.8' echo ' --neovim-08-only Run tests only for Neovim 0.8'
echo ' --vim-only Run tests only for Vim' echo ' --vim-only Run tests only for Vim'
echo ' --vim-80-only Run tests only for Vim 8.2' echo ' --vim-80-only Run tests only for Vim 8.2'
echo ' --vim-90-only Run tests only for Vim 9.0' echo ' --vim-90-only Run tests only for Vim 9.0'
@@ -165,7 +165,7 @@ elif [[ "$DOCKER" == podman ]]; then
arch="x86_64" arch="x86_64"
fi fi
else else
echo "The DOCKER environnement variable must be docker or podman, not ${DOCKER}" echo "The DOCKER environment variable must be docker or podman, not ${DOCKER}"
exit 1 exit 1
fi fi
@@ -240,7 +240,7 @@ trap cancel_tests INT TERM
for vim in $("$DOCKER" run --rm "$DOCKER_RUN_IMAGE" ls /vim-build/bin | grep '^neovim\|^vim' ); do for vim in $("$DOCKER" run --rm "$DOCKER_RUN_IMAGE" ls /vim-build/bin | grep '^neovim\|^vim' ); do
if ( [[ $vim =~ ^vim-v8.0 ]] && ((run_vim_80_tests)) ) \ if ( [[ $vim =~ ^vim-v8.0 ]] && ((run_vim_80_tests)) ) \
|| ( [[ $vim =~ ^vim-v9.0 ]] && ((run_vim_90_tests)) ) \ || ( [[ $vim =~ ^vim-v9.0 ]] && ((run_vim_90_tests)) ) \
|| ( [[ $vim =~ ^neovim-v0.6 ]] && ((run_neovim_06_tests)) ) \ || ( [[ $vim =~ ^neovim-v0.7 ]] && ((run_neovim_07_tests)) ) \
|| ( [[ $vim =~ ^neovim-v0.8 ]] && ((run_neovim_08_tests)) ); then || ( [[ $vim =~ ^neovim-v0.8 ]] && ((run_neovim_08_tests)) ); then
echo "Starting Vim: $vim..." echo "Starting Vim: $vim..."
file_number=$((file_number+1)) file_number=$((file_number+1))
-3
View File
@@ -40,9 +40,6 @@ tests="$2"
echo "$vim" echo "$vim"
case $vim in case $vim in
neovim-v0.2*)
headless=''
;;
# Neovim 0.6+ requires headless argument to load Vader tests. # Neovim 0.6+ requires headless argument to load Vader tests.
neovim*) neovim*)
headless='--headless' headless='--headless'