1+ (ns pixie.generate- docs
2+ (:require [pixie.io :as io]
3+ [pixie.string :as string]))
4+
5+ (let [[namespace] program- arguments]
6+
7+ (println " ==============" )
8+ (println (name namespace))
9+ (println " ==============" )
10+
11+ (load- ns (symbol namespace))
12+ (println)
13+
14+ ;;Should be sorting the map
15+ ;;Like so: (sort- by first map )
16+ ;;However, I' m holding off until sort is properly supported
17+ (doseq [[k v] (ns- map (the- ns namespace))]
18+ (println (name k))
19+ (println " ====================================" )
20+ (println)
21+
22+ (if - let [m (meta @v)]
23+ (do
24+ ;(println m)
25+ (if - let [doc (:doc m)];;
26+ (println doc)
27+ (println " No doc available :(" ))
28+ (println)
29+
30+ (when- let (examples (:examples m))
31+ (println " **Examples:**" )
32+ (doseq [[code _ result] examples]
33+ (println)
34+ (println code)
35+ (println)
36+ (when (not (nil? result))
37+ (println " => " result)))
38+ (println))
39+
40+ (when- let (signatures (:signatures m))
41+ (println " **Signatures:**" )
42+ (println)
43+ (doseq [sig signatures]
44+ (println (str " - " sig)))
45+ (println))
46+
47+ (when (and (:line- number m) (:file m))
48+ (let [file (str " pixie/" (last (string/ split (:file m) " /" )))]
49+ (println (str " http://github.com/pixie-lang/pixie/blob/master/"
50+ file " #L" (:line- number m))))
51+ (println)))
52+
53+ (println " No meta data available :(" ))
54+ (println)))
0 commit comments