mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-28 17:04:41 +00:00
* 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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user