mirror of
https://github.com/nim-lang/Nim.git
synced 2026-07-20 07:51:32 +00:00
nimpretty: bugfixes; refs #8078
This commit is contained in:
@@ -74,9 +74,10 @@ template wr(x) =
|
||||
template goodCol(col): bool = col in 40..MaxLineLen
|
||||
|
||||
const
|
||||
splitters = {tkComma, tkSemicolon, tkParLe, tkParDotLe,
|
||||
tkBracketLe, tkBracketLeColon, tkCurlyDotLe,
|
||||
tkCurlyLe}
|
||||
openPars = {tkParLe, tkParDotLe,
|
||||
tkBracketLe, tkBracketLeColon, tkCurlyDotLe,
|
||||
tkCurlyLe}
|
||||
splitters = openPars + {tkComma, tkSemicolon}
|
||||
oprSet = {tkOpr, tkDiv, tkMod, tkShl, tkShr, tkIn, tkNotin, tkIs,
|
||||
tkIsnot, tkNot, tkOf, tkAs, tkDotDot, tkAnd, tkOr, tkXor}
|
||||
|
||||
@@ -169,7 +170,9 @@ proc emitTok*(em: var Emitter; L: TLexer; tok: TToken) =
|
||||
of tokKeywordLow..tokKeywordHigh:
|
||||
if endsInAlpha(em):
|
||||
wr(" ")
|
||||
elif not em.inquote and not endsInWhite(em) and tok.tokType in oprSet:
|
||||
elif not em.inquote and not endsInWhite(em) and
|
||||
em.lastTok notin openPars:
|
||||
#and tok.tokType in oprSet
|
||||
wr(" ")
|
||||
|
||||
if not em.inquote:
|
||||
|
||||
@@ -16,7 +16,7 @@ proc test(infile, outfile: string) =
|
||||
let produced = dir / nimFile & ".pretty"
|
||||
if strip(readFile(expected)) != strip(readFile(produced)):
|
||||
echo "FAILURE: files differ: ", nimFile
|
||||
discard execShellCmd("diff -uNdr " & produced & " " & expected)
|
||||
discard execShellCmd("diff -uNdr " & expected & " " & produced)
|
||||
failures += 1
|
||||
else:
|
||||
echo "SUCCESS: files identical: ", nimFile
|
||||
|
||||
@@ -8,6 +8,22 @@ import verylongnamehere,verylongnamehere,verylongnamehereverylongnamehereverylon
|
||||
proc `[]=`() = discard "index setter"
|
||||
proc `putter=`() = discard cast[pointer](cast[int](buffer) + size)
|
||||
|
||||
(not false)
|
||||
|
||||
let expr = if true: "true" else: "false"
|
||||
|
||||
var body = newNimNode(nnkIfExpr).add(
|
||||
newNimNode(nnkElifBranch).add(
|
||||
infix(newDotExpr(ident("a"), ident("kind")), "==", newDotExpr(ident("b"), ident("kind"))),
|
||||
condition
|
||||
),
|
||||
newNimNode(nnkElse).add(newStmtList(newNimNode(nnkReturnStmt).add(ident("false"))))
|
||||
)
|
||||
|
||||
# comment
|
||||
|
||||
var x = 1
|
||||
|
||||
type
|
||||
GeneralTokenizer* = object of RootObj ## comment here
|
||||
kind*: TokenClass ## and here
|
||||
|
||||
@@ -9,6 +9,24 @@ import verylongnamehere, verylongnamehere,
|
||||
proc `[]=`() = discard "index setter"
|
||||
proc `putter=`() = discard cast[pointer](cast[int](buffer) + size)
|
||||
|
||||
(not false)
|
||||
|
||||
let expr = if true: "true" else: "false"
|
||||
|
||||
var body = newNimNode(nnkIfExpr).add(
|
||||
newNimNode(nnkElifBranch).add(
|
||||
infix(newDotExpr(ident("a"), ident("kind")), "==", newDotExpr(ident("b"),
|
||||
ident("kind"))),
|
||||
condition
|
||||
),
|
||||
newNimNode(nnkElse).add(newStmtList(newNimNode(nnkReturnStmt).add(ident(
|
||||
"false"))))
|
||||
)
|
||||
|
||||
# comment
|
||||
|
||||
var x = 1
|
||||
|
||||
type
|
||||
GeneralTokenizer* = object of RootObj ## comment here
|
||||
kind*: TokenClass ## and here
|
||||
|
||||
Reference in New Issue
Block a user