Mercurial > rlm
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 |