;; indentation below is intentional to make it clearer what shape the generated documentation is going to take. Turn on auto-complete-mode in Emacs and see for yourself!
:doc(str/join"\n"[description
...
...
@@ -331,16 +331,22 @@
;; irrelevant changes (to other settings) are made.
(events/publish-event:settings-updatesettings))
(defnall
"Return a sequence of Settings maps, including value and description.
(For security purposes, this doesn't return the value of a setting if it was set via env var)."
[]
(for[[ksetting](sort-byfirst@registered-settings)
:let[v(getk)]]
(defn-user-facing-info[setting]
(let[k(:namesetting)
v(getk)]
{:keyk
:value(when(not=v(env-var-valuesetting))
:value(when(and(not=v(env-var-valuesetting))
(not=v(:defaultsetting)))
v)
:description(:descriptionsetting)
:default(or(when(env-var-valuesetting)
(format"Using $%s"(env-var-namesetting)))
(:defaultsetting))}))
(defnall
"Return a sequence of Settings maps in a format suitable for consumption by the frontend.
(For security purposes, this doesn't return the value of a setting if it was set via env var)."