mirror of
https://github.com/nim-lang/Nim.git
synced 2026-02-15 07:43:26 +00:00
nimpretty: fixes #9398
This commit is contained in:
@@ -1118,6 +1118,7 @@ proc skip(L: var TLexer, tok: var TToken) =
|
||||
tok.strongSpaceA = 0
|
||||
when defined(nimpretty):
|
||||
var hasComment = false
|
||||
var commentIndent = L.currLineIndent
|
||||
tok.commentOffsetA = L.offsetBase + pos
|
||||
tok.commentOffsetB = tok.commentOffsetA
|
||||
tok.line = -1
|
||||
@@ -1146,6 +1147,8 @@ proc skip(L: var TLexer, tok: var TToken) =
|
||||
else:
|
||||
break
|
||||
tok.strongSpaceA = 0
|
||||
when defined(nimpretty):
|
||||
if buf[pos] == '#': commentIndent = indent
|
||||
if buf[pos] > ' ' and (buf[pos] != '#' or buf[pos+1] == '#'):
|
||||
tok.indent = indent
|
||||
L.currLineIndent = indent
|
||||
@@ -1155,7 +1158,9 @@ proc skip(L: var TLexer, tok: var TToken) =
|
||||
if buf[pos+1] == '#': break
|
||||
when defined(nimpretty):
|
||||
hasComment = true
|
||||
if tok.line < 0: tok.line = L.lineNumber
|
||||
if tok.line < 0:
|
||||
tok.line = L.lineNumber
|
||||
#commentIndent = L.currLineIndent # if tok.strongSpaceA == 0: -1 else: tok.strongSpaceA
|
||||
|
||||
if buf[pos+1] == '[':
|
||||
skipMultiLineComment(L, tok, pos+2, false)
|
||||
@@ -1177,6 +1182,7 @@ proc skip(L: var TLexer, tok: var TToken) =
|
||||
if hasComment:
|
||||
tok.commentOffsetB = L.offsetBase + pos - 1
|
||||
tok.tokType = tkComment
|
||||
tok.indent = commentIndent
|
||||
if gIndentationWidth <= 0:
|
||||
gIndentationWidth = tok.indent
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
|
||||
var x: int = 2
|
||||
|
||||
echo x # bug #9144
|
||||
echo x
|
||||
# bug #9144
|
||||
|
||||
@@ -7,3 +7,9 @@ proc fun*() =
|
||||
echo "ok"
|
||||
## doc comment
|
||||
# regular comment
|
||||
|
||||
proc funB() =
|
||||
echo "ok1"
|
||||
# echo "ok2"
|
||||
|
||||
fun()
|
||||
|
||||
@@ -7,3 +7,9 @@ proc fun*()=
|
||||
echo "ok"
|
||||
## doc comment
|
||||
# regular comment
|
||||
|
||||
proc funB() =
|
||||
echo "ok1"
|
||||
# echo "ok2"
|
||||
|
||||
fun()
|
||||
|
||||
Reference in New Issue
Block a user