diff --git a/autoload/airline/extensions/tabline.vim b/autoload/airline/extensions/tabline.vim index 47004751..64bd48c1 100644 --- a/autoload/airline/extensions/tabline.vim +++ b/autoload/airline/extensions/tabline.vim @@ -44,7 +44,7 @@ function! airline#extensions#tabline#add_tab_label(dict) endfunction -if !exists(":def") || (exists(":def") && get(g:, "airline_experimental", 0) == 0) +if !exists(":def") || !airline#util#has_vim9_script() " Legacy Vim Script Implementation diff --git a/autoload/airline/extensions/tabline/formatters/default.vim b/autoload/airline/extensions/tabline/formatters/default.vim index 5dab7b05..428be7b4 100644 --- a/autoload/airline/extensions/tabline/formatters/default.vim +++ b/autoload/airline/extensions/tabline/formatters/default.vim @@ -3,7 +3,7 @@ scriptencoding utf-8 -if !exists(":def") || (exists(":def") && get(g:, "airline_experimental", 0) == 0) +if !exists(":def") || !airline#util#has_vim9_script() function! airline#extensions#tabline#formatters#default#format(bufnr, buffers) let fnametruncate = get(g:, 'airline#extensions#tabline#fnametruncate', 0) let fmod = get(g:, 'airline#extensions#tabline#fnamemod', ':~:.') diff --git a/autoload/airline/highlighter.vim b/autoload/airline/highlighter.vim index 348a8426..8f2e075a 100644 --- a/autoload/airline/highlighter.vim +++ b/autoload/airline/highlighter.vim @@ -13,7 +13,7 @@ let s:separators = {} let s:accents = {} let s:hl_groups = {} -if !exists(":def") || (exists(":def") && get(g:, "airline_experimental", 0) == 0) +if !exists(":def") || !airline#util#has_vim9_script() " Legacy Vimscript implementation function! s:gui2cui(rgb, fallback) abort diff --git a/autoload/airline/msdos.vim b/autoload/airline/msdos.vim index ebafdc7c..594c191e 100644 --- a/autoload/airline/msdos.vim +++ b/autoload/airline/msdos.vim @@ -41,7 +41,7 @@ let s:basic16 = [ \ [ 0xFF, 0xFF, 0xFF ] \ ] -if !exists(":def") || (exists(":def") && get(g:, "airline_experimental", 0) == 0) +if !exists(":def") || !airline#util#has_vim9_script() function! airline#msdos#round_msdos_colors(rgblist) " Check for values from MSDOS 16 color terminal diff --git a/autoload/airline/themes.vim b/autoload/airline/themes.vim index 0ce28487..e12f1540 100644 --- a/autoload/airline/themes.vim +++ b/autoload/airline/themes.vim @@ -3,7 +3,7 @@ scriptencoding utf-8 -if !exists(":def") || (exists(":def") && get(g:, "airline_experimental", 0) == 0) +if !exists(":def") || !airline#util#has_vim9_script() " Legacy Vim Script Implementation diff --git a/autoload/airline/util.vim b/autoload/airline/util.vim index 337851d8..d871249b 100644 --- a/autoload/airline/util.vim +++ b/autoload/airline/util.vim @@ -214,3 +214,10 @@ function! airline#util#try_focusgained() return dt >= 1 endfunction +function! airline#util#has_vim9_script() + " Returns true, if Vim is new enough to understand vim9 script + return (exists(":def") && + \ v:versionlong >= 8022844 && + \ get(g:, "airline_experimental", 0)) +endfunction +