fixes #20553; don't format code for stropping identifier (#20561) [backport]

* fixes #20553; don't format code for stropping identifier

* add tests

* Update nimpretty/tests/expected/simple.nim

(cherry picked from commit 6082b9ea5d)
This commit is contained in:
ringabout
2022-10-14 05:37:41 +08:00
committed by narimiran
parent 8b86ba96f8
commit c35cb17b13
3 changed files with 31 additions and 5 deletions

View File

@@ -551,11 +551,15 @@ proc emitTok*(em: var Emitter; L: Lexer; tok: Token) =
if not preventComment:
emitComment(em, tok, dontIndent = false)
of tkIntLit..tkStrLit, tkRStrLit, tkTripleStrLit, tkGStrLit, tkGTripleStrLit, tkCharLit:
let lit = fileSection(em.config, em.fid, tok.offsetA, tok.offsetB)
if endsInAlpha(em) and tok.tokType notin {tkGStrLit, tkGTripleStrLit}: wrSpace(em)
em.lineSpan = countNewlines(lit)
if em.lineSpan > 0: calcCol(em, lit)
wr em, lit, ltLit
if not em.inquote:
let lit = fileSection(em.config, em.fid, tok.offsetA, tok.offsetB)
if endsInAlpha(em) and tok.tokType notin {tkGStrLit, tkGTripleStrLit}: wrSpace(em)
em.lineSpan = countNewlines(lit)
if em.lineSpan > 0: calcCol(em, lit)
wr em, lit, ltLit
else:
if endsInAlpha(em): wrSpace(em)
wr em, tok.literal, ltLit
of tkEof: discard
else:
let lit = if tok.ident != nil: tok.ident.s else: tok.literal

View File

@@ -16,3 +16,14 @@ proc a() =
discard ## comment 3
discard # comment 4
# bug #20553
let `'hello` = 12
echo `'hello`
proc `'u4`(n: string) =
# The leading ' is required.
discard

View File

@@ -16,3 +16,14 @@ proc a() =
discard## comment 3
discard # comment 4
# bug #20553
let `'hello` = 12
echo `'hello`
proc `'u4`(n: string) =
# The leading ' is required.
discard