mirror of
https://github.com/dense-analysis/ale.git
synced 2026-05-25 01:38:41 +08:00
Update the minimum supported Neovim version to 0.7
This commit is contained in:
+1
-1
@@ -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="\
|
||||||
|
|||||||
@@ -5,12 +5,12 @@
|
|||||||

|

|
||||||
|
|
||||||
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
|
||||||
|
|||||||
@@ -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
@@ -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
@@ -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'
|
||||||
|
|||||||
@@ -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))
|
||||||
|
|||||||
@@ -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'
|
||||||
|
|||||||
Reference in New Issue
Block a user