From 531f6cb72aa17eea2f8add050f21ed88e2bb1b32 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Tue, 25 Oct 2016 19:45:47 -0400 Subject: - Improved the way resources and source code are handled. --- src/lux.clj | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'src/lux.clj') 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."))) -- cgit v1.2.3