From a61ea7d1c833079c3eebbe7e282fc3fca010080a Mon Sep 17 00:00:00 2001 From: liquidz Date: Tue, 20 Feb 2024 23:13:33 +0900 Subject: [PATCH] fix: Update bb repl task to start elin dev server --- dev/elin/dev.clj | 33 ++++++++------------------------- dev/elin/task/nrepl.clj | 14 ++++++++++++-- 2 files changed, 20 insertions(+), 27 deletions(-) diff --git a/dev/elin/dev.clj b/dev/elin/dev.clj index 133f7e6f..5162916e 100644 --- a/dev/elin/dev.clj +++ b/dev/elin/dev.clj @@ -1,37 +1,24 @@ (ns elin.dev (:require - [clojure.edn :as edn] - [clojure.java.io :as io] [com.stuartsierra.component :as component] [elin.config :as e.config] - [elin.constant.interceptor :as e.c.interceptor] [elin.log :as e.log] [elin.system :as e.system] - [malli.dev :as m.dev] - [medley.core :as medley])) - -(def ^:private last-message-store (atom nil)) -(def ^:private store-last-message-interceptor - {:name ::store-last-message-interceptor - :kind e.c.interceptor/handler - :enter (fn [{:as ctx :keys [message]}] - (reset! last-message-store message) - ctx)}) - -(def config - (e.config/load-config "." {:server {:host "nvim" - :port 12233}})) - -(def system-map - (e.system/new-system config)) + [malli.dev :as m.dev])) +(def system-map (atom nil)) (defonce sys (atom nil)) +(defn initialize + [{:keys [host port]}] + (let [config (e.config/load-config "." {:server {:host host :port port}})] + (reset! system-map (e.system/new-system config)))) + (defn start-system [] (when-not @sys (e.log/info "Starting elin system") - (reset! sys (component/start-system system-map)) + (reset! sys (component/start-system @system-map)) ::started)) (defn stop-system @@ -56,7 +43,3 @@ [] (stop) (start)) - -(defn last-message - [] - @last-message-store) diff --git a/dev/elin/task/nrepl.clj b/dev/elin/task/nrepl.clj index ee05a728..9762b1ee 100644 --- a/dev/elin/task/nrepl.clj +++ b/dev/elin/task/nrepl.clj @@ -1,10 +1,20 @@ (ns elin.task.nrepl (:require [babashka.fs :as fs] - [babashka.nrepl.server :as srv])) + [babashka.nrepl.server :as srv] + [elin.dev :as e.dev])) + +(defn- start-dev-server! + [options] + (let [host (or (:host options) "nvim") + port (or (:port options) 45678)] + (e.dev/initialize {:host host :port port}) + (e.dev/start))) (defn -main - [& _] + [& [options]] + (start-dev-server! options) + (let [{:keys [socket]} (srv/start-server! {:host "localhost" :port 0}) port (.getLocalPort socket)] (spit ".nrepl-port" (str port))