mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
patch 8.2.3965: Vim9: no easy way to check if Vim9 script is supported
Problem: Vim9: no easy way to check if Vim9 script is supported. Solution: Add has('vim9script').
This commit is contained in:
parent
654b729c4c
commit
b79ee0c299
@ -391,8 +391,8 @@ later. Example: >
|
|||||||
endif
|
endif
|
||||||
enddef
|
enddef
|
||||||
|
|
||||||
If you would do it like this you get an error at compile time that
|
If you do it like this, you get an error at compile time that "PluginFunc"
|
||||||
"PluginFunc" does not exist, even when "g:loaded_plugin" does not exist: >
|
does not exist, even when "g:loaded_plugin" does not exist: >
|
||||||
def CallPluginFunc()
|
def CallPluginFunc()
|
||||||
if exists('g:loaded_plugin')
|
if exists('g:loaded_plugin')
|
||||||
PluginFunc() # Error - function not found
|
PluginFunc() # Error - function not found
|
||||||
@ -1411,9 +1411,6 @@ This can only work in two ways:
|
|||||||
2. The "if" statement evaluates to true, the commands up to `endif` are
|
2. The "if" statement evaluates to true, the commands up to `endif` are
|
||||||
executed and `finish` bails out before reaching `vim9script`.
|
executed and `finish` bails out before reaching `vim9script`.
|
||||||
|
|
||||||
TODO: The "vim9script" feature does not exist yet, it will only be added once
|
|
||||||
the Vim9 script syntax has been fully implemented.
|
|
||||||
|
|
||||||
|
|
||||||
Export ~
|
Export ~
|
||||||
*:export* *:exp*
|
*:export* *:exp*
|
||||||
|
@ -5929,6 +5929,7 @@ f_has(typval_T *argvars, typval_T *rettv)
|
|||||||
0
|
0
|
||||||
#endif
|
#endif
|
||||||
},
|
},
|
||||||
|
{"vim9script", 1},
|
||||||
{"vimscript-1", 1},
|
{"vimscript-1", 1},
|
||||||
{"vimscript-2", 1},
|
{"vimscript-2", 1},
|
||||||
{"vimscript-3", 1},
|
{"vimscript-3", 1},
|
||||||
|
@ -7,6 +7,23 @@ source vim9.vim
|
|||||||
source shared.vim
|
source shared.vim
|
||||||
source screendump.vim
|
source screendump.vim
|
||||||
|
|
||||||
|
def Test_vim9script_feature()
|
||||||
|
# example from the help, here the feature is always present
|
||||||
|
var lines =<< trim END
|
||||||
|
" old style comment
|
||||||
|
if !has('vim9script')
|
||||||
|
" legacy commands would go here
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
vim9script
|
||||||
|
# Vim9 script commands go here
|
||||||
|
g:didit = true
|
||||||
|
END
|
||||||
|
CheckScriptSuccess(lines)
|
||||||
|
assert_equal(true, g:didit)
|
||||||
|
unlet g:didit
|
||||||
|
enddef
|
||||||
|
|
||||||
def Test_range_only()
|
def Test_range_only()
|
||||||
new
|
new
|
||||||
setline(1, ['blah', 'Blah'])
|
setline(1, ['blah', 'Blah'])
|
||||||
|
@ -749,6 +749,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
3965,
|
||||||
/**/
|
/**/
|
||||||
3964,
|
3964,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user