From 3003bc61c3417344e18e78fdb2ea1768cc54fc7c Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Mon, 18 Feb 2019 13:20:54 -0800 Subject: [PATCH] don't forget this case --- .../jsonic-demo-2/indenter.rkt | 21 +++++++++++-------- .../jsonic-demo-3/indenter.rkt | 21 +++++++++++-------- 2 files changed, 24 insertions(+), 18 deletions(-) diff --git a/beautiful-racket-demo/jsonic-demo-2/indenter.rkt b/beautiful-racket-demo/jsonic-demo-2/indenter.rkt index a4fc707..c9bf956 100644 --- a/beautiful-racket-demo/jsonic-demo-2/indenter.rkt +++ b/beautiful-racket-demo/jsonic-demo-2/indenter.rkt @@ -8,15 +8,18 @@ (define (indent-jsonic tbox [posn 0]) (define prev-line (previous-line tbox posn)) (define current-line (line tbox posn)) - (define prev-indent (line-indent tbox prev-line)) (cond - [(left-bracket? - (line-first-visible-char tbox prev-line)) - (+ prev-indent indent-width)] - [(right-bracket? - (line-first-visible-char tbox current-line)) - (- prev-indent indent-width)] - [else prev-indent])) + [(not prev-line) 0] + [else + (define prev-indent (line-indent tbox prev-line)) + (cond + [(left-bracket? + (line-first-visible-char tbox prev-line)) + (+ prev-indent indent-width)] + [(right-bracket? + (line-first-visible-char tbox current-line)) + (- prev-indent indent-width)] + [else prev-indent])])) (provide (contract-out [indent-jsonic (((is-a?/c text%)) @@ -28,7 +31,7 @@ (define test-str #<