-# Garden directory
+# Garden Directory
-The μBotany garden directory isn't yet implemented.
+```
+,(eval (begin
+ (for-each eval (with-input-from-file "garden.scm" read-list))
+ (define (pad-string o max-len)
+ (let* ((s (->string o))
+ (n (string-length s)))
+ (if (> n max-len)
+ (string-take s max-len)
+ (conc s (make-string (- max-len n) #\space)))))
+ (define (print-rule n)
+ (print (make-string n #\-)))
+ (let* ((headers '("Owner" "Created" "Plant Stage"))
+ (colwidths '(20 30 15))
+ (total-width (apply + colwidths)))
+ (apply print (map pad-string headers colwidths))
+ (print-rule total-width)
+ (for-each
+ (lambda (garden-file)
+ (let ((g (with-input-from-file garden-file read)))
+ (update-garden! g)
+ (with-output-to-file garden-file (lambda () (write g)))
+ (let ((fields (list (garden-prop 'user g)
+ (seconds->string (garden-prop 'created g))
+ (garden-stage g))))
+ (apply print (map pad-string fields colwidths)))))
+ (glob "accounts/*"))
+ (print-rule total-width))))
+```
-=> ./ Return to start page
\ No newline at end of file
+=> ./ Return to the μBotany start page