File tree Expand file tree Collapse file tree 4 files changed +24
-11
lines changed
src/cider/nrepl/middleware
test/clj/cider/nrepl/middleware Expand file tree Collapse file tree 4 files changed +24
-11
lines changed Original file line number Diff line number Diff line change 1010 [org.tcrawley/dynapath " 0.2.3" ]
1111 ^:source-dep [mvxcvi/puget " 1.0.0" ]
1212 ^:source-dep [fipp " 0.6.4" ]
13- ^:source-dep [compliment " 0.2.8 -SNAPSHOT" ]
13+ ^:source-dep [compliment " 0.3.0 -SNAPSHOT" ]
1414 ^:source-dep [cljs-tooling " 0.2.0" ]
1515 ^:source-dep [cljfmt " 0.4.1" :exclusions [org.clojure/clojurescript]]
1616 ^:source-dep [org.clojure/java.classpath " 0.2.3" ]
Original file line number Diff line number Diff line change 1717 :extra-metadata extra-metadata})
1818 (jvm-complete/completions prefix {:ns ns
1919 :context context
20- :tag-candidates true
2120 :extra-metadata extra-metadata}))))
2221
2322(defn completion-doc
Original file line number Diff line number Diff line change 22 (:require [clojure.java.io :as io]
33 [clojure.tools.nrepl.middleware :refer [set-descriptor!]]
44 [cider.nrepl.middleware.util.error-handling :refer [with-safe-transport] :as err]
5- [compliment.sources.resources :as r]))
5+ [compliment.sources.resources :as r]
6+ [compliment.core :as jvm-complete]))
67
78(defn resource-path [name]
89 (when-let [resource (io/resource name)]
910 (.getPath resource)))
1011
11- (defn resources-list []
12- (r/resources-by-prefix " " ))
12+ (defn resources-list [{:keys [prefix context] :as msg
13+ :or {context " (resource \" __prefix__\" )" prefix " " }}]
14+ (->> (jvm-complete/completions prefix {:context context
15+ :sources [::r/resources ]})
16+ (map :candidate )))
1317
1418(defn resource-reply [{:keys [name] :as msg}]
1519 {:resource-path (resource-path name)})
1620
1721(defn resources-list-reply [msg]
18- {:resources-list (resources-list )})
22+ {:resources-list (resources-list msg )})
1923
2024(defn wrap-resource
2125 " Middleware that provides the path to resource."
3337 :returns {" resource-path" " The file path to a resource." }}
3438 " resources-list"
3539 {:doc " Obtain a list of all resources on the classpath."
36- :returns {" resources-list" " The list of resources." }}}})
40+ :returns {" resources-list" " The list of resources." }
41+ :optional {" context" " Completion context for compliment."
42+ " prefix" " Prefix to filter out resources." }}}})
Original file line number Diff line number Diff line change 1010 (is (.endsWith (:resource-path response) " test/resources/test.txt" ))))
1111
1212(deftest test-resources-list
13- (let [response (session/message {:op " resources-list" })]
14- (is (= #{" done" } (:status response)))
15- (is (not (empty? (:resources-list response))))
16- (is (not (empty? (filter #(re-matches #"test\. txt" %) (:resources-list response)))))))
13+ (testing " Basic checks"
14+ (let [response (session/message {:op " resources-list" })]
15+ (is (= #{" done" } (:status response)))
16+ (is (not (empty? (:resources-list response))))
17+ (is (not (empty? (filter #(re-matches #"test\. txt" %) (:resources-list response)))))))
18+
19+ (testing " Filtering resources based on prefixes"
20+ (let [response (session/message {:op " resources-list" :prefix " see-also" })]
21+ (is (= #{" done" } (:status response)))
22+ (is (not (empty? (:resources-list response))))
23+ (is (every? #(.startsWith % " see-also" ) (:resources-list response)))
24+ (is (contains? (set (:resources-list response)) " see-also.edn" )))))
1725
1826(deftest test-resource-op-error-handling
1927 (with-redefs [r/resource-path (fn [& _] (throw (Exception. " resource" )))]
You can’t perform that action at this time.
0 commit comments