[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/cider cc31f5b28a: Preserve the `:cljs-repl-type` more reli
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/cider cc31f5b28a: Preserve the `:cljs-repl-type` more reliably (#3378) |
Date: |
Wed, 26 Jul 2023 09:59:39 -0400 (EDT) |
branch: elpa/cider
commit cc31f5b28a702238e56250535c71c180fb2bbda6
Author: vemv <vemv@users.noreply.github.com>
Commit: GitHub <noreply@github.com>
Preserve the `:cljs-repl-type` more reliably (#3378)
---
CHANGELOG.md | 1 +
cider-connection.el | 4 +++-
cider.el | 29 +++++++++++++++++++----------
3 files changed, 23 insertions(+), 11 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index d75aee4bd0..09bc6b2915 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -23,6 +23,7 @@
- Bump the injected `cider-nrepl` to
[0.32](https://github.com/clojure-emacs/cider-nrepl/blob/master/CHANGELOG.md).
- Improve `nrepl-dict` error reporting.
+- Preserve the `:cljs-repl-type` more reliably.
## 1.7.0 (2023-03-23)
diff --git a/cider-connection.el b/cider-connection.el
index 35fc792716..f74e1d31e0 100644
--- a/cider-connection.el
+++ b/cider-connection.el
@@ -788,7 +788,7 @@ Session name can be customized with
`cider-session-name-template'."
;;; REPL Buffer Init
(defvar-local cider-cljs-repl-type nil
- "The type of the ClojureScript runtime (Browser, Node, Figwheel, etc.).")
+ "The type of the ClojureScript runtime ('browser, 'node, 'figwheel, etc.).")
(defvar-local cider-repl-type nil
"The type of this REPL buffer, usually either clj or cljs.")
@@ -919,6 +919,8 @@ function with the repl buffer set as current."
;; ran at the end of cider--connected-handler
cider-repl-init-function (plist-get params :repl-init-function)
cider-launch-params params)
+ (when-let ((type (plist-get params :cljs-repl-type)))
+ (setq cider-cljs-repl-type type))
(cider-repl-reset-markers)
(add-hook 'nrepl-response-handler-functions #'cider-repl--state-handler
nil 'local)
(add-hook 'nrepl-connected-hook #'cider--connected-handler nil 'local)
diff --git a/cider.el b/cider.el
index adfa7545c5..40150b33fa 100644
--- a/cider.el
+++ b/cider.el
@@ -1293,7 +1293,9 @@ double prefix prompt for all these parameters."
(defun cider-jack-in-cljs (params)
"Start an nREPL server for the current project and connect to it.
PARAMS is a plist optionally containing :project-dir, :jack-in-cmd and
-:cljs-repl-type (e.g. Node, Figwheel, etc). With the prefix argument,
+:cljs-repl-type (e.g. 'shadow, 'node, 'figwheel, etc).
+
+With the prefix argument,
allow editing of the jack in command; with a double prefix prompt for all
these parameters."
(interactive "P")
@@ -1318,9 +1320,12 @@ these parameters."
(defun cider-jack-in-clj&cljs (&optional params soft-cljs-start)
"Start an nREPL server and connect with clj and cljs REPLs.
PARAMS is a plist optionally containing :project-dir, :jack-in-cmd and
-:cljs-repl-type (e.g. Node, Figwheel, etc). With the prefix argument,
-allow for editing of the jack in command; with a double prefix prompt for
-all these parameters. When SOFT-CLJS-START is non-nil, start cljs REPL
+:cljs-repl-type (e.g. 'shadow, 'node, 'fighweel, etc).
+
+With the prefix argument, allow for editing of the jack in command;
+with a double prefix prompt for all these parameters.
+
+When SOFT-CLJS-START is non-nil, start cljs REPL
only when the ClojureScript dependencies are met."
(interactive "P")
(let ((cider-jack-in-dependencies (append cider-jack-in-dependencies
cider-jack-in-cljs-dependencies))
@@ -1371,13 +1376,17 @@ server is created."
;;;###autoload
(defun cider-connect-sibling-cljs (params &optional other-repl)
"Create a ClojureScript REPL with the same server as OTHER-REPL.
-PARAMS is a plist optionally containing :cljs-repl-type (e.g. Node,
-Figwheel, etc). All other parameters are inferred from the OTHER-REPL.
+PARAMS is a plist optionally containing :cljs-repl-type (e.g. 'node,
+'figwheel, 'shadow, etc).
+
+All other parameters are inferred from the OTHER-REPL.
OTHER-REPL defaults to `cider-current-repl' but in programs can also be a
server buffer, in which case a new session for that server is created."
(interactive "P")
(let* ((other-repl (or other-repl (cider-current-repl 'any 'ensure)))
(other-params (cider--gather-connect-params nil other-repl))
+ ;; type-related params from the JVM conn are undesired for a cljs
conn:
+ (other-params (thread-first other-params (map-delete :repl-type)
(map-delete :cljs-repl-type)))
(ses-name (unless (nrepl-server-p other-repl)
(sesman-session-name-for-object 'CIDER other-repl))))
(cider-nrepl-connect
@@ -1410,7 +1419,9 @@ prefix argument, prompt for all the parameters."
(defun cider-connect-cljs (&optional params)
"Initialize a ClojureScript connection to an nREPL server.
PARAMS is a plist optionally containing :host, :port, :project-dir and
-:cljs-repl-type (e.g. Node, Figwheel, etc). On prefix, prompt for all the
+:cljs-repl-type (e.g. 'shadow, 'node, 'figwheel, etc).
+
+On prefix, prompt for all the
parameters regardless of their supplied or default values."
(interactive "P")
(cider-nrepl-connect
@@ -1428,7 +1439,7 @@ parameters regardless of their supplied or default
values."
(defun cider-connect-clj&cljs (params &optional soft-cljs-start)
"Initialize a Clojure and ClojureScript connection to an nREPL server.
PARAMS is a plist optionally containing :host, :port, :project-dir and
-:cljs-repl-type (e.g. Node, Figwheel, etc). When SOFT-CLJS-START is
+:cljs-repl-type (e.g. 'shadow, 'node, 'figwheel, etc). When SOFT-CLJS-START is
non-nil, don't start if ClojureScript requirements are not met."
(interactive "P")
(let* ((params (thread-first
@@ -1630,8 +1641,6 @@ over to cljs.
(plist-put :repl-init-function
(lambda ()
(cider--check-cljs cljs-type)
- ;; FIXME: ideally this should be done in the state
handler
- (setq-local cider-cljs-repl-type cljs-type)
(cider-nrepl-send-request
(list "op" "eval"
"ns" (cider-current-ns)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [nongnu] elpa/cider cc31f5b28a: Preserve the `:cljs-repl-type` more reliably (#3378),
ELPA Syncer <=