Skip to content

Commit e5e1826

Browse files
committed
Drop render-map, use different key for assigned parens
1 parent eda1dfb commit e5e1826

File tree

2 files changed

+13
-28
lines changed

2 files changed

+13
-28
lines changed

src/nextjournal/clerk/render.cljs

+9-24
Original file line numberDiff line numberDiff line change
@@ -428,21 +428,20 @@
428428
[triangle expanded?]]
429429
[:span.group-hover:text-indigo-700 opening-paren]]))
430430

431-
(defn render-coll [xs {:as opts :keys [closing-paren path viewer !expanded-at] :or {path []}}]
431+
(defn render-coll [xs {:as opts :keys [closing-parens path viewer !expanded-at] :or {path []}}]
432432
(let [expanded? (get @!expanded-at path)
433-
{:keys [opening-paren]} viewer]
433+
{:keys [opening-paren closing-paren]} viewer]
434434
[:span.inspected-value.whitespace-nowrap
435435
{:class (when expanded? "inline-flex")}
436436
[:span
437-
(if (< 1 (count xs))
437+
(if (expandable? xs)
438438
[expand-button !expanded-at opening-paren path]
439439
[:span opening-paren])
440440
(into [:<>]
441441
(comp (inspect-children opts)
442442
(interpose (if expanded? [:<> [:br] triangle-spacer nbsp (when (= 2 (count opening-paren)) nbsp)] " ")))
443443
xs)
444-
[:span
445-
(cond->> closing-paren (list? closing-paren) (into [:<>]))]]]))
444+
(into [:span] (or closing-parens [closing-paren]))]]))
446445

447446
(defn render-elision [{:as fetch-opts :keys [total offset unbounded?]} _]
448447
[view-context/consume :fetch-fn
@@ -455,20 +454,6 @@
455454
:on-click #(when (fn? fetch-fn)
456455
(fetch-fn fetch-opts))} (- total offset) (when unbounded? "+") (if (fn? fetch-fn) " more…" " more elided")])])
457456

458-
(defn render-map [xs {:as opts :keys [closing-paren path viewer !expanded-at] :or {path []}}]
459-
(let [expanded? (get @!expanded-at path)]
460-
[:span.inspected-value.whitespace-nowrap
461-
{:class (when expanded? "inline-flex")}
462-
[:span
463-
(if (expandable? xs)
464-
[expand-button !expanded-at "{" path]
465-
[:span "{"])
466-
(into [:<>]
467-
(comp (inspect-children opts)
468-
(interpose (if expanded? [:<> [:br] triangle-spacer nbsp #_(repeat (inc (count path)) nbsp)] " ")))
469-
xs)
470-
(cond->> closing-paren (list? closing-paren) (into [:<>]))]]))
471-
472457

473458
(defn render-string [s {:as opts :keys [path !expanded-at] :or {path []}}]
474459
(let [expanded? (get @!expanded-at path)]
@@ -480,16 +465,16 @@
480465
(inspect-presented opts %)))
481466
(if (string? s) [s] s))))
482467

483-
(defn render-quoted-string [s {:as opts :keys [closing-paren path viewer !expanded-at] :or {path []}}]
484-
(let [{:keys [opening-paren]} viewer]
468+
(defn render-quoted-string [s {:as opts :keys [closing-parens path viewer !expanded-at] :or {path []}}]
469+
(let [{:keys [opening-paren closing-paren]} viewer]
485470
[:span.inspected-value.inline-flex
486471
[:span.cmt-string
487472
(if (some #(and (string? %) (str/includes? % "\n")) (if (string? s) [s] s))
488473
[expand-button !expanded-at opening-paren path]
489474
[:span opening-paren])]
490-
[:div
491-
[:span.cmt-string (viewer/->value (render-string s opts)) (first closing-paren)]
492-
(when (list? closing-paren) (into [:<>] (rest closing-paren)))]]))
475+
(into [:div
476+
[:span.cmt-string (viewer/->value (render-string s opts)) (first closing-paren)]
477+
(rest closing-parens)])]))
493478

494479
(defn render-number [num]
495480
[:span.cmt-number.inspected-value

src/nextjournal/clerk/viewer.cljc

+4-4
Original file line numberDiff line numberDiff line change
@@ -810,7 +810,7 @@
810810
{:pred sequential? :name `sequential-viewer :render-fn 'nextjournal.clerk.render/render-coll :opening-paren "(" :closing-paren ")" :page-size 20})
811811

812812
(def map-viewer
813-
{:pred map? :name `map-viewer :render-fn 'nextjournal.clerk.render/render-map :opening-paren "{" :closing-paren "}" :page-size 10})
813+
{:pred map? :name `map-viewer :render-fn 'nextjournal.clerk.render/render-coll :opening-paren "{" :closing-paren "}" :page-size 10})
814814

815815
#?(:cljs (defn var->symbol [v] (if (instance? sci.lang.Var v) (sci.impl.vars/toSymbol v) (symbol v))))
816816

@@ -1640,9 +1640,9 @@
16401640
(or (-> value last :nextjournal/viewer :closing-paren) ;; the last element can carry parens
16411641
(and (= `map-entry-viewer (-> value last :nextjournal/viewer :name)) ;; the last element is a map entry whose value can carry parens
16421642
(-> value last :nextjournal/value last :nextjournal/viewer :closing-paren))))]
1643-
(cond-> (if (or (not closing) defer-closing?)
1644-
node
1645-
(assoc-in node [:nextjournal/opts :closing-paren] (cons closing closing-parens)))
1643+
(cond-> (assoc-in node [:nextjournal/opts :closing-parens] (if (or (not closing) defer-closing?)
1644+
'()
1645+
(cons closing closing-parens)))
16461646
non-leaf? (update :nextjournal/value
16471647
(fn [xs]
16481648
(into []

0 commit comments

Comments
 (0)