aboutsummaryrefslogtreecommitdiff
path: root/src/lux.clj
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/lux.clj23
1 files changed, 17 insertions, 6 deletions
diff --git a/src/lux.clj b/src/lux.clj
index 73e8e9126..a8efa19f7 100644
--- a/src/lux.clj
+++ b/src/lux.clj
@@ -9,19 +9,30 @@
[lux.compiler.base :as &compiler-base]
[lux.compiler :as &compiler]
[lux.repl :as &repl]
+ [clojure.string :as string]
:reload-all)
(:import (java.io File)))
+(def unit-separator (str (char 31)))
+
+(defn ^:private process-dirs
+ "(-> Text (List Text))"
+ [resources-dirs]
+ (-> resources-dirs
+ (string/replace unit-separator "\n")
+ string/split-lines
+ &/->list))
+
(defn -main [& args]
(|case (&/->list args)
- (&/$Cons "release" (&/$Cons program-module source-dirs))
- (time (&compiler/compile-program &/$Release program-module source-dirs))
+ (&/$Cons "release" (&/$Cons program-module (&/$Cons resources-dirs (&/$Cons source-dirs (&/$Nil)))))
+ (time (&compiler/compile-program &/$Release program-module (process-dirs resources-dirs) (process-dirs source-dirs)))
- (&/$Cons "debug" (&/$Cons program-module source-dirs))
- (time (&compiler/compile-program &/$Debug program-module source-dirs))
+ (&/$Cons "debug" (&/$Cons program-module (&/$Cons resources-dirs (&/$Cons source-dirs (&/$Nil)))))
+ (time (&compiler/compile-program &/$Debug program-module (process-dirs resources-dirs) (process-dirs source-dirs)))
- (&/$Cons "repl" source-dirs)
- (&repl/repl source-dirs)
+ (&/$Cons "repl" (&/$Cons source-dirs (&/$Nil)))
+ (&repl/repl (process-dirs source-dirs))
_
(println "Can't understand command.")))