branch: elpa/inf-clojure
commit 616c40f9e4c7d18e96ebbe303edca14e0e90a090
Author: Bozhidar Batsov <bozhi...@batsov.dev>
Commit: Bozhidar Batsov <bozhi...@batsov.dev>

    Drop support for Lumo
    
    It has been abandoned a few years ago.
---
 CHANGELOG.md   | 12 +++++++++---
 README.md      | 29 +++++------------------------
 inf-clojure.el | 24 ++----------------------
 3 files changed, 16 insertions(+), 49 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8149bd2641..52823a257c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,13 +2,19 @@
 
 ## master (unreleased)
 
-* Improve support for multiple forms in the same line by replacing 
beginning-of-defun fn.
+### New features
+
 * [#202](https://github.com/clojure-emacs/inf-clojure/issues/202): Add 
ClojureCLR support.
-* [#204](https://github.com/clojure-emacs/inf-clojure/issues/204): Scroll repl 
buffer on insert commands
-* [#208](https://github.com/clojure-emacs/inf-clojure/pull/208) Display 
message after setting repl.
 * [#210](https://github.com/clojure-emacs/inf-clojure/pull/210) Include 
`inf-clojure-socket-repl` to create a socket REPL and connect to it from inside 
Emacs.
 * [#217](https://github.com/clojure-emacs/inf-clojure/pull/217): Add 
`clojure-ts-mode` support.
+
+### Changes
+
+* Improve support for multiple forms in the same line by replacing 
`beginning-of-defun` fn.
+* [#204](https://github.com/clojure-emacs/inf-clojure/issues/204): Scroll repl 
buffer on insert commands
+* [#208](https://github.com/clojure-emacs/inf-clojure/pull/208) Display 
message after setting REPL.
 * Require Emacs 27.
+* Drop support for Lumo.
 
 ## 3.2.1 (2022-07-22)
 
diff --git a/README.md b/README.md
index 91801dffed..92fd6bd9d6 100644
--- a/README.md
+++ b/README.md
@@ -33,7 +33,6 @@ It supports the following REPLs:
 - 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)
 
@@ -181,7 +180,7 @@ There are two important configuration variables here:
 
 1. `inf-clojure-custom-startup`: Which startup command to use so
    inf-clojure can run the inferior Clojure process (REPL).
-2. `inf-clojure-custom-repl-type`: The type of the REPL started by the above 
command (e.g. `lumo`).
+2. `inf-clojure-custom-repl-type`: The type of the REPL started by the above 
command (e.g. `planck`).
 
 If these are set and you wish to prevent inf-clojure from using them,
 use a prefix arg when invoking `inf-clojure` (`C-u M-x inf-clojure`).
@@ -290,18 +289,6 @@ information on how connect:
 
 The socket server REPL configuration options are described 
[here](https://clojure.org/reference/repl_and_main#_launching_a_socket_server).
 
-#### Lumo Socket REPL
-
-Lumo is decoupled from `inf-clojure-project-type` and therefore the command 
used depends on what you are using for dependency resolution.
-
-For example if a `project.clj` is present in the project root folder, 
`inf-clojure-lein-cmd` will be used.
-
-After you launch `lumo ... -n 5555`, as customary, either `C-c M-c RET 
localhost RET 5555` from within Emacs or add the following to your 
`.dir-locals.el`:
-
-```emacs-lisp
-((nil (inf-clojure-custom-startup "localhost" . 5555)))
-```
-
 #### Multiple Process Support
 
 To run multiple Clojure processes, you start the first up
@@ -365,7 +352,7 @@ obtained from `inf-clojure-repl-features`:
 ```emacs-lisp
 (mapcar 'car inf-clojure-repl-features)
 
-;; => (cljs lumo planck joker clojure babashka)
+;; => (cljs planck joker clojure babashka)
 ```
 
 What does it mean that a REPL type is supported? Well, it means that
@@ -402,7 +389,7 @@ You can leave it enabled, it just won't show anything in 
the echo area.
 #### Code Completion
 
 Code completion is a tricky aspect if you are trying to be as close to
-a generic REPL as possible. Planck and lumo REPL implementations
+a generic REPL as possible. Some runtimes (e.g. Planck)
 explicitly provide completion functions in their REPL namespaces. For
 clojure, you will need to have a library on your classpath. If you are
 using a recent version of Leiningen, you already have
@@ -434,7 +421,7 @@ once so that the completion machinery will work: `(require
 
 For more advanced customization, code completion is particularly open
 to customization. Not only you can `setq` the customary
-`inf-clojure-completion-form`, `inf-clojure-completion-form-lumo`,
+`inf-clojure-completion-form`,
 `inf-clojure-completion-form-planck` and
 `inf-clojure-completion-form-joker` - the form to send to the REPL -
 but you can also use `inf-clojure-completions-fn` for specifying a
@@ -446,12 +433,6 @@ inf-clojure-completions-fn`.  Another option is to have a 
look at [how
 cider does
 
it](https://github.com/clojure-emacs/cider/blob/3e9ed12e8cfbad04d7618e649322765dc9bff5d6/cider-interaction.el#L595).
 
-#### Lumo Setup
-
-For an optimal Lumo experience the `-d` needs to be passed to Lumo
-when launched from the command line. This disable `readline` support
-in order to play nicely with Emacs.
-
 ## Troubleshooting
 
 ### Things seem broken
@@ -459,7 +440,7 @@ in order to play nicely with Emacs.
 Inf-clojure is intentionally quite simple and just sends commands to a
 REPL on your behalf to provide features. In order to do this
 inf-clojure largely needs to know the REPL type so it can format the
-correct calls. Most end up in `(lumo.repl/doc [symbol])` or
+correct calls. Most end up in `(planck.repl/doc [symbol])` or
 `(cljs.repl/doc ...)` so its important that the REPL type is set
 correctly. This REPL type exists in the process buffer (REPL) and the
 source buffers as a cache. If you have problems, run `m-x
diff --git a/inf-clojure.el b/inf-clojure.el
index d70848cb02..3e81d9fed4 100644
--- a/inf-clojure.el
+++ b/inf-clojure.el
@@ -47,7 +47,6 @@
 ;; * Apropos
 ;; * Macroexpansion
 ;; * Support connecting to socket REPLs
-;; * Support for Lumo
 ;; * Support for Planck
 ;; * Support for Joker
 ;;
@@ -80,7 +79,6 @@
                                     (lein-clr . "lein clr repl")
                                     (planck . "planck -d")
                                     (babashka . "bb")
-                                    (lumo . "lumo -d")
                                     (joker . "joker")))
 
 (defvar inf-clojure-repl-features
@@ -92,23 +90,6 @@
              (set-ns . "(in-ns '%s)")
              (macroexpand . "(cljs.core/macroexpand '%s)")
              (macroexpand-1 . "(cljs.core/macroexpand-1 '%s)")))
-    (lumo . ((load . "(clojure.core/load-file \"%s\")")
-             (doc . "(lumo.repl/doc %s)")
-             (source . "(lumo.repl/source %s)")
-             (arglists .
-                       "(let [old-value lumo.repl/*pprint-results*]
-                          (set! lumo.repl/*pprint-results* false)
-                          (js/setTimeout #(set! lumo.repl/*pprint-results* 
old-value) 0)
-                          (lumo.repl/get-arglists \"%s\"))")
-             (apropos . "(lumo.repl/apropos \"%s\")")
-             (ns-vars . "(lumo.repl/dir %s)")
-             (set-ns . "(in-ns '%s)")
-             (macroexpand . "(macroexpand-1 '%s)")
-             (macroexpand-1 . "(macroexpand-1 '%s)")
-             (completion .
-                         "(let [ret (atom nil)]
-                            (lumo.repl/get-completions \"%s\" (fn [res] 
(reset! ret (map str res))))
-                             @ret)")))
     (planck . ((load . "(load-file \"%s\")")
                (doc . "(planck.repl/doc %s)")
                (source . "(planck.repl/source %s)")
@@ -242,7 +223,7 @@ If no-error is truthy don't error if feature is not 
present."
 
 (defun inf-clojure--update-feature (repl-type feature form)
   "Return a copy of the datastructure containing the repl features.
-Given a REPL-TYPE (`clojure', `lumo', ...) and a FEATURE (`doc',
+Given a REPL-TYPE (`clojure', `planck', ...) and a FEATURE (`doc',
 `apropos', ...) and a FORM this will return a new datastructure
 that can be set as `inf-clojure-repl-features'."
   (let ((original (alist-get repl-type inf-clojure-repl-features)))
@@ -255,7 +236,7 @@ that can be set as `inf-clojure-repl-features'."
 
 (defun inf-clojure-update-feature (repl-type feature form)
   "Mutate the repl features to the new FORM.
-Given a REPL-TYPE (`clojure', `lumo', ...) and a FEATURE (`doc',
+Given a REPL-TYPE (`clojure', `planck', ...) and a FEATURE (`doc',
 `apropos', ...) and a FORM this will set
 `inf-clojure-repl-features' with these new values."
   (setq inf-clojure-repl-features (inf-clojure--update-feature repl-type 
feature form)))
@@ -520,7 +501,6 @@ Should be a symbol that is a key in 
`inf-clojure-repl-features'."
   :package-version '(inf-clojure . "3.0.0")
   :type '(choice (const :tag "clojure" clojure)
                  (const :tag "cljs" cljs)
-                 (const :tag "lumo" lumo)
                  (const :tag "planck" planck)
                  (const :tag "joker" joker)
                  (const :tag "babashka" babashka)

Reply via email to