Skip to content

Commit 81a2e1f

Browse files
cskkscbbatsov
authored andcommitted
[#363] Bump compliment to 0.3.0-SNAPSHOT (#364)
1 parent 7f799e5 commit 81a2e1f

File tree

4 files changed

+24
-11
lines changed

4 files changed

+24
-11
lines changed

project.clj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
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"]

src/cider/nrepl/middleware/complete.clj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
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

src/cider/nrepl/middleware/resource.clj

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,24 @@
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."
@@ -33,4 +37,6 @@
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."}}}})

test/clj/cider/nrepl/middleware/resource_test.clj

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,18 @@
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")))]

0 commit comments

Comments
 (0)