You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Check for completion feature before capf functionality
- would throw an error in complete at point function rather than before starting
- Repl type only in process buffer
rather than juggling this in two places just put it in the process
buffer.
Then run `lein repl` from within your project directory to start the REPL, and either `C-c M-c RET localhost RET 5555` from within Emacs or add the following to your `.dir-locals.el`:
The socket server REPL configuration options are described [here](https://clojure.org/reference/repl_and_main#_launching_a_socket_server).
190
154
191
155
#### Lumo Socket REPL
@@ -196,19 +160,19 @@ For example if a `project.clj` is present in the project root folder, `inf-cloju
196
160
197
161
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`:
Copy file name to clipboardExpand all lines: todo.org
+17-1Lines changed: 17 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,14 +8,17 @@ For some reason ~inf-clojure--set-repl-type~ is called in:
8
8
9
9
Seems better to do this on the two different connection methods and then be done with it?
10
10
11
+
** DONE do we need repl type in both source buffer and connection?
12
+
these can get out of sync and lead to confusing errors when closing a repl and opening a new one. It seems like we keep the repl-type in the source buffer to prevent a single ~(with-current-buffer (process-buffer proc) inf-clojure-repl-type)~
13
+
11
14
** TODO nice startup
12
15
There's some project detection but that's becoming less and less useful as time goes on. Shadow, lein, deps.edn can all easily be mixed in the same project. And then lumo, planck, or bb scripts could live side by side. Rather than trying to guess the project type, I think i'd like to mimic geiser's style of handling multiple scheme backends. Perhaps ~m-x inf-clojure-run-planck~ and similar could help out.
13
16
14
17
Some considerations:
15
18
- is this path aware? IE, don't show an option to run planck, lumo, etc, if they aren't visible or installed?
16
19
- should it have a rebuild function so that user registered implementations can show up in the ~m-x~ menu as well?
17
20
18
-
** TODO Better dispatch for the implementations
21
+
** DONE Better dispatch for the implementations
19
22
Right now the functions are kinda clunky cond statements:
@@ -41,6 +44,19 @@ Right now everything is just a format string with a _single_ ~%s~ in it and that
41
44
** TODO Simpler way to define an implementation
42
45
This first pass is very mechanical and just rearranging so we can easily see which features are where. In the future we should look into just providing the repl namespace and seeing how far we can get with that. For instance, an API like ~(inf-clojure-register 'bb "bb.repl")~ and this would tell us where ~source~, ~doc~, ~apropos~ ...etc live. No reason to duplicate all of these.
43
46
47
+
** TODO ability to update repl commands
48
+
we had this feature originally but now they are all literals. This is almost entirely fine but one problem. It would be common to toss clojure completions on the class path and then add the completions form for clojure.
49
+
50
+
This should come back but only in a sense: if you don't have this on the classpath its obviously unacceptable to throw errors every time the user hits tab. Do we need some state recording if this is on the classpath or not maybe?
51
+
52
+
#+BEGIN_SRC emacs-lisp
53
+
(defcustom inf-clojure-completion-form
54
+
"(complete.core/completions \"%s\")"
55
+
"Form to query inferior Clojure for completion candidates."
56
+
:type 'string
57
+
:safe #'stringp
58
+
:package-version '(inf-clojure . "2.0.0"))
59
+
#+END_SRC
44
60
** TODO Multiple connections
45
61
As proven by CIDER, multiple connections are just a pain. Scoping, navigating into dependencies, etc. This is a monster lurking
0 commit comments