Mercurial > vim
view src/testdir/test34.in @ 1013:61e5d40135d0 v7.0.139
updated for version 7.0-139
author | vimboss |
---|---|
date | Tue, 17 Oct 2006 11:37:50 +0000 |
parents | 8cd729851562 |
children | b63792dadc23 |
line wrap: on
line source
Test for user functions. Also test an <expr> mapping calling a function. STARTTEST :so small.vim :function Table(title, ...) : let ret = a:title : let idx = 1 : while idx <= a:0 : exe "let ret = ret . a:" . idx : let idx = idx + 1 : endwhile : return ret :endfunction :function Compute(n1, n2, divname) : if a:n2 == 0 : return "fail" : endif : exe "let g:" . a:divname . " = ". a:n1 / a:n2 : return "ok" :endfunction :func Expr1() : normal! v : return "111" :endfunc :func Expr2() : call search('XX', 'b') : return "222" :endfunc :func ListItem() : let g:counter += 1 : return g:counter . '. ' :endfunc :func ListReset() : let g:counter = 0 : return '' :endfunc :let counter = 0 :inoremap <expr> ( ListItem() :inoremap <expr> [ ListReset() :imap <expr> + Expr1() :imap <expr> * Expr2() :let retval = "nop" /^here C=Table("xxx", 4, "asdf") =Compute(45, 0, "retval") =retval =Compute(45, 5, "retval") =retval XX+-XX ---*--- (one (two [(one again:$-5,$wq! test.out ENDTEST here