From d29c89e9d379b5b75cf8998a0f0d1dba9aea169d Mon Sep 17 00:00:00 2001 From: pranav Date: Tue, 18 Feb 2020 00:10:08 +0530 Subject: [PATCH] Add a check in apropos var-query-map --- CHANGELOG.md | 4 ++++ src/cider/nrepl/middleware/apropos.clj | 7 +++++-- test/clj/cider/nrepl/middleware/apropos_test.clj | 7 ++++++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 18f0fea10..6adc2a117 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## master (unreleased) +### Bugs fixed + +* [#666](https://github.com/clojure-emacs/cider-nrepl/pull/666): Add a check in apropos var-query-map. + ### New Features ## 0.24.0 (2020-02-14) diff --git a/src/cider/nrepl/middleware/apropos.clj b/src/cider/nrepl/middleware/apropos.clj index 4b52150a3..f77eb4b7d 100644 --- a/src/cider/nrepl/middleware/apropos.clj +++ b/src/cider/nrepl/middleware/apropos.clj @@ -19,7 +19,8 @@ (:query msg) (assoc-in [:var-query :search] (:query msg)) - (not (:case-sensitive? msg)) + (and (:query msg) + (not (:case-sensitive? msg))) (update-in [:var-query :search] #(format "(?i:%s)" %)) (:docs? msg) @@ -38,7 +39,9 @@ (update :ns (comp find-ns symbol))))) (defn apropos [msg] - {:apropos-matches (-> msg msg->var-query-map apropos/find-symbols)}) + {:apropos-matches (-> msg + msg->var-query-map + apropos/find-symbols)}) (defn handle-apropos [handler msg] (with-safe-transport handler msg diff --git a/test/clj/cider/nrepl/middleware/apropos_test.clj b/test/clj/cider/nrepl/middleware/apropos_test.clj index 931114616..94a800507 100644 --- a/test/clj/cider/nrepl/middleware/apropos_test.clj +++ b/test/clj/cider/nrepl/middleware/apropos_test.clj @@ -15,7 +15,12 @@ :query "spelling"} query-map (#'apropos/msg->var-query-map msg)] (is (contains? (:var-query query-map) :ns-query)) - (is (= 3 (count (-> query-map :var-query :ns-query :exclude-regexps))))))) + (is (= 3 (count (-> query-map :var-query :ns-query :exclude-regexps)))))) + + (testing "No :search key in the query-map if no :query in message" + (let [msg {:exclude-regexps ["^cider.nrepl" "^refactor-nrepl" "^nrepl"]} + query-map (#'apropos/msg->var-query-map msg)] + (is ((complement contains?) (:var-query query-map) :search))))) (deftest integration-test (testing "Apropos op, typical case"