Skip to content

Commit ec93758

Browse files
committed
suggest-libspecs op: support collections for :only values
1 parent 4a8970d commit ec93758

File tree

4 files changed

+17
-5
lines changed

4 files changed

+17
-5
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
## Unreleased
44

5+
## 3.9.1
6+
7+
* `suggest-libspecs` op: support collections for `:only` values.
8+
59
## 3.9.0
610

711
* [#401](https://github.com/clojure-emacs/refactor-nrepl/issues/401) `resolve-missing` no longer returns the wrong type

project.clj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
^:inline-dep [org.clojure/tools.analyzer.jvm "1.2.3"]
1414
^:inline-dep [org.clojure/tools.namespace "1.4.4" :exclusions [org.clojure/tools.reader]]
1515
^:inline-dep [org.clojure/tools.reader "1.3.6"]
16-
^:inline-dep [cider/orchard "0.12.0"]
16+
^:inline-dep [cider/orchard "0.21.0"]
1717
^:inline-dep [cljfmt "0.9.2" :exclusions [rewrite-clj rewrite-cljs]]
1818
^:inline-dep [clj-commons/fs "1.6.310"]
1919
^:inline-dep [rewrite-clj "1.1.47"]
@@ -34,7 +34,7 @@
3434
:unresolved-tree false}
3535
:filespecs [{:type :bytes :path "refactor-nrepl/refactor-nrepl/project.clj" :bytes ~(slurp "project.clj")}]
3636
:profiles {;; Clojure versions matrix
37-
:provided {:dependencies [[cider/cider-nrepl "0.31.0"]
37+
:provided {:dependencies [[cider/cider-nrepl "0.44.0"]
3838
[org.clojure/clojure "1.11.1"]
3939
;; For satisfying `:pedantic?`:
4040
[com.google.code.findbugs/jsr305 "3.0.2"]

src/refactor_nrepl/ns/suggest_libspecs.clj

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@
1414
(conj coll x)
1515
[x]))
1616

17+
(def to-sym
18+
(comp symbol
19+
name)) ;; `name` for Clojure <= 1.9 compat
20+
1721
(def parse-preferred-aliases
1822
(memoize (fn parse-preferred-aliases* [preferred-aliases]
1923
(let [preferred-aliases (into []
@@ -23,8 +27,10 @@
2327
x)))
2428
(read-string preferred-aliases))
2529
m (volatile! {})]
26-
(doseq [[prefix ns-name _only-keyword only] (mapv (partial mapv (comp symbol
27-
name)) ;; `name` for Clojure <= 1.9 compat
30+
(doseq [[prefix ns-name _only-keyword only] (mapv (partial mapv (fn [x]
31+
(cond->> x
32+
(coll? x) (mapv to-sym)
33+
(not (coll? x)) to-sym)))
2834
preferred-aliases)
2935
:let [files (ns-parser/ns-sym->ns-filenames ns-name)
3036
only (or only [:clj :cljs])

test/refactor_nrepl/ns/suggest_libspecs_test.clj

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,9 @@
8282
clojure.set]}} ["[something-else :as set]" "[clojure.set :as set]"]
8383

8484
;; Story 4:
85-
"io" "clj" "clj" [["io" "clojure.java.io" :only :clj]] '{:cljs {io [something-else]}} ["[clojure.java.io :as io]"]
85+
"io" "clj" "clj" [["io" "clojure.java.io" :only :clj]] '{:cljs {io [something-else]}} ["[clojure.java.io :as io]"]
86+
;; https://github.com/clojure-emacs/clj-refactor.el/issues/556 :
87+
"io" "clj" "clj" [["io" "clojure.java.io" :only [:clj]]] '{:cljs {io [something-else]}} ["[clojure.java.io :as io]"]
8688
;; Story 5:
8789
"io" "clj" "clj" [["io" "clojure.java.io" :only :clj]] '{:clj {io [something-else]}} ["[something-else :as io]"]
8890
"io" "clj" "clj" [["io" "something-else" :only :cljs]] {} ["[clojure.java.io :as io]"]

0 commit comments

Comments
 (0)