#! blocks are determined by `:` and `end`, not whitespace
#@ if True:
#@ a = 123
#@ else:
#@ a = 124
#@ end
test1: #@ a

#@  if True:
#@       a = 223
#@  else:
#@  a = 224
#@    end
test2: #@ a

#@ for a in [3]:
#@   for b in [20]:
#@     for c in [300]:
test3: #@ a+b+c
#@     end
#@   end
#@ end

#! preserves space within strings
#@ a = "line1\n\
#@    line2"
test4: #@ a

+++

test1: 123
test2: 223
test3: 323
test4: |-
  line1
     line2
