Skip to content

Commit 0f34107

Browse files
ikappakibbatsov
authored andcommitted
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 7bcdabc commit 0f34107

File tree

6 files changed

+54
-24
lines changed

6 files changed

+54
-24
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
### New features
66

77
- [#3278](https://github.com/clojure-emacs/cider/pull/3278) Introduce integration tests, which also fix a long standing issue with orphaned process on MS-Windows by contracting `taskkill`, if available, to properly kill the nREPL server process tree.
8+
- [#3061](https://github.com/clojure-emacs/cider/issues/3061): Add support for nbb.
89
- [#3249](https://github.com/clojure-emacs/cider/pull/3249): Add support for Clojure Spec 2.
910
- [#3247](https://github.com/clojure-emacs/cider/pull/3247): Add the `cider-stacktrace-analyze-at-point` and `cider-stacktrace-analyze-in-region` commands to view printed exceptions in the stacktrace inspector.
1011

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
** xref:platforms/scittle_and_friends.adoc[Scittle and Friends]
1718
* Using CIDER
1819
** xref:usage/interactive_programming.adoc[Interactive Programming]
+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
@@ -580,46 +580,60 @@
580580
:to-equal (shell-quote-argument "/bin/command"))))
581581

582582
(describe "cider-connect-sibling-cljs"
583-
:var (-cider-cljs-repl-types bu-cider-shadow-default-options)
583+
;; restore:
584+
;; - `cider-cljs-repl-types` changed by `cider-register-cljs-repl-type`.
585+
:var (-cider-cljs-repl-types)
584586
(before-all
585-
(setq -cider-cljs-repl-types cider-cljs-repl-types
586-
-cider-shadow-default-options cider-shadow-default-options))
587+
(setq -cider-cljs-repl-types cider-cljs-repl-types))
587588
(after-each
588-
(setq cider-cljs-repl-types -cider-cljs-repl-types
589-
cider-shadow-default-options -cider-shadow-default-options))
589+
(setq cider-cljs-repl-types -cider-cljs-repl-types))
590590

591591
(describe "sets nrepl client local vars correctly"
592592
(it "for nbb project"
593593
(let* ((server-process (nrepl-start-mock-server-process))
594594
(server-buffer (process-buffer server-process))
595-
(client-buffer (cider-connect-sibling-cljs '(:cljs-repl-type nbb) server-buffer)))
596-
(expect (buffer-local-value 'cider-repl-type client-buffer) :to-equal 'cljs)
597-
(expect (buffer-local-value 'cider-repl-init-function client-buffer) :to-be nil)
595+
(client-buffer (cider-connect-sibling-cljs
596+
'(:cljs-repl-type nbb) server-buffer)))
597+
;; native cljs REPL
598+
(expect (buffer-local-value 'cider-repl-type client-buffer)
599+
:to-equal 'cljs)
600+
(expect (buffer-local-value 'cider-repl-init-function client-buffer)
601+
:to-be nil)
598602
(delete-process (get-buffer-process client-buffer))))
599603
(it "for shadow project"
600-
(setq cider-shadow-default-options "a-shadow-alias")
601-
(let* ((server-process (nrepl-start-mock-server-process))
604+
(let* ((cider-shadow-default-options "a-shadow-alias")
605+
(server-process (nrepl-start-mock-server-process))
602606
(server-buffer (process-buffer server-process))
603-
(client-buffer (cider-connect-sibling-cljs '(:cljs-repl-type shadow) server-buffer)))
604-
(expect (buffer-local-value 'cider-repl-type client-buffer) :to-equal 'pending-cljs)
605-
(expect (buffer-local-value 'cider-repl-init-function client-buffer) :not :to-be nil)
607+
(client-buffer (cider-connect-sibling-cljs
608+
'(:cljs-repl-type shadow) server-buffer)))
609+
;; starts as clj REPL and requires a form to switch over to cljs
610+
(expect (buffer-local-value 'cider-repl-type client-buffer)
611+
:to-equal 'pending-cljs)
612+
(expect (buffer-local-value 'cider-repl-init-function client-buffer)
613+
:not :to-be nil)
606614
(delete-process (get-buffer-process client-buffer))))
607615
(it "for a custom cljs REPL type project"
608616
(cider-register-cljs-repl-type 'native-cljs)
609617
(let* ((server-process (nrepl-start-mock-server-process))
610618
(server-buffer (process-buffer server-process))
611-
(client-buffer (cider-connect-sibling-cljs '(:cljs-repl-type native-cljs)
612-
server-buffer)))
613-
(expect (buffer-local-value 'cider-repl-type client-buffer) :to-equal 'cljs)
619+
(client-buffer (cider-connect-sibling-cljs
620+
'(:cljs-repl-type native-cljs)
621+
server-buffer)))
622+
(expect (buffer-local-value 'cider-repl-type client-buffer)
623+
:to-equal 'cljs)
614624
(delete-process (get-buffer-process client-buffer))))
615625
(it "for a custom REPL type project that needs to switch to cljs"
616-
(cider-register-cljs-repl-type 'not-cljs-initially "(form-to-switch-to-cljs-repl)")
626+
(cider-register-cljs-repl-type
627+
'not-cljs-initially "(form-to-switch-to-cljs-repl)")
617628
(let* ((server-process (nrepl-start-mock-server-process))
618629
(server-buffer (process-buffer server-process))
619-
(client-buffer (cider-connect-sibling-cljs '(:cljs-repl-type not-cljs-initially)
620-
server-buffer)))
621-
(expect (buffer-local-value 'cider-repl-type client-buffer) :to-equal 'pending-cljs)
622-
(expect (buffer-local-value 'cider-repl-init-function client-buffer) :not :to-be nil)
630+
(client-buffer (cider-connect-sibling-cljs
631+
'(:cljs-repl-type not-cljs-initially)
632+
server-buffer)))
633+
(expect (buffer-local-value 'cider-repl-type client-buffer)
634+
:to-equal 'pending-cljs)
635+
(expect (buffer-local-value 'cider-repl-init-function client-buffer)
636+
:not :to-be nil)
623637
(delete-process (get-buffer-process client-buffer))))))
624638

625639
(provide 'cider-tests)

0 commit comments

Comments
 (0)