summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorw0rp <devw0rp@gmail.com>2023-09-07 19:59:05 +0100
committerw0rp <devw0rp@gmail.com>2023-09-07 20:01:31 +0100
commit108e858d61bcd5962ca404f12d8b56e5986739c1 (patch)
tree266b52b16b9c9ba239f0080a609c9d7e6ba1f675
parent14350dbb0d265ef87d1c7d420d89fb4165a2b131 (diff)
downloadale-108e858d61bcd5962ca404f12d8b56e5986739c1.zip
Update minimum supported NeoVim version to 0.6.0
Stop officially supporting NeoVim versions below 0.6.0, without necessarily breaking ALE for people using older versions.
-rw-r--r--.github/workflows/main.yml2
-rw-r--r--Dockerfile2
-rw-r--r--README.md2
-rw-r--r--doc/ale-development.txt4
-rw-r--r--plugin/ale.vim3
-rwxr-xr-xrun-tests22
-rw-r--r--test/completion/test_omnifunc_completion.vader2
-rw-r--r--test/test_neovim_diagnostics.vader100
8 files changed, 66 insertions, 71 deletions
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 4910a5ed..27d02c1a 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -28,7 +28,7 @@ jobs:
vim-version:
- '--vim-80-only'
- '--vim-90-only'
- - '--neovim-02-only'
+ - '--neovim-06-only'
- '--neovim-08-only'
- '--linters-only'
steps:
diff --git a/Dockerfile b/Dockerfile
index c7cc6e98..e751763c 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -4,7 +4,7 @@ FROM testbed/vim:${TESTBED_VIM_VERSION}
RUN install_vim -tag v8.0.0027 -build \
-tag v9.0.0297 -build \
- -tag neovim:v0.2.0 -build \
+ -tag neovim:v0.6.0 -build \
-tag neovim:v0.8.0 -build
ENV PACKAGES="\
diff --git a/README.md b/README.md
index 42d1d6b6..a61358b4 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@
![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
-and semantic errors) in NeoVim 0.2.0+ and Vim 8.0+ while you edit your text files,
+and semantic errors) in NeoVim 0.6.0+ and Vim 8.0+ while you edit your text files,
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>
diff --git a/doc/ale-development.txt b/doc/ale-development.txt
index 6bc009fd..6ba03da1 100644
--- a/doc/ale-development.txt
+++ b/doc/ale-development.txt
@@ -48,7 +48,7 @@ documented functions and options, until a major version is planned. Breaking
changes should be preceded by a deprecation phase complete with warnings.
Changes required for security may be an exception.
-ALE supports Vim 8 and above, and NeoVim 0.2.0 or newer. These are the
+ALE supports Vim 8 and above, and NeoVim 0.6.0 or newer. These are the
earliest versions of Vim and NeoVim which support |job|, |timer|, |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 features can
@@ -156,7 +156,7 @@ environments.
1. Vim 8.0.0027 on Linux via GitHub Actions.
2. Vim 9.0.0297 on Linux via GitHub Actions.
-3. NeoVim 0.2.0 on Linux via GitHub Actions.
+3. NeoVim 0.6.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.
diff --git a/plugin/ale.vim b/plugin/ale.vim
index e239f233..7eccdb5f 100644
--- a/plugin/ale.vim
+++ b/plugin/ale.vim
@@ -14,6 +14,7 @@ let g:loaded_ale_dont_use_this_in_other_plugins_please = 1
" A flag for detecting if the required features are set.
if has('nvim')
+ " We check for NeoVim 0.2.0+, but we only officially support NeoVim 0.6.0
let s:has_features = has('timers') && has('nvim-0.2.0')
else
" Check if Job and Channel functions are available, instead of the
@@ -25,7 +26,7 @@ if !s:has_features
" Only output a warning if editing some special files.
if index(['', 'gitcommit'], &filetype) == -1
" no-custom-checks
- echoerr 'ALE requires NeoVim >= 0.2.0 or Vim 8 with +timers +job +channel'
+ echoerr 'ALE requires NeoVim >= 0.6.0 or Vim 8 with +timers +job +channel'
" no-custom-checks
echoerr 'Please update your editor appropriately.'
endif
diff --git a/run-tests b/run-tests
index a2b83bd2..a952663f 100755
--- a/run-tests
+++ b/run-tests
@@ -24,7 +24,7 @@ tests='test/*.vader test/*/*.vader test/*/*/*.vader'
# These flags are forwarded to the script for running Vader tests.
verbose_flag=''
quiet_flag=''
-run_neovim_02_tests=1
+run_neovim_06_tests=1
run_neovim_08_tests=1
run_vim_80_tests=1
run_vim_90_tests=1
@@ -43,7 +43,7 @@ while [ $# -ne 0 ]; do
--build-image)
run_vim_80_tests=0
run_vim_90_tests=0
- run_neovim_02_tests=0
+ run_neovim_06_tests=0
run_neovim_08_tests=0
run_linters=0
shift
@@ -54,7 +54,7 @@ while [ $# -ne 0 ]; do
run_linters=0
shift
;;
- --neovim-02-only)
+ --neovim-06-only)
run_neovim_08_tests=0
run_vim_80_tests=0
run_vim_90_tests=0
@@ -62,27 +62,27 @@ while [ $# -ne 0 ]; do
shift
;;
--neovim-08-only)
- run_neovim_02_tests=0
+ run_neovim_06_tests=0
run_vim_80_tests=0
run_vim_90_tests=0
run_linters=0
shift
;;
--vim-only)
- run_neovim_02_tests=0
+ run_neovim_06_tests=0
run_neovim_08_tests=0
run_linters=0
shift
;;
--vim-80-only)
- run_neovim_02_tests=0
+ run_neovim_06_tests=0
run_neovim_08_tests=0
run_vim_90_tests=0
run_linters=0
shift
;;
--vim-90-only)
- run_neovim_02_tests=0
+ run_neovim_06_tests=0
run_neovim_08_tests=0
run_vim_80_tests=0
run_linters=0
@@ -91,14 +91,14 @@ while [ $# -ne 0 ]; do
--linters-only)
run_vim_80_tests=0
run_vim_90_tests=0
- run_neovim_02_tests=0
+ run_neovim_06_tests=0
run_neovim_08_tests=0
shift
;;
--fast)
run_vim_80_tests=0
run_vim_90_tests=0
- run_neovim_02_tests=0
+ run_neovim_06_tests=0
run_neovim_08_tests=1
shift
;;
@@ -113,7 +113,7 @@ while [ $# -ne 0 ]; do
echo ' -q Hide output for successful tests'
echo ' --build-image Run docker image build only.'
echo ' --neovim-only Run tests only for NeoVim'
- echo ' --neovim-02-only Run tests only for NeoVim 0.2'
+ echo ' --neovim-06-only Run tests only for NeoVim 0.2'
echo ' --neovim-08-only Run tests only for NeoVim 0.8'
echo ' --vim-only Run tests only for Vim'
echo ' --vim-80-only Run tests only for Vim 8.2'
@@ -228,7 +228,7 @@ trap cancel_tests INT TERM
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)) ) \
|| ( [[ $vim =~ ^vim-v9.0 ]] && ((run_vim_90_tests)) ) \
- || ( [[ $vim =~ ^neovim-v0.2 ]] && ((run_neovim_02_tests)) ) \
+ || ( [[ $vim =~ ^neovim-v0.6 ]] && ((run_neovim_06_tests)) ) \
|| ( [[ $vim =~ ^neovim-v0.8 ]] && ((run_neovim_08_tests)) ); then
echo "Starting Vim: $vim..."
file_number=$((file_number+1))
diff --git a/test/completion/test_omnifunc_completion.vader b/test/completion/test_omnifunc_completion.vader
index 1db64705..c9ecd205 100644
--- a/test/completion/test_omnifunc_completion.vader
+++ b/test/completion/test_omnifunc_completion.vader
@@ -45,7 +45,7 @@ Execute(The start position should be returned when results can be requested):
AssertEqual 11, ale#completion#OmniFunc(1, '')
Execute(The omnifunc function should return async results):
- " Neovim 0.2.0 and 0.4.4 struggles at running these tests.
+ " Neovim struggles at running these tests.
if !has('nvim')
call timer_start(0, function('SetCompletionResult'))
diff --git a/test/test_neovim_diagnostics.vader b/test/test_neovim_diagnostics.vader
index 41997097..4cef8d35 100644
--- a/test/test_neovim_diagnostics.vader
+++ b/test/test_neovim_diagnostics.vader
@@ -2,10 +2,6 @@ Before:
Save g:ale_use_neovim_diagnostics_api
function! CollectMessages(buffer)
- if !has('nvim-0.6')
- return
- endif
-
let l:messages = []
for l:diag in v:lua.vim.diagnostic.get(a:buffer)
call add(l:messages, l:diag.message)
@@ -22,56 +18,54 @@ After:
Execute(Should only set diagnostics belonging to the given buffer):
if has('nvim-0.6')
+ let b:other_bufnr = bufnr('/foo/bar/baz', 1)
+ " Make sure we actually get another buffer number, or the test is invalid.
+ AssertNotEqual -1, b:other_bufnr
- let b:other_bufnr = bufnr('/foo/bar/baz', 1)
- " Make sure we actually get another buffer number, or the test is invalid.
- AssertNotEqual -1, b:other_bufnr
-
- let g:ale_use_neovim_diagnostics_api = 1
-
- call ale#engine#SetResults(bufnr('%'), [
- \ {
- \ 'lnum': 1,
- \ 'col': 10,
- \ 'bufnr': bufnr('%'),
- \ 'vcol': 0,
- \ 'linter_name': 'bettercode',
- \ 'nr': -1,
- \ 'type': 'W',
- \ 'text': 'A',
- \ },
- \ {
- \ 'lnum': 2,
- \ 'col': 10,
- \ 'bufnr': b:other_bufnr,
- \ 'vcol': 0,
- \ 'linter_name': 'bettercode',
- \ 'nr': -1,
- \ 'type': 'W',
- \ 'text': 'B',
- \ },
- \ {
- \ 'lnum': 3,
- \ 'col': 1,
- \ 'bufnr': bufnr('%'),
- \ 'vcol': 0,
- \ 'linter_name': 'bettercode',
- \ 'nr': -1,
- \ 'type': 'E',
- \ 'text': 'C',
- \ },
- \ {
- \ 'lnum': 4,
- \ 'col': 1,
- \ 'bufnr': b:other_bufnr,
- \ 'vcol': 0,
- \ 'linter_name': 'bettercode',
- \ 'nr': -1,
- \ 'type': 'E',
- \ 'text': 'D',
- \ },
- \])
+ let g:ale_use_neovim_diagnostics_api = 1
- AssertEqual ["A", "C"], CollectMessages(bufnr('%'))
+ call ale#engine#SetResults(bufnr('%'), [
+ \ {
+ \ 'lnum': 1,
+ \ 'col': 10,
+ \ 'bufnr': bufnr('%'),
+ \ 'vcol': 0,
+ \ 'linter_name': 'bettercode',
+ \ 'nr': -1,
+ \ 'type': 'W',
+ \ 'text': 'A',
+ \ },
+ \ {
+ \ 'lnum': 2,
+ \ 'col': 10,
+ \ 'bufnr': b:other_bufnr,
+ \ 'vcol': 0,
+ \ 'linter_name': 'bettercode',
+ \ 'nr': -1,
+ \ 'type': 'W',
+ \ 'text': 'B',
+ \ },
+ \ {
+ \ 'lnum': 3,
+ \ 'col': 1,
+ \ 'bufnr': bufnr('%'),
+ \ 'vcol': 0,
+ \ 'linter_name': 'bettercode',
+ \ 'nr': -1,
+ \ 'type': 'E',
+ \ 'text': 'C',
+ \ },
+ \ {
+ \ 'lnum': 4,
+ \ 'col': 1,
+ \ 'bufnr': b:other_bufnr,
+ \ 'vcol': 0,
+ \ 'linter_name': 'bettercode',
+ \ 'nr': -1,
+ \ 'type': 'E',
+ \ 'text': 'D',
+ \ },
+ \])
+ AssertEqual ["A", "C"], CollectMessages(bufnr('%'))
endif