diff options
Diffstat (limited to '')
-rw-r--r-- | src/lux.clj | 23 |
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."))) |