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
Copy file name to clipboardExpand all lines: CHANGELOG.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,6 +17,8 @@
17
17
- adds `cider-ns-code-reload-tool` defcustom, defaulting to `'tools.namespace`.
18
18
- you can change it to `'clj-reload` to use [clj-reload](https://github.com/tonsky/clj-reload) instead of [tools.namespace](https://github.com/clojure/tools.namespace).
19
19
20
+
-[#3682](https://github.com/clojure-emacs/cider/issues/3682): Add `cider-jack-in` support for [Basilisp](https://github.com/basilisp-lang/basilisp) (Python)
21
+
20
22
### Changes
21
23
22
24
-[#3626](https://github.com/clojure-emacs/cider/issues/3626): `cider-ns-refresh`: jump to the relevant file/line on errors.
Basilisp aims to enable writing Clojure programs on Python with full Python interoperability. It is highly compatible with Clojure.
7
+
8
+
To install Basilisp, run:
9
+
10
+
$ pip install basilisp
11
+
12
+
== Usage
13
+
14
+
There are several ways to connect to Basilisp.
15
+
16
+
* kbd:[M-x cider-jack-in] and kbd:[M-5 M-x cider-jack-in-universal]
17
+
18
+
If you have created a `basilisp.edn` project file at your root of your project tree, you can jack in to the project `M-x cider-jack-in`. The `basilisp.edn` is similar to `deps.edn` for clojure-cli projects. It can be left empty just to mark the root of your project.
19
+
20
+
If you don't have or want a basilisp project file, you can use universal jack in with a numerical argument of 5:
21
+
22
+
- kbd:[M-5 M-x cider-jack-in-universal], or
23
+
- kbd:[M-5 C-c C-x j u], from within file in clojure-mode
24
+
25
+
(Note: an alternative to kbd:[M-5] is kbd:[C-u 5])
26
+
27
+
You can also bind the universal jack-in to Basilisp to a function to use as a shortcut, for example
28
+
29
+
[source,lisp]
30
+
----
31
+
(global-set-key (kbd "<f12>") (lambda ()
32
+
(interactive)
33
+
(cider-jack-in-universal 5)))
34
+
----
35
+
36
+
* kbd:[M-x cider-connect]
37
+
38
+
You can start its bundled nREPL server:
39
+
40
+
$ basilisp nrepl-server
41
+
42
+
and connect to it afterward using `M-x cider-connect`.
43
+
44
+
To see available options, type `basilisp nrepl-server -h` in a shell prompt.
45
+
46
+
== Configuration
47
+
48
+
The jack-in command can be configured via several defcustoms:
49
+
50
+
* `cider-basilisp-command` (default is `basilisp`).
51
+
52
+
If Basilisp is installed in a virtual environment, update this to the full path of the `basilisp` executable within that virtual environment.
53
+
54
+
* `cider-basilisp-parameters` (default is `nrepl-server`).
55
+
56
+
There at few ways to setup (custom) variables in Emacs
57
+
58
+
- https://www.gnu.org/software/emacs/manual/html_node/emacs/Easy-Customization.html[Examining and Setting Variables]
59
+
60
+
kbd:[C-h v cider-basilisp-command], and
61
+
kbd:[C-h v cider-basilisp-parameters]
62
+
63
+
- https://www.gnu.org/software/emacs/manual/html_node/emacs/Directory-Variables.html[Per-Diretory Local Variables]
64
+
65
+
Uses `.dir-locals.el` to setup per mode variables. This file is typically stored at the root of the project.
66
+
67
+
For example, to set the path to the basilisp executable within a virtual environment
0 commit comments