From 2bbd0e0ec19a2e2568ee358572da4056e3d791a6 Mon Sep 17 00:00:00 2001 From: E-A-Griffin Date: Thu, 21 Jul 2022 12:19:20 -0400 Subject: [PATCH 1/3] Add ClojureCLR support --- README.md | 3 ++- inf-clojure.el | 20 ++++++++++++++++++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 6e8d53e..a0ec0dd 100644 --- a/README.md +++ b/README.md @@ -31,13 +31,14 @@ It supports the following REPLs: - Clojure - ClojureScript +- ClojureCLR (via [lein-clr](https://github.com/kumarshantanu/lein-clr)) - [Planck](http://planck-repl.org/) - [Lumo](https://github.com/anmonteiro/lumo) - [Joker](https://joker-lang.org/) - [babashka](https://github.com/borkdude/babashka) `inf-clojure` provides a set of essential features for interactive -Clojure(Script) development: +Clojure/ClojureScript/ClojureCLR development: * Enhanced REPL * Interactive code evaluation diff --git a/inf-clojure.el b/inf-clojure.el index 9cc217d..6022b35 100644 --- a/inf-clojure.el +++ b/inf-clojure.el @@ -36,7 +36,7 @@ ;; REPL. ;; ;; `inf-clojure` provides a set of essential features for interactive -;; Clojure(Script) development: +;; Clojure/ClojureScript/ClojureCLR development: ;; ;; * REPL ;; * Interactive code evaluation @@ -75,6 +75,7 @@ (boot . "boot repl") (clojure . "clojure") (cljs . "clojure -m cljs.main -r") + (cljr . "lein clr repl") (planck . "planck -d") (babashka . "bb") (lumo . "lumo -d") @@ -153,7 +154,22 @@ (ns-vars . "(clojure.repl/dir %s)") (set-ns . "(clojure.core/in-ns '%s)") (macroexpand . "(clojure.core/macroexpand '%s)") - (macroexpand-1 . "(clojure.core/macroexpand-1 '%s)"))))) + (macroexpand-1 . "(clojure.core/macroexpand-1 '%s)"))) + (cljr . ((load . "(clojure.core/load-file \"%s\")") + (doc . "(clojure.repl/doc %s)") + (source . "(clojure.repl/source %s)") + (arglists . + "(try + (:arglists + (clojure.core/meta + (clojure.core/resolve + (clojure.core/read-string \"%s\")))) + (catch Exception e nil))") + (apropos . "(doseq [var (sort (clojure.repl/apropos \"%s\"))] (println (str var)))") + (ns-vars . "(clojure.repl/dir %s)") + (set-ns . "(clojure.core/in-ns '%s)") + (macroexpand . "(clojure.core/macroexpand '%s)") + (macroexpand-1 . "(clojure.core/macroexpand-1 '%s)"))))) (defvar-local inf-clojure-repl-type nil "Symbol to define your REPL type. From 0ce5acfa65f5fdd5a8616a9936fd3ec5288b737a Mon Sep 17 00:00:00 2001 From: E-A-Griffin Date: Sat, 23 Jul 2022 10:01:23 -0400 Subject: [PATCH 2/3] Change cljr to lein-clr --- CHANGELOG.md | 1 + inf-clojure.el | 32 ++++++++++++++++---------------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c752aca..708ed31 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -123,3 +123,4 @@ ### New Features * [#22](https://github.com/clojure-emacs/inf-clojure/pull/22): Add ElDoc support. +* [#202](https://github.com/clojure-emacs/inf-clojure/issues/202): Add ClojureCLR support. diff --git a/inf-clojure.el b/inf-clojure.el index 6022b35..dbecedb 100644 --- a/inf-clojure.el +++ b/inf-clojure.el @@ -75,7 +75,7 @@ (boot . "boot repl") (clojure . "clojure") (cljs . "clojure -m cljs.main -r") - (cljr . "lein clr repl") + (lein-clr . "lein clr repl") (planck . "planck -d") (babashka . "bb") (lumo . "lumo -d") @@ -155,21 +155,21 @@ (set-ns . "(clojure.core/in-ns '%s)") (macroexpand . "(clojure.core/macroexpand '%s)") (macroexpand-1 . "(clojure.core/macroexpand-1 '%s)"))) - (cljr . ((load . "(clojure.core/load-file \"%s\")") - (doc . "(clojure.repl/doc %s)") - (source . "(clojure.repl/source %s)") - (arglists . - "(try - (:arglists - (clojure.core/meta - (clojure.core/resolve - (clojure.core/read-string \"%s\")))) - (catch Exception e nil))") - (apropos . "(doseq [var (sort (clojure.repl/apropos \"%s\"))] (println (str var)))") - (ns-vars . "(clojure.repl/dir %s)") - (set-ns . "(clojure.core/in-ns '%s)") - (macroexpand . "(clojure.core/macroexpand '%s)") - (macroexpand-1 . "(clojure.core/macroexpand-1 '%s)"))))) + (lein-clr . ((load . "(clojure.core/load-file \"%s\")") + (doc . "(clojure.repl/doc %s)") + (source . "(clojure.repl/source %s)") + (arglists . + "(try + (:arglists + (clojure.core/meta + (clojure.core/resolve + (clojure.core/read-string \"%s\")))) + (catch Exception e nil))") + (apropos . "(doseq [var (sort (clojure.repl/apropos \"%s\"))] (println (str var)))") + (ns-vars . "(clojure.repl/dir %s)") + (set-ns . "(clojure.core/in-ns '%s)") + (macroexpand . "(clojure.core/macroexpand '%s)") + (macroexpand-1 . "(clojure.core/macroexpand-1 '%s)"))))) (defvar-local inf-clojure-repl-type nil "Symbol to define your REPL type. From a00842d3350b2efcfe62f7550b87496ca2a02d75 Mon Sep 17 00:00:00 2001 From: E-A-Griffin Date: Sat, 23 Jul 2022 10:51:06 -0400 Subject: [PATCH 3/3] Move change to appropriate section --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 708ed31..92be428 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ # Changelog ## master (unreleased) +* [#202](https://github.com/clojure-emacs/inf-clojure/issues/202): Add ClojureCLR support. ## 3.2.0 (2022-07-15) @@ -123,4 +124,3 @@ ### New Features * [#22](https://github.com/clojure-emacs/inf-clojure/pull/22): Add ElDoc support. -* [#202](https://github.com/clojure-emacs/inf-clojure/issues/202): Add ClojureCLR support.