         path        (conj (vec base-path) k)]
     (when-let [{:keys [line column value path loc]}
                (edn-string-nav/get-path-in-clj-file path file)]
-      (cp/print-message-in-context-of-file file line column message))))
+      (println "  File:" (str file))
+      (cp/print-message-in-context-of-file file line column message)
+      true)))
 
 #_(edn-string-nav/get-path-in-clj-file [0] "tester.edn")
 

;; we probably should move ::correct-key to ::correct-keys

(defmethod error-message ::misspelled-key [{:keys [path pred val reason via in] :as e}]
  (str "The key " (color (::misspelled-key e) :error-key)
       " is misspelled. It should probably be "
       (color (::correct-key e) :correct-key)))


(defmethod error-message ::bad-value-comb-pred [e] (bad-value-message e))

(defmethod error-message ::should-not-be-empty [{:keys [path pred val reason via in] :as e}]
  (str "  The value " (color (pr-str val) :bad-value)
       " at key " (color (last in) :focus-key)
       " should not be empty.\n  "
       (format-predicate-str (update-in e [:pred] (fn [x] (list '+ x))))))

(defmethod error-message ::unknown-key [{:keys [path pred val reason via in] :as e}]
  (str "  Found unrecognized key " (color (::unknown-key e) :error-key)
       " at path " (color (pr-str in) :focus-path) "\n"
       "  Must be one of: " (format-seq-with-or pred)))

(defmethod error-message ::missing-required-keys [{:keys [path pred val reason via in] :as e}]
  (when-let [kys (not-empty (::missing-keys e))]
    (if (< 1 (count kys))
      (str "  Missing required keys " (format-seq-with-and kys) " at path " (color (pr-str in) :focus-path))
      (str "  Missing required key "  (format-seq-with-and kys) " at path " (color (pr-str in) :focus-path)))))

;; *** TODO ::wrong-key
;; upon reflection misspelling and wrong keys should have multiple options for correction
