fixes multi-line comments

This commit is contained in:
Andreas Rumpf
2016-01-17 23:46:23 +01:00
parent a9f6e2a843
commit 3114523a6f
2 changed files with 40 additions and 3 deletions

View File

@@ -913,9 +913,16 @@ proc skip(L: var TLexer, tok: var TToken) =
pos = handleCRLF(L, pos)
buf = L.buf
var indent = 0
while buf[pos] == ' ':
inc(pos)
inc(indent)
while true:
if buf[pos] == ' ':
inc(pos)
inc(indent)
elif buf[pos] == '#' and buf[pos+1] == '[':
skipMultiLineComment(L, tok, pos+2, false)
pos = L.bufpos
buf = L.buf
else:
break
tok.strongSpaceA = 0
when defined(nimfix):
template doBreak(): expr = buf[pos] > ' '

View File

@@ -32,3 +32,33 @@ proc bar =
##[Long documentation comment
here.
]##
proc write(a: auto, x: varargs[string, `$`]) =
stdout.write ($a)
for o in x:
stdout.write(o)
proc writeln(a: auto, x: varargs[string, `$`]) =
write a, x
stdout.write "\n"
proc write() = write(stdout)
proc writeln() =
stdout.write "\n"
#[ #[ Multiline comment in already
commented out code. ]#
proc p[T](x: T) = discard
]#
var hello = #[(x in bar)^^ "Hello" # greetings
]#"Hello"
proc maino =
write hello, " Test Me "
writeln()
write 3
block:
write()
write " times more"
#[ test ]# writeln " Again"