summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--compiler/lexer.nim8
-rw-r--r--nimpretty/tests/expected/simple.nim3
-rw-r--r--nimpretty/tests/expected/simple2.nim6
-rw-r--r--nimpretty/tests/simple2.nim6
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()