Вот почему я хочу: я использую библиотеку HugSQL , в которой есть макрос def-db-fns
, который называется так: (hugsql/def-db-fns "sql/queries.sql")
В основном, это выглядит наФайл sql и использует его для определения функций в пространстве имен, из которого вызывается макрос.Но проблема в том, что если я изменю queries.sql
, то tools.namespace не обновит пространство имен, потому что само пространство имен не изменилось.Поэтому мне интересно, есть ли какой-нибудь способ заставить tools.namespace всегда обновлять определенное пространство имен или же каким-либо образом связывать queries.sql
как зависимость, чтобы пространство имен обновлялось при его изменении.
edit: Пока чтолучшее решение, которое я придумал, это:
(ns user
(require [clojure.java.shell :refer [sh]]
[clojure.tools.namespace.repl :as tns]))
(defn refresh []
(sh "touch" "src/project_name/queries.clj")
(tns/refresh))