comparison src/rlm/rlm_commands.clj @ 6:b8bbb0dbda7b

merging
author Robert McIntyre <rlm@mit.edu>
date Thu, 01 Mar 2012 05:55:59 -0700
parents 12d1367cf1aa 8565803376a4
children b4395ca99822
comparison
equal deleted inserted replaced
5:fca75c0e8f40 6:b8bbb0dbda7b
1 (ns rlm.rlm-commands 1 (ns rlm.rlm-commands
2 (:require [rlm ns-rlm shell-write] 2 (:use rlm.ns-rlm)
3 [clojure.contrib [duck-streams :as ds]]) 3 (:use clojure.java.javadoc))
4 (:use [clojure.contrib java-utils])
5 (:require clojure.java.javadoc))
6 4
5 ;; (defn current-directory [] (ds/file-str "/home/r/mobius"))
7 6
8 (defn current-directory [] (ds/file-str "/home/r/mobius")) 7 ;; (defn file-re [regex & {:keys [dir recurse] :or
9 8 ;; {dir (current-directory) recurse false}}]
10 (defn file-re [regex & {:keys [dir recurse] :or 9 ;; (let [dir (ds/file-str dir)]
11 {dir (current-directory) recurse false}}] 10 ;; (filter (fn [file] (re-matches regex (.getName file)))
12 (let [dir (ds/file-str dir)] 11 ;; (if recurse
13 (filter (fn [file] (re-matches regex (.getName file))) 12 ;; (file-seq dir)
14 (if recurse 13 ;; (seq (.listFiles dir))))))
15 (file-seq dir)
16 (seq (.listFiles dir))))))
17 14
18 (defmacro undef 15 (defmacro undef
19 "removes symbol from the current namespace" 16 "removes symbol from the current namespace"
20 [& symbols] 17 [& symbols]
21
22 `(dorun (map (partial ns-unmap *ns*) (quote ~symbols)))) 18 `(dorun (map (partial ns-unmap *ns*) (quote ~symbols))))
23
24 19
25 (defn ns-reset-fn 20 (defn ns-reset-fn
26 "unmaps all interned symbols from the current namespace (except in-ns and ns)" 21 "unmaps all interned symbols from the current namespace (except in-ns and ns)"
27 ([ns-name] 22 ([ns-name]
28 (map (fn [s] (ns-unmap ns-name s)) 23 (map (fn [s] (ns-unmap ns-name s))
53 (clojure.lang.Namespace/remove (quote ~ns)) 48 (clojure.lang.Namespace/remove (quote ~ns))
54 (ns ~ns)))) 49 (ns ~ns))))
55 50
56 (defmacro reload [] 51 (defmacro reload []
57 `(do 52 `(do
58 (rlm.ns-rlm/ns-clear)
59 (use :reload-all (quote ~(symbol (str *ns*))))))
60
61 (defmacro reload []
62 `(do
63 (rlm.rlm-commands/ns-nuke) 53 (rlm.rlm-commands/ns-nuke)
64 (clojure.core/use 54 (clojure.core/use
65 :reload-all 55 :reload-all
66 (clojure.core/symbol (clojure.core/str clojure.core/*ns*))))) 56 (clojure.core/symbol (clojure.core/str clojure.core/*ns*)))))
67 57
70 `(do 60 `(do
71 (rlm.rlm-commands/ns-nuke) 61 (rlm.rlm-commands/ns-nuke)
72 (clojure.core/use :reload 62 (clojure.core/use :reload
73 (clojure.core/symbol (clojure.core/str clojure.core/*ns*))))) 63 (clojure.core/symbol (clojure.core/str clojure.core/*ns*)))))
74 64
75 (defn keymap-clojure [] 65 ;; (defn keymap-clojure []
76 (rlm.shell-write/sw "xmodmap" "/home/r/.xmodmap.clojure")) 66 ;; (rlm.shell-write/sw "xmodmap" "/home/r/.xmodmap.clojure"))
77 67
78 (defn keymap-normal [] 68 ;; (defn keymap-normal []
79 (rlm.shell-write/sw "xmodmap" "/home/r/.xmodmap.normal")) 69 ;; (rlm.shell-write/sw "xmodmap" "/home/r/.xmodmap.normal"))
80
81
82 (defn rlm []
83 (clojure.core/require 'rlm.light-base)
84 (rlm.ns-rlm/ns-clone rlm.light-base))
85 70
86 (defn javadoc [target] 71 (defn javadoc [target]
87 (binding 72 (binding
88 [clojure.java.browse/*open-url-script* 73 [clojure.java.browse/*open-url-script*
89 "/home/r/proj/repl/get-webpage.pl"] 74 "/home/r/proj/repl/get-webpage.pl"]
90 (clojure.java.javadoc/javadoc target))) 75 (clojure.java.javadoc/javadoc target)))
91 76
92
93 (defn help 77 (defn help
94 "load a bunch of really useful help functions" 78 "load a bunch of really useful help functions"
95 [] 79 []
96 (use 80 (use
97 '[rlm 81 '[rlm
98 [function-utils :only [race race-pred defmix]] 82 [function-utils :only [race race-pred defmix]]
99 [rlm-commands :only [undef ns-reset ns-nuke reload keymap-clojure 83 [rlm-commands :only
100 keymap-normal rlm javadoc]] 84 [undef ns-reset ns-nuke reload re]]
101 [ns-rlm :only [ns-clear ns-clone ls]] 85 [ns-rlm :only [ls]]
102 [play-all :only [play-all-music]] 86 ;;[play-all :only [play-all-music]]
103 [shell-inspect :only [command-line?]] 87 [shell-inspect :only [command-line?]]
104 [shell-write :only [sw]] 88 ;;[shell-write :only [sw]]
105 [classpath-utils :only [classpath add-to-classpath]] 89 ;;[classpath-utils :only [classpath add-to-classpath]]
106 [dreams :only [megadef silence]] 90 [dreams :only [megadef silence]]
107 [map-utils :only [map-keys filter-keys filter-vals]] 91 [map-utils :only [map-keys filter-keys filter-vals]]
108 [visualize :only [visual]] 92 [visualize :only [visual]]
109 [identify :only [identify]]] 93 [identify :only [identify]]]
110 '[abomination.no-parens :only [quit]] 94
95 ;;'[abomination.no-parens :only [quit]]
111 96
112 97 ;; TODO find replacement for show
113 '[clojure.contrib
114 [duck-streams :only [file-str read-lines]]
115 [str-utils :only [re-split re-gsub str-join]]
116 [repl-utils :only [show expression-info]]]
117 '[clojure 98 '[clojure
118 [repl :only [source]]]) 99 [repl :only [source]]])
119 (clojure.java.javadoc/add-local-javadoc 100 (clojure.java.javadoc/add-local-javadoc
120 "/home/r/proj/jMonkeyEngine3/dist/javadoc") 101 "/home/r/proj/jMonkeyEngine3/dist/javadoc")
121 (clojure.java.javadoc/add-local-javadoc 102 (clojure.java.javadoc/add-local-javadoc
126 "/home/r/java/jdk6u30-docs/jre/api") 107 "/home/r/java/jdk6u30-docs/jre/api")
127 (clojure.java.javadoc/add-local-javadoc 108 (clojure.java.javadoc/add-local-javadoc
128 "/home/r/proj/jmeCapture/docs") 109 "/home/r/proj/jmeCapture/docs")
129 (clojure.java.javadoc/add-local-javadoc 110 (clojure.java.javadoc/add-local-javadoc
130 "/home/r/java/tritonus.sourceforge.net/apidoc") 111 "/home/r/java/tritonus.sourceforge.net/apidoc")
131
132
133 nil) 112 nil)
134 113
135 114
136 115