diff options
author | Miran <narimiran@disroot.org> | 2019-07-03 18:55:15 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-07-03 18:55:15 +0200 |
commit | 0718d6c2cddac89256e2fcde17407f1685f1a457 (patch) | |
tree | 44bc170e4b22a69ebdba564ad669e78920152e6f | |
parent | 045eeab6b4eb95f855ffe73faa5de99a37e1cf74 (diff) | |
download | Nim-0718d6c2cddac89256e2fcde17407f1685f1a457.tar.gz |
[bugfix] fix wrong nimpretty unidents, refs #11616 (#11645)
-rw-r--r-- | compiler/layouter.nim | 2 | ||||
-rw-r--r-- | nimpretty/tests/exhaustive.nim | 12 | ||||
-rw-r--r-- | nimpretty/tests/expected/exhaustive.nim | 13 |
3 files changed, 26 insertions, 1 deletions
diff --git a/compiler/layouter.nim b/compiler/layouter.nim index e45e6400a..b2764b3eb 100644 --- a/compiler/layouter.nim +++ b/compiler/layouter.nim @@ -364,7 +364,7 @@ proc emitTok*(em: var Emitter; L: TLexer; tok: TToken) = em.indentLevel = tok.indent elif (em.lastTok in (splitters + oprSet) and tok.tokType notin closedPars): # aka: we are in an expression context: - let alignment = tok.indent - em.indentStack[^1] + let alignment = max(tok.indent - em.indentStack[^1], 0) em.indentLevel = alignment + em.indentStack.high * em.indWidth else: if tok.indent > em.indentStack[^1]: diff --git a/nimpretty/tests/exhaustive.nim b/nimpretty/tests/exhaustive.nim index 68d71e7a5..c0d4ac084 100644 --- a/nimpretty/tests/exhaustive.nim +++ b/nimpretty/tests/exhaustive.nim @@ -676,3 +676,15 @@ block: ## single line comment would be ok. block: var x = 7 + + +proc newRecordGen(ctx: Context; typ: TypRef): PNode = + result = nkTypeDef.t( + newId(typ.optSym.name, true, pragmas = [id(if typ.isUnion: "cUnion" else: "cStruct")]), + empty(), + nkObjectTy.t( + empty(), + empty(), + nkRecList.t( + typ.recFields.map(newRecFieldGen)))) + diff --git a/nimpretty/tests/expected/exhaustive.nim b/nimpretty/tests/expected/exhaustive.nim index 4d1b933ef..4ed056656 100644 --- a/nimpretty/tests/expected/exhaustive.nim +++ b/nimpretty/tests/expected/exhaustive.nim @@ -682,3 +682,16 @@ block: ## single line comment would be ok. block: var x = 7 + + +proc newRecordGen(ctx: Context; typ: TypRef): PNode = + result = nkTypeDef.t( + newId(typ.optSym.name, true, pragmas = [id( + if typ.isUnion: "cUnion" else: "cStruct")]), + empty(), + nkObjectTy.t( + empty(), + empty(), + nkRecList.t( + typ.recFields.map(newRecFieldGen)))) + |