summaryrefslogtreecommitdiff
path: root/mnv/runtime/syntax/testdir/input/mnv_ex_execute.mnv
blob: 683d0a9d338b8772ead2a664d464bf5674d8c1ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
" MNV :execute command


" :help :execute

execute "buffer" nextbuf
execute "normal" count .. "w"
execute '!ls' | echo "theend"
execute "normal ixxx\<Esc>"
execute "e " .. fnameescape(filename)
execute "!ls " .. shellescape(filename, 1)
if 0
 execute 'while i > 5'
  echo "test"
 endwhile
endif
execute 'while i < 5 | echo i | let i = i + 1 | endwhile'


" Trailing bar vs OR operator

" OR operator
execute foo || bar ? "Foo" : "NotFoo"
execute foo ||
      \ bar ? "Foo" : "NotFoo"

" following command is :|"
execute "Foo" | |

" invalid expression
execute "Foo" ||


" Line continuations

execute "call"
      "\ comment
      \ "Foo()"

execute
      \ "call"
      "\ comment
      \ "Foo()"


" Trailing bar and comments

" :execute without {expr}
execute| echo "Foo"

" trailing comment needs |
execute "Foo" | " comment

def MNV9Context()
  # trailing comment allowed
  execute "Foo" # comment
enddef


" Issue #9987 (parenthesised argument - not a function call)

let foo = {'arg': "call Foo()"}
execute (foo.arg)