Simplify version checking

Fix #1329
This commit is contained in:
Junegunn Choi
2021-09-29 20:22:47 +09:00
parent bd703a7a7d
commit e393108bfa

View File

@@ -48,18 +48,6 @@ let s:wide = 120
let s:warned = 0 let s:warned = 0
let s:checked = 0 let s:checked = 0
function! s:version_requirement(val, min)
let val = split(a:val, '\.')
let min = split(a:min, '\.')
for idx in range(0, len(min) - 1)
let v = get(val, idx, 0)
if v < min[idx] | return 0
elseif v > min[idx] | return 1
endif
endfor
return 1
endfunction
function! s:check_requirements() function! s:check_requirements()
if s:checked if s:checked
return return
@@ -71,18 +59,7 @@ function! s:check_requirements()
if !exists('*fzf#exec') if !exists('*fzf#exec')
throw "fzf#exec function not found. You need to upgrade Vim plugin from the main fzf repository ('junegunn/fzf')" throw "fzf#exec function not found. You need to upgrade Vim plugin from the main fzf repository ('junegunn/fzf')"
endif endif
let exec = fzf#exec() let s:checked = !empty(fzf#exec(s:min_version))
let output = split(system(exec . ' --version'), "\n")
if v:shell_error || empty(output)
throw 'Failed to run "fzf --version": ' . string(output)
endif
let fzf_version = matchstr(output[-1], '[0-9.]\+')
if s:version_requirement(fzf_version, s:min_version)
let s:checked = 1
return
end
throw printf('You need to upgrade fzf. Found: %s (%s). Required: %s or above.', fzf_version, exec, s:min_version)
endfunction endfunction
function! s:extend_opts(dict, eopts, prepend) function! s:extend_opts(dict, eopts, prepend)