diff options
author | scgilardi <scgilardi@gmail.com> | 2008-04-19 20:03:43 +0000 |
---|---|---|
committer | scgilardi <scgilardi@gmail.com> | 2008-04-19 20:03:43 +0000 |
commit | da17800b12d2c769adc24cc11f027257f7bd4345 (patch) | |
tree | c9fdcc26c9b6e819f77749a56e1704a77c23901a | |
parent | fd927239c329bcc676094b72e7a3a8df008b518b (diff) |
add vars, docs, dir after a suggestion by Paul Drummond
-rw-r--r-- | lib.clj | 26 |
1 files changed, 26 insertions, 0 deletions
@@ -114,6 +114,12 @@ (apply require-one sym :need-ns true options) (apply refer sym options)) +(defn- ns-vars + "Returns a sorted list of symbols naming public vars in + a namespace" + [ns] + (sort (map first (ns-publics ns)))) + ;; Public (defn require @@ -158,6 +164,26 @@ [] (sort @*libs*)) +(defn vars + "Returns a sorted sequence of symbols naming public vars in + a namespace" + [ns-sym] + (when-let ns (find-ns ns-sym) + (ns-vars ns))) + +(defn docs + "Prints documentation for the public names in a namespace" + [ns-sym] + (when-let ns (find-ns ns-sym) + (doseq item (ns-vars ns) + (print-doc (ns-resolve ns item))))) + +(defn dir + "Prints a sorted directory of public names in a namespace" + [ns-sym] + (doseq item (vars ns-sym) + (println item))) + (defn load-uri "Loads Clojure source from a URI, which may be a java.net.URI java.net.URL, or String. Accepts any URI scheme supported by |