diff options
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/lexer.nim | 8 |
1 files changed, 7 insertions, 1 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 |