diff options
-rw-r--r-- | compiler/lexer.nim | 8 | ||||
-rw-r--r-- | nimpretty/tests/expected/simple.nim | 3 | ||||
-rw-r--r-- | nimpretty/tests/expected/simple2.nim | 6 | ||||
-rw-r--r-- | nimpretty/tests/simple2.nim | 6 |
4 files changed, 21 insertions, 2 deletions
diff --git a/compiler/lexer.nim b/compiler/lexer.nim index c62671ee9..4d08c16b0 100644 --- a/compiler/lexer.nim +++ b/compiler/lexer.nim @@ -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 diff --git a/nimpretty/tests/expected/simple.nim b/nimpretty/tests/expected/simple.nim index 75f570bac..9e3c52f9b 100644 --- a/nimpretty/tests/expected/simple.nim +++ b/nimpretty/tests/expected/simple.nim @@ -1,4 +1,5 @@ var x: int = 2 -echo x # bug #9144 +echo x +# bug #9144 diff --git a/nimpretty/tests/expected/simple2.nim b/nimpretty/tests/expected/simple2.nim index 99b48e543..f26a2f2ed 100644 --- a/nimpretty/tests/expected/simple2.nim +++ b/nimpretty/tests/expected/simple2.nim @@ -7,3 +7,9 @@ proc fun*() = echo "ok" ## doc comment # regular comment + +proc funB() = + echo "ok1" + # echo "ok2" + +fun() diff --git a/nimpretty/tests/simple2.nim b/nimpretty/tests/simple2.nim index d07885fc5..6cf9573df 100644 --- a/nimpretty/tests/simple2.nim +++ b/nimpretty/tests/simple2.nim @@ -7,3 +7,9 @@ proc fun*()= echo "ok" ## doc comment # regular comment + +proc funB() = + echo "ok1" + # echo "ok2" + +fun() |