diff --git a/.babashka-pod-90378.port b/.babashka-pod-90378.port new file mode 100644 index 0000000..a6c6e33 --- /dev/null +++ b/.babashka-pod-90378.port @@ -0,0 +1 @@ +55203 diff --git a/.babashka-pod-90569.port b/.babashka-pod-90569.port new file mode 100644 index 0000000..4079a36 --- /dev/null +++ b/.babashka-pod-90569.port @@ -0,0 +1 @@ +55416 diff --git a/.babashka-pod-90680.port b/.babashka-pod-90680.port new file mode 100644 index 0000000..67dd9be --- /dev/null +++ b/.babashka-pod-90680.port @@ -0,0 +1 @@ +55557 diff --git a/script/lanterna.clj b/script/lanterna.clj new file mode 100644 index 0000000..00bc777 --- /dev/null +++ b/script/lanterna.clj @@ -0,0 +1,30 @@ +(require '[babashka.pods :refer [load-pod]]) + +(load-pod 'org.babashka/lanterna "0.0.1-SNAPSHOT" {#_#_:force true #_#_:transport :socket}) + +(require '[pod.babashka.lanterna.terminal :as terminal]) + +(def terminal (terminal/get-terminal)) + +(terminal/start terminal) + +(terminal/put-string terminal + (str "Hello TUI Babashka!") + 10 5) +(terminal/put-string terminal + (str "The size of this terminal: " + (terminal/get-size terminal)) + 10 6) +(terminal/put-string terminal + "Press q to exit." + 10 7) + +(terminal/flush terminal) + +(def k (terminal/get-key-blocking terminal)) + +(terminal/put-string terminal + (str "You pressed: " k) + 10 8) + +(Thread/sleep 1000) diff --git a/src/babashka/pods/impl.clj b/src/babashka/pods/impl.clj index ed7f57c..b441c19 100644 --- a/src/babashka/pods/impl.clj +++ b/src/babashka/pods/impl.clj @@ -279,13 +279,19 @@ (defn load-pod ([pod-spec] (load-pod pod-spec nil)) ([pod-spec opts] - (let [opts (if (string? opts) - {:version opts} + (let [{:keys [:version :force]} opts + resolved (when (qualified-symbol? pod-spec) + (resolver/resolve pod-spec version force)) + _ (prn :resolved resolved) + opts (if resolved + (when-let [extra-opts (:options resolved)] + (merge opts extra-opts) + opts) opts) - {:keys [:remove-ns :resolve :transport :version :force]} opts - version (if (string? opts) opts version) - pod-spec (cond (string? pod-spec) [pod-spec] - (qualified-symbol? pod-spec) (resolver/resolve pod-spec version force) + {:keys [:remove-ns :resolve :transport]} opts + _ (prn :opts opts) + pod-spec (cond resolved [(:executable resolved)] + (string? pod-spec) [pod-spec] :else pod-spec) pb (ProcessBuilder. ^java.util.List pod-spec) socket? (identical? :socket transport) diff --git a/src/babashka/pods/impl/resolver.clj b/src/babashka/pods/impl/resolver.clj index 41e51e3..34e23a5 100644 --- a/src/babashka/pods/impl/resolver.clj +++ b/src/babashka/pods/impl/resolver.clj @@ -182,4 +182,5 @@ (warn (format "Successfully installed pod %s (%s)" qsym version)) (io/file ddir (:artifact/executable artifact))) (io/file ddir (:artifact/executable artifact)))) artifacts)] - [(.getAbsolutePath ^java.io.File (first execs))]))) + {:executable (.getAbsolutePath ^java.io.File (first execs)) + :options (:pod/options manifest)})))