Skip to content

Commit 39e0713

Browse files
committed
bump pack version, update doc
Also - Add changelog entry - Small tests improvements (no functional changes). - Fixes unreleated codespell issue in master with `ai` logos.
1 parent c5e4e43 commit 39e0713

File tree

7 files changed

+56
-24
lines changed

7 files changed

+56
-24
lines changed

.codespellrc

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[codespell]
2+
skip = .git,.eldev,logo

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
### New features
66

7+
- [#3061](https://github.com/clojure-emacs/cider/issues/3061): Add support for nbb.
78
- [#3249](https://github.com/clojure-emacs/cider/pull/3249): Add support for Clojure Spec 2.
89

910
### Changes

cider.el

+3-3
Original file line numberDiff line numberDiff line change
@@ -235,21 +235,21 @@ By default we favor the project-specific shadow-cljs over the system-wide."
235235
"The command used to execute nbb."
236236
:type 'string
237237
:safe #'stringp
238-
:package-version '(cider . "1.2.0"))
238+
:package-version '(cider . "1.3.0"))
239239

240240
(defcustom cider-nbb-global-options
241241
nil
242242
"Command line options used to execute nbb."
243243
:type 'string
244244
:safe #'stringp
245-
:package-version '(cider . "1.2.0"))
245+
:package-version '(cider . "1.3.0"))
246246

247247
(defcustom cider-nbb-parameters
248248
"nrepl-server"
249249
"Params passed to nbb to start an nREPL server via `cider-jack-in'."
250250
:type 'string
251251
:safe #'stringp
252-
:package-version '(cider . "1.2.0"))
252+
:package-version '(cider . "1.3.0"))
253253

254254
(defcustom cider-jack-in-default (if (executable-find "clojure") 'clojure-cli 'lein)
255255
"The default tool to use when doing `cider-jack-in' outside a project.

doc/modules/ROOT/nav.adoc

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
* Alternative Platforms
1414
** xref:platforms/overview.adoc[Overview]
1515
** xref:platforms/babashka.adoc[Babashka]
16+
** xref:platforms/nbb.adoc[Nbb]
1617
* Using CIDER
1718
** xref:usage/interactive_programming.adoc[Interactive Programming]
1819
** xref:usage/cider_mode.adoc[Using cider-mode]
+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
= https://github.com/babashka/nbb[nbb]
2+
3+
Nbb's main goal is to make it easy to get started with ad hoc CLJS scripting on Node.js.
4+
5+
It is highly compatible with ClojureScript, so it works with CIDER out of the box.
6+
7+
You can either jack in to an nbb project with `M-x clojure-jack-in-cljs`.
8+
9+
or start its bundled nREPL server:
10+
11+
$ nbb nrepl-server
12+
13+
and connect to it afterwards using `M-x cider-connect-cljs`.

doc/modules/ROOT/pages/platforms/overview.adoc

+1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ Right now CIDER the supports to some extent the following:
2828
* Babashka
2929
* ClojureCLR (via Arcadia's nREPL server)
3030
* Lumo (via https://github.com/djblue/nrepl-cljs)
31+
* Nbb
3132

3233
All of them are derived from Clojure, so supporting them didn't really require much work.
3334

test/cider-tests.el

+35-21
Original file line numberDiff line numberDiff line change
@@ -579,46 +579,60 @@
579579
:to-equal (shell-quote-argument "/bin/command"))))
580580

581581
(describe "cider-connect-sibling-cljs"
582-
:var (-cider-cljs-repl-types bu-cider-shadow-default-options)
582+
;; restore:
583+
;; - `cider-cljs-repl-types` changed by `cider-register-cljs-repl-type`.
584+
:var (-cider-cljs-repl-types)
583585
(before-all
584-
(setq -cider-cljs-repl-types cider-cljs-repl-types
585-
-cider-shadow-default-options cider-shadow-default-options))
586+
(setq -cider-cljs-repl-types cider-cljs-repl-types))
586587
(after-each
587-
(setq cider-cljs-repl-types -cider-cljs-repl-types
588-
cider-shadow-default-options -cider-shadow-default-options))
588+
(setq cider-cljs-repl-types -cider-cljs-repl-types))
589589

590590
(describe "sets nrepl client local vars correctly"
591591
(it "for nbb project"
592592
(let* ((server-process (nrepl-start-mock-server-process))
593593
(server-buffer (process-buffer server-process))
594-
(client-buffer (cider-connect-sibling-cljs '(:cljs-repl-type nbb) server-buffer)))
595-
(expect (buffer-local-value 'cider-repl-type client-buffer) :to-equal 'cljs)
596-
(expect (buffer-local-value 'cider-repl-init-function client-buffer) :to-be nil)
594+
(client-buffer (cider-connect-sibling-cljs
595+
'(:cljs-repl-type nbb) server-buffer)))
596+
;; native cljs REPL
597+
(expect (buffer-local-value 'cider-repl-type client-buffer)
598+
:to-equal 'cljs)
599+
(expect (buffer-local-value 'cider-repl-init-function client-buffer)
600+
:to-be nil)
597601
(delete-process (get-buffer-process client-buffer))))
598602
(it "for shadow project"
599-
(setq cider-shadow-default-options "a-shadow-alias")
600-
(let* ((server-process (nrepl-start-mock-server-process))
603+
(let* ((cider-shadow-default-options "a-shadow-alias")
604+
(server-process (nrepl-start-mock-server-process))
601605
(server-buffer (process-buffer server-process))
602-
(client-buffer (cider-connect-sibling-cljs '(:cljs-repl-type shadow) server-buffer)))
603-
(expect (buffer-local-value 'cider-repl-type client-buffer) :to-equal 'pending-cljs)
604-
(expect (buffer-local-value 'cider-repl-init-function client-buffer) :not :to-be nil)
606+
(client-buffer (cider-connect-sibling-cljs
607+
'(:cljs-repl-type shadow) server-buffer)))
608+
;; starts as clj REPL and requires a form to switch over to cljs
609+
(expect (buffer-local-value 'cider-repl-type client-buffer)
610+
:to-equal 'pending-cljs)
611+
(expect (buffer-local-value 'cider-repl-init-function client-buffer)
612+
:not :to-be nil)
605613
(delete-process (get-buffer-process client-buffer))))
606614
(it "for a custom cljs REPL type project"
607615
(cider-register-cljs-repl-type 'native-cljs)
608616
(let* ((server-process (nrepl-start-mock-server-process))
609617
(server-buffer (process-buffer server-process))
610-
(client-buffer (cider-connect-sibling-cljs '(:cljs-repl-type native-cljs)
611-
server-buffer)))
612-
(expect (buffer-local-value 'cider-repl-type client-buffer) :to-equal 'cljs)
618+
(client-buffer (cider-connect-sibling-cljs
619+
'(:cljs-repl-type native-cljs)
620+
server-buffer)))
621+
(expect (buffer-local-value 'cider-repl-type client-buffer)
622+
:to-equal 'cljs)
613623
(delete-process (get-buffer-process client-buffer))))
614624
(it "for a custom REPL type project that needs to switch to cljs"
615-
(cider-register-cljs-repl-type 'not-cljs-initially "(form-to-switch-to-cljs-repl)")
625+
(cider-register-cljs-repl-type
626+
'not-cljs-initially "(form-to-switch-to-cljs-repl)")
616627
(let* ((server-process (nrepl-start-mock-server-process))
617628
(server-buffer (process-buffer server-process))
618-
(client-buffer (cider-connect-sibling-cljs '(:cljs-repl-type not-cljs-initially)
619-
server-buffer)))
620-
(expect (buffer-local-value 'cider-repl-type client-buffer) :to-equal 'pending-cljs)
621-
(expect (buffer-local-value 'cider-repl-init-function client-buffer) :not :to-be nil)
629+
(client-buffer (cider-connect-sibling-cljs
630+
'(:cljs-repl-type not-cljs-initially)
631+
server-buffer)))
632+
(expect (buffer-local-value 'cider-repl-type client-buffer)
633+
:to-equal 'pending-cljs)
634+
(expect (buffer-local-value 'cider-repl-init-function client-buffer)
635+
:not :to-be nil)
622636
(delete-process (get-buffer-process client-buffer))))))
623637

624638
(provide 'cider-tests)

0 commit comments

Comments
 (0)