diff --git a/src/scittle/makro_plugin.cljs b/src/scittle/makro_plugin.cljs index 9be33e4..3d52d02 100644 --- a/src/scittle/makro_plugin.cljs +++ b/src/scittle/makro_plugin.cljs @@ -1,17 +1,30 @@ (ns scittle.makro-plugin + (:require-macros [scittle.makros :refer + [add-slash-makro add-c-makro]]) (:require [sci.core :as sci] - [scittle.core :as scittle])) + [scittle.core :as scittle] + [scittle.makros :as sm])) -(defn add-low-fn [_env _form x y] `(str "_" ~x ~y)) -(defn ^:macro add-low-makro [_env _form x y] (add-low-fn _env _form x y)) +(.log js/console (add-slash-makro 1 2)) +(.log js/console (add-c-makro 5 6)) -(def rns (sci/create-ns 'makro-plugin.core nil)) +(defn add-low-fn [form env x y] + `(str "_ form: " ~(str form) " env: " ~(str env) ~x ~y)) +(defn ^:macro add-low-sci-makro [form env x y] (add-low-fn form env x y)) +(defn ^:macro add-slash-sci-makro [_form _env x y] (add-slash-makro x y)) +(defn ^:macro add-c-sci-makro [form env x y] (sm/add-c-fn form env x y)) -(def makro-plugin-namespace +(def rns (sci/create-ns 'scittle.makros nil)) + +(def scittle-makros-namespace {'add-low-fn (sci/copy-var add-low-fn rns) - 'add-low-makro (sci/copy-var add-low-makro rns)}) + 'add-low-sci-makro (sci/copy-var add-low-sci-makro rns) + 'make-string (sci/copy-var sm/make-string rns) + 'add-slash-sci-makro (sci/copy-var add-slash-sci-makro rns) + 'add-c-sci-makro (sci/copy-var add-c-sci-makro rns) + }) (scittle/register-plugin! ::makro-plugin - {:namespaces {'makro-plugin.core makro-plugin-namespace}}) + {:namespaces {'scittle.makros scittle-makros-namespace}}) diff --git a/test.html b/test.html index f306ddc..5c4dcf8 100644 --- a/test.html +++ b/test.html @@ -3,10 +3,13 @@