Skip to content

Commit 616c40f

Browse files
committed
Drop support for Lumo
It has been abandoned a few years ago.
1 parent 6bf4295 commit 616c40f

File tree

3 files changed

+16
-49
lines changed

3 files changed

+16
-49
lines changed

CHANGELOG.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,19 @@
22

33
## master (unreleased)
44

5-
* Improve support for multiple forms in the same line by replacing beginning-of-defun fn.
5+
### New features
6+
67
* [#202](https://github.com/clojure-emacs/inf-clojure/issues/202): Add ClojureCLR support.
7-
* [#204](https://github.com/clojure-emacs/inf-clojure/issues/204): Scroll repl buffer on insert commands
8-
* [#208](https://github.com/clojure-emacs/inf-clojure/pull/208) Display message after setting repl.
98
* [#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.
109
* [#217](https://github.com/clojure-emacs/inf-clojure/pull/217): Add `clojure-ts-mode` support.
10+
11+
### Changes
12+
13+
* Improve support for multiple forms in the same line by replacing `beginning-of-defun` fn.
14+
* [#204](https://github.com/clojure-emacs/inf-clojure/issues/204): Scroll repl buffer on insert commands
15+
* [#208](https://github.com/clojure-emacs/inf-clojure/pull/208) Display message after setting REPL.
1116
* Require Emacs 27.
17+
* Drop support for Lumo.
1218

1319
## 3.2.1 (2022-07-22)
1420

README.md

Lines changed: 5 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ It supports the following REPLs:
3333
- ClojureScript
3434
- ClojureCLR (via [lein-clr](https://github.com/kumarshantanu/lein-clr))
3535
- [Planck](http://planck-repl.org/)
36-
- [Lumo](https://github.com/anmonteiro/lumo)
3736
- [Joker](https://joker-lang.org/)
3837
- [babashka](https://github.com/borkdude/babashka)
3938

@@ -181,7 +180,7 @@ There are two important configuration variables here:
181180

182181
1. `inf-clojure-custom-startup`: Which startup command to use so
183182
inf-clojure can run the inferior Clojure process (REPL).
184-
2. `inf-clojure-custom-repl-type`: The type of the REPL started by the above command (e.g. `lumo`).
183+
2. `inf-clojure-custom-repl-type`: The type of the REPL started by the above command (e.g. `planck`).
185184

186185
If these are set and you wish to prevent inf-clojure from using them,
187186
use a prefix arg when invoking `inf-clojure` (`C-u M-x inf-clojure`).
@@ -290,18 +289,6 @@ information on how connect:
290289

291290
The socket server REPL configuration options are described [here](https://clojure.org/reference/repl_and_main#_launching_a_socket_server).
292291

293-
#### Lumo Socket REPL
294-
295-
Lumo is decoupled from `inf-clojure-project-type` and therefore the command used depends on what you are using for dependency resolution.
296-
297-
For example if a `project.clj` is present in the project root folder, `inf-clojure-lein-cmd` will be used.
298-
299-
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`:
300-
301-
```emacs-lisp
302-
((nil (inf-clojure-custom-startup "localhost" . 5555)))
303-
```
304-
305292
#### Multiple Process Support
306293

307294
To run multiple Clojure processes, you start the first up
@@ -365,7 +352,7 @@ obtained from `inf-clojure-repl-features`:
365352
```emacs-lisp
366353
(mapcar 'car inf-clojure-repl-features)
367354
368-
;; => (cljs lumo planck joker clojure babashka)
355+
;; => (cljs planck joker clojure babashka)
369356
```
370357

371358
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.
402389
#### Code Completion
403390

404391
Code completion is a tricky aspect if you are trying to be as close to
405-
a generic REPL as possible. Planck and lumo REPL implementations
392+
a generic REPL as possible. Some runtimes (e.g. Planck)
406393
explicitly provide completion functions in their REPL namespaces. For
407394
clojure, you will need to have a library on your classpath. If you are
408395
using a recent version of Leiningen, you already have
@@ -434,7 +421,7 @@ once so that the completion machinery will work: `(require
434421

435422
For more advanced customization, code completion is particularly open
436423
to customization. Not only you can `setq` the customary
437-
`inf-clojure-completion-form`, `inf-clojure-completion-form-lumo`,
424+
`inf-clojure-completion-form`,
438425
`inf-clojure-completion-form-planck` and
439426
`inf-clojure-completion-form-joker` - the form to send to the REPL -
440427
but you can also use `inf-clojure-completions-fn` for specifying a
@@ -446,20 +433,14 @@ inf-clojure-completions-fn`. Another option is to have a look at [how
446433
cider does
447434
it](https://github.com/clojure-emacs/cider/blob/3e9ed12e8cfbad04d7618e649322765dc9bff5d6/cider-interaction.el#L595).
448435

449-
#### Lumo Setup
450-
451-
For an optimal Lumo experience the `-d` needs to be passed to Lumo
452-
when launched from the command line. This disable `readline` support
453-
in order to play nicely with Emacs.
454-
455436
## Troubleshooting
456437

457438
### Things seem broken
458439

459440
Inf-clojure is intentionally quite simple and just sends commands to a
460441
REPL on your behalf to provide features. In order to do this
461442
inf-clojure largely needs to know the REPL type so it can format the
462-
correct calls. Most end up in `(lumo.repl/doc [symbol])` or
443+
correct calls. Most end up in `(planck.repl/doc [symbol])` or
463444
`(cljs.repl/doc ...)` so its important that the REPL type is set
464445
correctly. This REPL type exists in the process buffer (REPL) and the
465446
source buffers as a cache. If you have problems, run `m-x

inf-clojure.el

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@
4747
;; * Apropos
4848
;; * Macroexpansion
4949
;; * Support connecting to socket REPLs
50-
;; * Support for Lumo
5150
;; * Support for Planck
5251
;; * Support for Joker
5352
;;
@@ -80,7 +79,6 @@
8079
(lein-clr . "lein clr repl")
8180
(planck . "planck -d")
8281
(babashka . "bb")
83-
(lumo . "lumo -d")
8482
(joker . "joker")))
8583

8684
(defvar inf-clojure-repl-features
@@ -92,23 +90,6 @@
9290
(set-ns . "(in-ns '%s)")
9391
(macroexpand . "(cljs.core/macroexpand '%s)")
9492
(macroexpand-1 . "(cljs.core/macroexpand-1 '%s)")))
95-
(lumo . ((load . "(clojure.core/load-file \"%s\")")
96-
(doc . "(lumo.repl/doc %s)")
97-
(source . "(lumo.repl/source %s)")
98-
(arglists .
99-
"(let [old-value lumo.repl/*pprint-results*]
100-
(set! lumo.repl/*pprint-results* false)
101-
(js/setTimeout #(set! lumo.repl/*pprint-results* old-value) 0)
102-
(lumo.repl/get-arglists \"%s\"))")
103-
(apropos . "(lumo.repl/apropos \"%s\")")
104-
(ns-vars . "(lumo.repl/dir %s)")
105-
(set-ns . "(in-ns '%s)")
106-
(macroexpand . "(macroexpand-1 '%s)")
107-
(macroexpand-1 . "(macroexpand-1 '%s)")
108-
(completion .
109-
"(let [ret (atom nil)]
110-
(lumo.repl/get-completions \"%s\" (fn [res] (reset! ret (map str res))))
111-
@ret)")))
11293
(planck . ((load . "(load-file \"%s\")")
11394
(doc . "(planck.repl/doc %s)")
11495
(source . "(planck.repl/source %s)")
@@ -242,7 +223,7 @@ If no-error is truthy don't error if feature is not present."
242223

243224
(defun inf-clojure--update-feature (repl-type feature form)
244225
"Return a copy of the datastructure containing the repl features.
245-
Given a REPL-TYPE (`clojure', `lumo', ...) and a FEATURE (`doc',
226+
Given a REPL-TYPE (`clojure', `planck', ...) and a FEATURE (`doc',
246227
`apropos', ...) and a FORM this will return a new datastructure
247228
that can be set as `inf-clojure-repl-features'."
248229
(let ((original (alist-get repl-type inf-clojure-repl-features)))
@@ -255,7 +236,7 @@ that can be set as `inf-clojure-repl-features'."
255236

256237
(defun inf-clojure-update-feature (repl-type feature form)
257238
"Mutate the repl features to the new FORM.
258-
Given a REPL-TYPE (`clojure', `lumo', ...) and a FEATURE (`doc',
239+
Given a REPL-TYPE (`clojure', `planck', ...) and a FEATURE (`doc',
259240
`apropos', ...) and a FORM this will set
260241
`inf-clojure-repl-features' with these new values."
261242
(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'."
520501
:package-version '(inf-clojure . "3.0.0")
521502
:type '(choice (const :tag "clojure" clojure)
522503
(const :tag "cljs" cljs)
523-
(const :tag "lumo" lumo)
524504
(const :tag "planck" planck)
525505
(const :tag "joker" joker)
526506
(const :tag "babashka" babashka)

0 commit comments

Comments
 (0)