Skip to content

Commit b9bbbd1

Browse files
committed
Make the refactor-nrepl version customizable
Allows users to try out newer refactor-nrepl releases, which shouldn't be necessarily coupled to clj-refactor.el.
1 parent 466822f commit b9bbbd1

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
- [#482](https://github.com/clojure-emacs/clj-refactor.el/issues/482): Add missing defgroup form.
77
- [#470](https://github.com/clojure-emacs/clj-refactor.el/issues/470): Choose `deps.edn` over `pom.xml` as project file.
88
- Introduce `defcustom cljr-insert-newline-after-require` option.
9+
- Introduce `defcustom cljr-injected-middleware-version` option, allowing users to customize the [refactor-nrepl](https://github.com/clojure-emacs/refactor-nrepl) version to be used.
910

1011
## 2.5.1 (2021-02-16)
1112

clj-refactor.el

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -966,7 +966,7 @@ Signal an error if it is not supported, otherwise return OP."
966966
op
967967
(user-error "Can't find nREPL middleware providing op \"%s\". \
968968
Please, install (or update) refactor-nrepl %s and restart the REPL."
969-
op (upcase (cljr--version :prune-package-version)))))
969+
op (upcase cljr-injected-middleware-version))))
970970

971971
(defun cljr--assert-leiningen-project ()
972972
(unless (string= (file-name-nondirectory (or (cljr--project-file) ""))
@@ -3254,6 +3254,17 @@ if REMOVE-PACKAGE_VERSION is t get rid of the (package: 20150828.1048) suffix."
32543254
(replace-regexp-in-string " (.*)" "" version)
32553255
version)))
32563256

3257+
(defcustom cljr-injected-middleware-version (cljr--version t)
3258+
"The refactor-nrepl version to be injected.
3259+
3260+
You can customize this in order to try out new releases.
3261+
3262+
If customizing it, you most likely should `(setq cljr-suppress-middleware-warnings nil)' too,
3263+
for avoiding a warning that would be irrelevant for this case."
3264+
:group 'cljr
3265+
:type 'string
3266+
:package-version "3.0.0")
3267+
32573268
(defun cljr--middleware-version ()
32583269
(cljr--call-middleware-sync (cljr--create-msg "version") "version"))
32593270

@@ -3263,7 +3274,7 @@ if REMOVE-PACKAGE_VERSION is t get rid of the (package: 20150828.1048) suffix."
32633274
(let ((refactor-nrepl-version (or (cljr--middleware-version)
32643275
"n/a")))
32653276
(unless (string-equal (downcase refactor-nrepl-version)
3266-
(downcase (cljr--version :remove-package-version)))
3277+
(downcase cljr-injected-middleware-version))
32673278
(cider-repl-emit-interactive-stderr
32683279
(format "WARNING: clj-refactor and refactor-nrepl are out of sync.
32693280
Their versions are %s and %s, respectively.
@@ -4151,7 +4162,7 @@ If injecting the dependencies is not preferred set `cljr-inject-dependencies-at-
41514162
(when (and cljr-inject-dependencies-at-jack-in
41524163
(boundp 'cider-jack-in-lein-plugins)
41534164
(boundp 'cider-jack-in-nrepl-middlewares))
4154-
(add-to-list 'cider-jack-in-lein-plugins `("refactor-nrepl/refactor-nrepl" ,(cljr--version t)
4165+
(add-to-list 'cider-jack-in-lein-plugins `("refactor-nrepl/refactor-nrepl" ,cljr-injected-middleware-version
41554166
:predicate cljr--inject-middleware-p))
41564167
(add-to-list 'cider-jack-in-nrepl-middlewares '("refactor-nrepl.middleware/wrap-refactor"
41574168
:predicate cljr--inject-middleware-p))))

0 commit comments

Comments
 (0)