comparison src/rlm/rlm_commands.clj @ 1:8565803376a4

upgrading source to work with clojure 1.4
author Robert McIntyre <rlm@mit.edu>
date Tue, 28 Feb 2012 13:26:34 -0600
parents 78a630e650d2
children b8bbb0dbda7b
comparison
equal deleted inserted replaced
0:78a630e650d2 1:8565803376a4
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]])
4 (:use [clojure.contrib java-utils])
5 (:use clojure.java.javadoc)) 3 (:use clojure.java.javadoc))
6 4
7 5
8 (defn current-directory [] (ds/file-str "/home/r/mobius")) 6 ;; (defn current-directory [] (ds/file-str "/home/r/mobius"))
9 7
10 (defn file-re [regex & {:keys [dir recurse] :or 8 ;; (defn file-re [regex & {:keys [dir recurse] :or
11 {dir (current-directory) recurse false}}] 9 ;; {dir (current-directory) recurse false}}]
12 (let [dir (ds/file-str dir)] 10 ;; (let [dir (ds/file-str dir)]
13 (filter (fn [file] (re-matches regex (.getName file))) 11 ;; (filter (fn [file] (re-matches regex (.getName file)))
14 (if recurse 12 ;; (if recurse
15 (file-seq dir) 13 ;; (file-seq dir)
16 (seq (.listFiles dir)))))) 14 ;; (seq (.listFiles dir))))))
17 15
18 (defmacro undef 16 (defmacro undef
19 "removes symbol from the current namespace" 17 "removes symbol from the current namespace"
20 [& symbols] 18 [& symbols]
21
22 `(dorun (map (partial ns-unmap *ns*) (quote ~symbols)))) 19 `(dorun (map (partial ns-unmap *ns*) (quote ~symbols))))
23
24 20
25 (defn ns-reset-fn 21 (defn ns-reset-fn
26 "unmaps all interned symbols from the current namespace (except in-ns and ns)" 22 "unmaps all interned symbols from the current namespace (except in-ns and ns)"
27 ([ns-name] 23 ([ns-name]
28 (map (fn [s] (ns-unmap ns-name s)) 24 (map (fn [s] (ns-unmap ns-name s))
53 (clojure.lang.Namespace/remove (quote ~ns)) 49 (clojure.lang.Namespace/remove (quote ~ns))
54 (ns ~ns)))) 50 (ns ~ns))))
55 51
56 (defmacro reload [] 52 (defmacro reload []
57 `(do 53 `(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) 54 (rlm.rlm-commands/ns-nuke)
64 (clojure.core/use 55 (clojure.core/use
65 :reload-all 56 :reload-all
66 (clojure.core/symbol (clojure.core/str clojure.core/*ns*))))) 57 (clojure.core/symbol (clojure.core/str clojure.core/*ns*)))))
67 58
70 `(do 61 `(do
71 (rlm.rlm-commands/ns-nuke) 62 (rlm.rlm-commands/ns-nuke)
72 (clojure.core/use :reload 63 (clojure.core/use :reload
73 (clojure.core/symbol (clojure.core/str clojure.core/*ns*))))) 64 (clojure.core/symbol (clojure.core/str clojure.core/*ns*)))))
74 65
75 (defn keymap-clojure [] 66 ;; (defn keymap-clojure []
76 (rlm.shell-write/sw "xmodmap" "/home/r/.xmodmap.clojure")) 67 ;; (rlm.shell-write/sw "xmodmap" "/home/r/.xmodmap.clojure"))
77 68
69 ;; (defn keymap-normal []
70 ;; (rlm.shell-write/sw "xmodmap" "/home/r/.xmodmap.normal"))
78 71
79 72 ;; (defn rlm []
80 (defn keymap-normal [] 73 ;; (clojure.core/require 'rlm.light-base)
81 (rlm.shell-write/sw "xmodmap" "/home/r/.xmodmap.normal")) 74 ;; (rlm.ns-rlm/ns-clone rlm.light-base))
82
83
84 (defn rlm []
85 (clojure.core/require 'rlm.light-base)
86 (rlm.ns-rlm/ns-clone rlm.light-base))
87
88 75
89 (defn help 76 (defn help
90 "load a bunch of really useful help functions" 77 "load a bunch of really useful help functions"
91 [] 78 []
92 (use 79 (use
93 '[rlm 80 '[rlm
94 [function-utils :only [mix defmix runonce]] 81 [function-utils :only [mix defmix]]
95 [rlm-commands :only [undef ns-reset ns-nuke reload keymap-clojure keymap-normal rlm]] 82 [rlm-commands :only
96 [ns-rlm :only [ns-clear ns-clone ls]] 83 [undef ns-reset ns-nuke reload re]]
97 [play-all :only [play-all-music]] 84 [ns-rlm :only [ls]]
85 ;;[play-all :only [play-all-music]]
98 [shell-inspect :only [command-line?]] 86 [shell-inspect :only [command-line?]]
99 [shell-write :only [sw]] 87 ;;[shell-write :only [sw]]
100 [classpath-utils :only [classpath add-to-classpath]] 88 ;;[classpath-utils :only [classpath add-to-classpath]]
101 [dreams :only [megadef silence]] 89 [dreams :only [megadef silence]]
102 [map-utils :only [map-keys map-vals filter-keys filter-vals]] 90 [map-utils :only [map-keys map-vals filter-keys filter-vals]]
103 [visualize :only [visual]] 91 [visualize :only [visual]]
104 [identify :only [identify]]] 92 [identify :only [identify]]]
105 '[abomination.no-parens :only [quit]] 93
94 ;;'[abomination.no-parens :only [quit]]
106 95
107 96 ;; TODO find replacement for show
108 '[clojure.contrib
109 [duck-streams :only [file-str read-lines]]
110 [str-utils :only [re-split re-gsub str-join]]
111 [repl-utils :only [show expression-info]]]
112 '[clojure 97 '[clojure
113 [repl :only [source]]] 98 [repl :only [source]]]
114 '[clojure.java 99 '[clojure.java
115 [javadoc :only [javadoc add-local-javadoc]]]) 100 [javadoc :only [javadoc add-local-javadoc]]])
116 (clojure.java.javadoc/add-local-javadoc "/home/r/cortex/jme3/dist/javadoc") 101 (clojure.java.javadoc/add-local-javadoc "/home/r/cortex/jme3/dist/javadoc")
117 (clojure.java.javadoc/add-local-javadoc "/home/r/roBin/jdk6-docs/docs/api") 102 (clojure.java.javadoc/add-local-javadoc "/home/r/roBin/jdk6-docs/docs/api")
118 (clojure.java.javadoc/add-local-javadoc 103 (clojure.java.javadoc/add-local-javadoc
119 "/home/r/roBin/lpsolve-doc/lpsolve.sourceforge.net/5.5/Java/docs/api") 104 "/home/r/roBin/lpsolve-doc/lpsolve.sourceforge.net/5.5/Java/docs/api")
120 (clojure.java.javadoc/add-local-javadoc 105 (clojure.java.javadoc/add-local-javadoc