Created
April 13, 2021 12:29
-
-
Save mauricioszabo/2b2421795314926d293ed763507bacbf to your computer and use it in GitHub Desktop.
Revisions
-
mauricioszabo created this gist
Apr 13, 2021 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,28 @@ (defn- get-resolver-for-keyword [k] (p/let [{:keys [text]} (editor/get-namespace) namespace (str/replace text #"(.*?\.).*" "$1") res (editor/run-feature :eql [{(list :repl/namespaces {:filter namespace}) [:repl/namespace {:namespace/vars [:var/fqn]}]}]) vars (for [{:namespace/keys [vars]} (:repl/namespaces res) {:var/keys [fqn]} vars] fqn) code (str "(->> " (vec vars) " (filter (fn [r] (-> r :com.wsscode.pathom.connect/output set (contains? " k "))))" " (map #(select-keys % [:com.wsscode.pathom.connect/sym :com.wsscode.pathom.connect/output]))" " first)") {:keys [result]} (editor/eval {:text code :auto-detect true})] result)) (editor/add-resolver {:inputs [:editor/current-var] :outputs [:definition/info :definition/line]} (fn [{:editor/keys [current-var]}] (when (str/starts-with? current-var ":") (p/catch (p/let [result (get-resolver-for-keyword current-var) sym (:com.wsscode.pathom.connect/sym result) info (editor/eql {:var/fqn sym :editor/current-var ""} [:definition/info :definition/line])] (when (:definition/info info) info)) log))))