0
0
mirror of https://github.com/vim/vim.git synced 2025-09-30 04:44:14 -04:00

patch 8.2.1124: Vim9: no line break allowed in :import command

Problem:    Vim9: no line break allowed in :import command.
Solution:   Skip over line breaks.
This commit is contained in:
Bram Moolenaar
2020-07-04 13:15:31 +02:00
parent effb0cd75d
commit 1c991144c5
5 changed files with 179 additions and 91 deletions

View File

@@ -686,6 +686,35 @@ def Test_vim9_import_export()
unlet g:imported_name g:imported_name_appended
delete('Ximport.vim')
# similar, with line breaks
let import_line_break_script_lines =<< trim END
vim9script
import {
exported,
Exported,
}
from
'./Xexport.vim'
g:imported = exported
exported += 5
g:imported_added = exported
g:imported_func = Exported()
END
writefile(import_line_break_script_lines, 'Ximport_lbr.vim')
source Ximport_lbr.vim
assert_equal(9876, g:imported)
assert_equal(9881, g:imported_added)
assert_equal('Exported', g:imported_func)
# exported script not sourced again
assert_false(exists('g:result'))
unlet g:imported
unlet g:imported_added
unlet g:imported_func
delete('Ximport_lbr.vim')
# import inside :def function
let import_in_def_lines =<< trim END
vim9script
def ImportInDef()
@@ -751,6 +780,21 @@ def Test_vim9_import_export()
writefile(import_star_as_lines_missing_name, 'Ximport.vim')
assert_fails('source Ximport.vim', 'E1048:')
let import_star_as_lbr_lines =<< trim END
vim9script
import *
as Export
from
'./Xexport.vim'
def UseExport()
g:imported = Export.exported
enddef
UseExport()
END
writefile(import_star_as_lbr_lines, 'Ximport.vim')
source Ximport.vim
assert_equal(9883, g:imported)
let import_star_lines =<< trim END
vim9script
import * from './Xexport.vim'