Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EOF error if unbalance parenthesis in comment #34

Closed
jlesquembre opened this issue May 10, 2019 · 9 comments
Closed

EOF error if unbalance parenthesis in comment #34

jlesquembre opened this issue May 10, 2019 · 9 comments
Assignees
Labels
bug Something isn't working
Milestone

Comments

@jlesquembre
Copy link
Contributor

This works:

(inc
 ; (1)
 5)

But I get an EOF error with this form:

(inc
 ; )
 5)

I hope the logs are not too noisy, only the last lines are relevant, I think.

Logs

19-05-10 16:28:58 beta INFO [conjure.dev:15] - Logging initialised
19-05-10 16:28:58 beta INFO [conjure.rpc:142] - Starting RPC TCP server on port 46541
19-05-10 16:28:58 beta INFO [conjure.rpc:160] - Starting RPC loops
19-05-10 16:28:58 beta INFO [conjure.prepl:183] - Started prepl server on port 41427
19-05-10 16:28:58 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-set-var, :params ["conjure_ready" 1]}
19-05-10 16:28:58 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result nil, :client :stdio}
19-05-10 16:28:58 beta INFO [conjure.main:32] - Everything's ready! Let's perform some magic.
19-05-10 16:29:04 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :notify, :method :eval-current-form, :params [], :client :stdio}
19-05-10 16:29:04 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-call-atomic, :params [(["nvim_get_current_buf" []] ["nvim_get_current_win" []] ["nvim_eval" ["matchstr(getline('.'), '\\%'.col('.').'c.')"]] ["nvim_call_function" ["searchpairpos" ("(" "" ")" "bnzW")]] ["nvim_call_function" ["searchpairpos" ("(" "" ")" "nzW")]] ["nvim_call_function" ["searchpairpos" ("\\[" "" "\\]" "bnzW")]] ["nvim_call_function" ["searchpairpos" ("\\[" "" "\\]" "nzW")]] ["nvim_call_function" ["searchpairpos" ("{" "" "}" "bnzW")]] ["nvim_call_function" ["searchpairpos" ("{" "" "}" "nzW")]])]}
19-05-10 16:29:04 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result [[#msgpack.core.Ext{:type 0, :data #object["[B" 0x68332396 "[B@68332396"]} #msgpack.core.Ext{:type 1, :data #object["[B" 0x2d31a0f4 "[B@2d31a0f4"]} "(" [0 0] [10 4] [0 0] [0 0] [0 0] [0 0]] nil], :client :stdio}
19-05-10 16:29:04 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-win-get-cursor, :params [#msgpack.core.Ext{:type 1, :data #object["[B" 0x2d31a0f4 "[B@2d31a0f4"]}]}
19-05-10 16:29:04 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result [9 0], :client :stdio}
19-05-10 16:29:04 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-call-atomic, :params [(["nvim_buf_get_lines" [#msgpack.core.Ext{:type 0, :data #object["[B" 0x68332396 "[B@68332396"]} 8 10 false]])]}
19-05-10 16:29:04 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result [[["(+" " ; )"]] nil], :client :stdio}
19-05-10 16:29:04 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-execute-lua, :params ["return require('conjure').upsert_log(...)" ("/tmp/conjure.cljc" 40 false false)]}
19-05-10 16:29:04 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result {"win" 1001, "buf" 3}, :client :stdio}
19-05-10 16:29:04 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-buf-line-count, :params [3]}
19-05-10 16:29:04 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result 1, :client :stdio}
19-05-10 16:29:04 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-call-atomic, :params [(["nvim_buf_set_lines" [3 0 1 false ["; conjure/out | Welcome to Conjure!"]]] ["nvim_buf_set_lines" [3 -1 -1 false ("; conjure/out | Warning: Connecting to Conjure's own JVM by default." "; conjure/out | You should start your own prepl and connect to that.")]] ["nvim_win_set_cursor" [1001 [3 0]]])]}
19-05-10 16:29:04 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result [[nil nil nil] nil], :client :stdio}
19-05-10 16:29:04 beta INFO [conjure.prepl:111] - Adding :conjure 127.0.0.1 41427
19-05-10 16:29:04 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-execute-lua, :params ["return require('conjure').upsert_log(...)" ("/tmp/conjure.cljc" 40 false false)]}
19-05-10 16:29:04 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result {"win" 1001, "buf" 3}, :client :stdio}
19-05-10 16:29:04 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-buf-line-count, :params [3]}
19-05-10 16:29:04 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result 3, :client :stdio}
19-05-10 16:29:04 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-call-atomic, :params [(["nvim_buf_set_lines" [3 -1 -1 false ("; conjure/out | Adding :conjure")]] ["nvim_win_set_cursor" [1001 [4 0]]])]}
19-05-10 16:29:04 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result [[nil nil] nil], :client :stdio}
19-05-10 16:29:04 beta INFO [conjure.prepl:66] - Connecting through remote-prepl :conjure
19-05-10 16:29:04 beta TRACE [conjure.prepl:129] - Sending prelude:  (require 'clojure.repl 'clojure.string 'clojure.j…
19-05-10 16:29:04 beta TRACE [conjure.prepl:89] - Writing to tag: :conjure -  (require 'clojure.repl 'clojure.string 'clojure.j…
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "nil", :ns "user", :ms 9, :form "(require 'clojure.repl 'clojure.string 'clojure.ja…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "nil", :ns "conjure-compliment.sources", :ms 31, :form "(ns conjure-compliment.sources \"Tools for defining…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources/sources", :ns "conjure-compliment.sources", :ms 0, :form "(def ^{:doc \"Stores defined sources.\" :private tru…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources/all-sources", :ns "conjure-compliment.sources", :ms 4, :form "(defn all-sources \"Returns the list of all complet…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources/defsource", :ns "conjure-compliment.sources", :ms 10, :form "(defn defsource \"Defines a source with the given n…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "nil", :ns "conjure-compliment.utils", :ms 9, :form "(ns conjure-compliment.utils \"Functions and utilit…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.utils/*extra-metadata*", :ns "conjure-compliment.utils", :ms 0, :form "(def ^:dynamic *extra-metadata* \"Signals to downst…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.utils/fuzzy-matches?", :ns "conjure-compliment.utils", :ms 5, :form "(defn fuzzy-matches? \"Tests if symbol matches the …"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.utils/fuzzy-matches-no-skip?", :ns "conjure-compliment.utils", :ms 3, :form "(defn fuzzy-matches-no-skip? \"Tests if symbol matc…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.utils/resolve-class", :ns "conjure-compliment.utils", :ms 2, :form "(defn resolve-class \"Tries to resolve a classname …"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.utils/resolve-namespace", :ns "conjure-compliment.utils", :ms 1, :form "(defn resolve-namespace \"Tries to resolve a namesp…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.utils/defmemoized", :ns "conjure-compliment.utils", :ms 5, :form "(defmacro ^{:doc \"Defines a memoized function.\" :f…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.utils/primitive-cache", :ns "conjure-compliment.utils", :ms 0, :form "(def primitive-cache (atom {}))"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.utils/cache-last-result", :ns "conjure-compliment.utils", :ms 4, :form "(defmacro cache-last-result \"If cache for `name` i…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.utils/flush-caches", :ns "conjure-compliment.utils", :ms 1, :form "(defn flush-caches \"Removes all cached values, for…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.utils/android-vm?", :ns "conjure-compliment.utils", :ms 0, :form ";; Classpath inspection (def android-vm? \"Signifie…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.utils/jdk9+?", :ns "conjure-compliment.utils", :ms 1, :form "(def jdk9+? \"Signifies if the application is runni…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.utils/classpath", :ns "conjure-compliment.utils", :ms 1, :form "(defn- classpath \"Returns a sequence of File objec…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.utils/symlink?", :ns "conjure-compliment.utils", :ms 1, :form "(defn- symlink? \"Checks if the given file is a sym…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.utils/file-seq-nonr", :ns "conjure-compliment.utils", :ms 2, :form "(defn- file-seq-nonr \"A tree seq on java.io.Files,…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.utils/list-files", :ns "conjure-compliment.utils", :ms 27, :form "(defn- list-files \"Given a path (either a jar file…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.utils/list-jdk9-base-classfiles", :ns "conjure-compliment.utils", :ms 9, :form "(defn- list-jdk9-base-classfiles \"Because on JDK9+…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.utils/all-files-on-classpath", :ns "conjure-compliment.utils", :ms 3, :form "(defn- all-files-on-classpath \"Given a list of fil…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.utils/classes-on-classpath", :ns "conjure-compliment.utils", :ms 7, :form "(defn classes-on-classpath \"Returns a map of all c…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.utils/namespaces-on-classpath", :ns "conjure-compliment.utils", :ms 6, :form "(defn namespaces-on-classpath \"Returns the list of…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.utils/project-resources", :ns "conjure-compliment.utils", :ms 7, :form "(defn project-resources \"Returns a list of all non…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "nil", :ns "conjure-compliment.context", :ms 5, :form "(ns conjure-compliment.context \"Utilities for pars…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.context/restore-map-literals", :ns "conjure-compliment.context", :ms 1, :form "(defn- restore-map-literals [context] (walk/postwa…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.context/try-read-replacing-maps", :ns "conjure-compliment.context", :ms 1, :form "(defn- try-read-replacing-maps [s] (try (binding […"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.context/dumb-read-form", :ns "conjure-compliment.context", :ms 2, :form "(defn- dumb-read-form \"Take a presumably unfinishe…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.context/safe-read-context-string", :ns "conjure-compliment.context", :ms 1, :form "#_(dumb-read-form \"(let [a {:b 1}, c {__prefix__\")…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.context/previous-context", :ns "conjure-compliment.context", :ms 0, :form "(def ^{:doc \"Stores the last completion context.\" …"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.context/prefix-placeholder", :ns "conjure-compliment.context", :ms 0, :form "(def ^{:doc \"Special symbol which substitutes pref…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.context/parse-context", :ns "conjure-compliment.context", :ms 5, :form "(defn parse-context \"Takes a context which is a Li…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.context/cache-context", :ns "conjure-compliment.context", :ms 1, :form "(defn cache-context \"Parses the context, or return…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "nil", :ns "conjure-compliment.sources.resources", :ms 6, :form "(ns conjure-compliment.sources.resources \"Completi…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.resources/inside-resource-call?", :ns "conjure-compliment.sources.resources", :ms 2, :form "(defn inside-resource-call? \"If context is not nil…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.resources/candidates", :ns "conjure-compliment.sources.resources", :ms 4, :form "(defn candidates \"Returns list of completions for …"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.resources/doc", :ns "conjure-compliment.sources.resources", :ms 1, :form "(defn doc \"Documentation function for project reso…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#:conjure-compliment.sources.resources{:resources {:candidates #'conjure-compliment.sources.resources/candidates, :doc #'conjure-compliment.sources.resources/doc, :enabled true}}", :ns "conjure-compliment.sources.resources", :ms 0, :form "(defsource ::resources :candidates #'candidates :d…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "nil", :ns "conjure-compliment.sources.ns-mappings", :ms 5, :form "(ns conjure-compliment.sources.ns-mappings \"Comple…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.ns-mappings/var-symbol?", :ns "conjure-compliment.sources.ns-mappings", :ms 0, :form "(defn var-symbol? \"Test if prefix resembles a var …"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.ns-mappings/dash-matches?", :ns "conjure-compliment.sources.ns-mappings", :ms 0, :form "(defn dash-matches? \"Tests if prefix partially mat…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.ns-mappings/get-scope-and-prefix", :ns "conjure-compliment.sources.ns-mappings", :ms 1, :form "(defn get-scope-and-prefix \"Tries to get take apar…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.ns-mappings/try-get-ns-from-context", :ns "conjure-compliment.sources.ns-mappings", :ms 2, :form "(defn try-get-ns-from-context \"Tries to extract a …"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.ns-mappings/generate-docstring", :ns "conjure-compliment.sources.ns-mappings", :ms 3, :form "(defn generate-docstring \"Generates a docstring fr…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.ns-mappings/candidates", :ns "conjure-compliment.sources.ns-mappings", :ms 10, :form "(defn candidates \"Returns a list of namespace-boun…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.ns-mappings/doc", :ns "conjure-compliment.sources.ns-mappings", :ms 1, :form "(defn doc \"Documentation function for this sources…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "{:conjure-compliment.sources.resources/resources {:candidates #'conjure-compliment.sources.resources/candidates, :doc #'conjure-compliment.sources.resources/doc, :enabled true}, :conjure-compliment.sources.ns-mappings/ns-mappings {:candidates #'conjure-compliment.sources.ns-mappings/candidates, :doc #'conjure-compliment.sources.ns-mappings/doc, :enabled true}}", :ns "conjure-compliment.sources.ns-mappings", :ms 0, :form "(defsource ::ns-mappings :candidates #'candidates …"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "nil", :ns "conjure-compliment.sources.local-bindings", :ms 5, :form "(ns conjure-compliment.sources.local-bindings \"Com…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.local-bindings/let-like-forms", :ns "conjure-compliment.sources.local-bindings", :ms 0, :form "(def let-like-forms '#{let if-let when-let if-some…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.local-bindings/defn-like-forms", :ns "conjure-compliment.sources.local-bindings", :ms 0, :form "(def defn-like-forms '#{defn defn- fn defmacro})"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.local-bindings/doseq-like-forms", :ns "conjure-compliment.sources.local-bindings", :ms 0, :form "(def doseq-like-forms '#{doseq for})"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.local-bindings/letfn-like-forms", :ns "conjure-compliment.sources.local-bindings", :ms 0, :form "(def letfn-like-forms '#{letfn})"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.local-bindings/parse-binding", :ns "conjure-compliment.sources.local-bindings", :ms 2, :form "(defn parse-binding \"Given a binding node returns …"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.local-bindings/parse-fn-body", :ns "conjure-compliment.sources.local-bindings", :ms 2, :form "(defn parse-fn-body \"Extract function name and arg…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.local-bindings/extract-local-bindings", :ns "conjure-compliment.sources.local-bindings", :ms 2, :form "(defn extract-local-bindings \"When given a form th…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.local-bindings/distinct-preserve-tags", :ns "conjure-compliment.sources.local-bindings", :ms 1, :form "(defn- distinct-preserve-tags \"Like `distinct` but…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.local-bindings/bindings-from-context", :ns "conjure-compliment.sources.local-bindings", :ms 0, :form "(defn bindings-from-context \"Returns all local bin…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.local-bindings/candidates", :ns "conjure-compliment.sources.local-bindings", :ms 6, :form "(defn candidates \"Returns a list of local bindings…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "{:conjure-compliment.sources.resources/resources {:candidates #'conjure-compliment.sources.resources/candidates, :doc #'conjure-compliment.sources.resources/doc, :enabled true}, :conjure-compliment.sources.ns-mappings/ns-mappings {:candidates #'conjure-compliment.sources.ns-mappings/candidates, :doc #'conjure-compliment.sources.ns-mappings/doc, :enabled true}, :conjure-compliment.sources.local-bindings/local-bindings {:candidates #'conjure-compliment.sources.local-bindings/candidates, :doc #object[clojure.core$constantly$fn__5657 0x63e35a0d \"clojure.core$constantly$fn__5657@63e35a0d\"], :enabled true}}", :ns "conjure-compliment.sources.local-bindings", :ms 0, :form "(defsource ::local-bindings :candidates #'candidat…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "nil", :ns "conjure-compliment.sources.class-members", :ms 7, :form "(ns conjure-compliment.sources.class-members \"Comp…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.class-members/static?", :ns "conjure-compliment.sources.class-members", :ms 1, :form "(defn static? \"Tests if class member is static.\" […"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.class-members/members-cache", :ns "conjure-compliment.sources.class-members", :ms 0, :form ";; ## Regular (non-static) members (def members-ca…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.class-members/populate-members-cache", :ns "conjure-compliment.sources.class-members", :ms 7, :form "(defn populate-members-cache \"Populate members cac…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.class-members/update-cache", :ns "conjure-compliment.sources.class-members", :ms 2, :form "(defn update-cache \"Updates members cache for a gi…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.class-members/get-all-members", :ns "conjure-compliment.sources.class-members", :ms 0, :form "(defn get-all-members \"Returns all non-static memb…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.class-members/class-member-symbol?", :ns "conjure-compliment.sources.class-members", :ms 0, :form "(defn class-member-symbol? \"Tests if a symbol name…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.class-members/camel-case-matches?", :ns "conjure-compliment.sources.class-members", :ms 1, :form "(defn camel-case-matches? \"Tests if prefix matches…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.class-members/try-get-object-class", :ns "conjure-compliment.sources.class-members", :ms 2, :form "(defn try-get-object-class \"Tries to get the type …"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.class-members/members-candidates", :ns "conjure-compliment.sources.class-members", :ms 5, :form "(defn members-candidates \"Returns a list of Java n…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.class-members/type-to-pretty-string", :ns "conjure-compliment.sources.class-members", :ms 1, :form ";; ### Member documentation (defn type-to-pretty-s…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.class-members/doc-method-parameters", :ns "conjure-compliment.sources.class-members", :ms 0, :form "(defn doc-method-parameters \"Takes a list of metho…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.class-members/create-members-doc", :ns "conjure-compliment.sources.class-members", :ms 3, :form "(defn create-members-doc \"Takes a list of members …"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.class-members/members-doc", :ns "conjure-compliment.sources.class-members", :ms 1, :form "(defn members-doc \"Documentation function for non-…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.class-members/classname-doc", :ns "conjure-compliment.sources.class-members", :ms 8, :form "(defn classname-doc [^Class class] (let [members (…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "{:conjure-compliment.sources.resources/resources {:candidates #'conjure-compliment.sources.resources/candidates, :doc #'conjure-compliment.sources.resources/doc, :enabled true}, :conjure-compliment.sources.ns-mappings/ns-mappings {:candidates #'conjure-compliment.sources.ns-mappings/candidates, :doc #'conjure-compliment.sources.ns-mappings/doc, :enabled true}, :conjure-compliment.sources.local-bindings/local-bindings {:candidates #'conjure-compliment.sources.local-bindings/candidates, :doc #object[clojure.core$constantly$fn__5657 0x63e35a0d \"clojure.core$constantly$fn__5657@63e35a0d\"], :enabled true}, :conjure-compliment.sources.class-members/members {:candidates #'conjure-compliment.sources.class-members/members-candidates, :tag-fn #object[conjure_compliment.sources.class_members$fn__618 0x1065732e \"conjure_compliment.sources.class_members$fn__618@1065732e\"], :doc #'conjure-compliment.sources.class-members/members-doc, :enabled true}}", :ns "conjure-compliment.sources.class-members", :ms 1, :form "(defsource ::members :candidates #'members-candida…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.class-members/static-member-symbol?", :ns "conjure-compliment.sources.class-members", :ms 0, :form ";; ## Static members (defn static-member-symbol? \"…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.class-members/static-members-cache", :ns "conjure-compliment.sources.class-members", :ms 0, :form "(def ^{:doc \"Stores cache of all static members fo…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.class-members/populate-static-members-cache", :ns "conjure-compliment.sources.class-members", :ms 1, :form "(defn populate-static-members-cache \"Populates sta…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.class-members/update-static-cache", :ns "conjure-compliment.sources.class-members", :ms 0, :form "(defn update-static-cache \"Updates static members …"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.class-members/static-members", :ns "conjure-compliment.sources.class-members", :ms 0, :form "(defn static-members \"Returns all static members f…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.class-members/static-members-candidates", :ns "conjure-compliment.sources.class-members", :ms 4, :form "(defn static-members-candidates \"Returns a list of…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.class-members/resolve-static-member", :ns "conjure-compliment.sources.class-members", :ms 1, :form "(defn resolve-static-member \"Given a string repres…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.class-members/static-member-doc", :ns "conjure-compliment.sources.class-members", :ms 0, :form "(defn static-member-doc \"Given a member name and c…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "{:conjure-compliment.sources.resources/resources {:candidates #'conjure-compliment.sources.resources/candidates, :doc #'conjure-compliment.sources.resources/doc, :enabled true}, :conjure-compliment.sources.ns-mappings/ns-mappings {:candidates #'conjure-compliment.sources.ns-mappings/candidates, :doc #'conjure-compliment.sources.ns-mappings/doc, :enabled true}, :conjure-compliment.sources.local-bindings/local-bindings {:candidates #'conjure-compliment.sources.local-bindings/candidates, :doc #object[clojure.core$constantly$fn__5657 0x63e35a0d \"clojure.core$constantly$fn__5657@63e35a0d\"], :enabled true}, :conjure-compliment.sources.class-members/members {:candidates #'conjure-compliment.sources.class-members/members-candidates, :tag-fn #object[conjure_compliment.sources.class_members$fn__618 0x1065732e \"conjure_compliment.sources.class_members$fn__618@1065732e\"], :doc #'conjure-compliment.sources.class-members/members-doc, :enabled true}, :conjure-compliment.sources.class-members/static-members {:candidates #'conjure-compliment.sources.class-members/static-members-candidates, :doc #'conjure-compliment.sources.class-members/static-member-doc, :enabled true}}", :ns "conjure-compliment.sources.class-members", :ms 0, :form "(defsource ::static-members :candidates #'static-m…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "nil", :ns "conjure-compliment.sources.keywords", :ms 5, :form "(ns conjure-compliment.sources.keywords \"Completio…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.keywords/keywords-table", :ns "conjure-compliment.sources.keywords", :ms 0, :form "(defmemoized ^:private keywords-table [] (let [^Fi…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.keywords/tagged-candidate", :ns "conjure-compliment.sources.keywords", :ms 70, :form "(defn- tagged-candidate [c] {:candidate c, :type :…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.keywords/qualified-candidates", :ns "conjure-compliment.sources.keywords", :ms 3, :form "(defn qualified-candidates \"Returns a list of name…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.keywords/namespace-alias-candidates", :ns "conjure-compliment.sources.keywords", :ms 3, :form "(defn namespace-alias-candidates \"Returns a list o…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.keywords/aliased-candidates", :ns "conjure-compliment.sources.keywords", :ms 4, :form "(defn aliased-candidates \"Returns a list of alias-…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.keywords/candidates", :ns "conjure-compliment.sources.keywords", :ms 3, :form "(defn candidates [^String prefix, ns _] (let [sing…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "{:conjure-compliment.sources.resources/resources {:candidates #'conjure-compliment.sources.resources/candidates, :doc #'conjure-compliment.sources.resources/doc, :enabled true}, :conjure-compliment.sources.ns-mappings/ns-mappings {:candidates #'conjure-compliment.sources.ns-mappings/candidates, :doc #'conjure-compliment.sources.ns-mappings/doc, :enabled true}, :conjure-compliment.sources.local-bindings/local-bindings {:candidates #'conjure-compliment.sources.local-bindings/candidates, :doc #object[clojure.core$constantly$fn__5657 0x63e35a0d \"clojure.core$constantly$fn__5657@63e35a0d\"], :enabled true}, :conjure-compliment.sources.class-members/members {:candidates #'conjure-compliment.sources.class-members/members-candidates, :tag-fn #object[conjure_compliment.sources.class_members$fn__618 0x1065732e \"conjure_compliment.sources.class_members$fn__618@1065732e\"], :doc #'conjure-compliment.sources.class-members/members-doc, :enabled true}, :conjure-compliment.sources.class-members/static-members {:candidates #'conjure-compliment.sources.class-members/static-members-candidates, :doc #'conjure-compliment.sources.class-members/static-member-doc, :enabled true}, :conjure-compliment.sources.keywords/keywords {:candidates #'conjure-compliment.sources.keywords/candidates, :doc #object[clojure.core$constantly$fn__5657 0x31fcd069 \"clojure.core$constantly$fn__5657@31fcd069\"], :enabled true}}", :ns "conjure-compliment.sources.keywords", :ms 0, :form "(defsource ::keywords :candidates #'candidates :do…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "nil", :ns "conjure-compliment.sources.namespaces-and-classes", :ms 5, :form "(ns conjure-compliment.sources.namespaces-and-clas…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.namespaces-and-classes/nscl-symbol?", :ns "conjure-compliment.sources.namespaces-and-classes", :ms 0, :form "(defn nscl-symbol? \"Tests if prefix looks like a n…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.namespaces-and-classes/nscl-matches?", :ns "conjure-compliment.sources.namespaces-and-classes", :ms 0, :form "(defn nscl-matches? \"Tests if prefix partially mat…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.namespaces-and-classes/imported-classes", :ns "conjure-compliment.sources.namespaces-and-classes", :ms 3, :form ";;; Obtaining the list of classes (defn imported-c…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.namespaces-and-classes/all-classes-short-names", :ns "conjure-compliment.sources.namespaces-and-classes", :ms 2, :form "(defn all-classes-short-names \"Returns a map where…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.namespaces-and-classes/analyze-import-context", :ns "conjure-compliment.sources.namespaces-and-classes", :ms 1, :form "(defn- analyze-import-context \"Checks if the compl…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.namespaces-and-classes/get-all-full-names", :ns "conjure-compliment.sources.namespaces-and-classes", :ms 1, :form "(defn- get-all-full-names \"Returns a list of packa…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.namespaces-and-classes/get-classes-by-package-name", :ns "conjure-compliment.sources.namespaces-and-classes", :ms 1, :form "(defn- get-classes-by-package-name \"Returns simple…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.namespaces-and-classes/candidates", :ns "conjure-compliment.sources.namespaces-and-classes", :ms 15, :form "(defn candidates \"Returns a list of namespace and …"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.namespaces-and-classes/doc", :ns "conjure-compliment.sources.namespaces-and-classes", :ms 1, :form "(defn doc [ns-or-class-str curr-ns] (when (nscl-sy…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "{:conjure-compliment.sources.resources/resources {:candidates #'conjure-compliment.sources.resources/candidates, :doc #'conjure-compliment.sources.resources/doc, :enabled true}, :conjure-compliment.sources.ns-mappings/ns-mappings {:candidates #'conjure-compliment.sources.ns-mappings/candidates, :doc #'conjure-compliment.sources.ns-mappings/doc, :enabled true}, :conjure-compliment.sources.local-bindings/local-bindings {:candidates #'conjure-compliment.sources.local-bindings/candidates, :doc #object[clojure.core$constantly$fn__5657 0x63e35a0d \"clojure.core$constantly$fn__5657@63e35a0d\"], :enabled true}, :conjure-compliment.sources.class-members/members {:candidates #'conjure-compliment.sources.class-members/members-candidates, :tag-fn #object[conjure_compliment.sources.class_members$fn__618 0x1065732e \"conjure_compliment.sources.class_members$fn__618@1065732e\"], :doc #'conjure-compliment.sources.class-members/members-doc, :enabled true}, :conjure-compliment.sources.class-members/static-members {:candidates #'conjure-compliment.sources.class-members/static-members-candidates, :doc #'conjure-compliment.sources.class-members/static-member-doc, :enabled true}, :conjure-compliment.sources.keywords/keywords {:candidates #'conjure-compliment.sources.keywords/candidates, :doc #object[clojure.core$constantly$fn__5657 0x31fcd069 \"clojure.core$constantly$fn__5657@31fcd069\"], :enabled true}, :conjure-compliment.sources.namespaces-and-classes/namespaces-and-classes {:candidates #'conjure-compliment.sources.namespaces-and-classes/candidates, :doc #'conjure-compliment.sources.namespaces-and-classes/doc, :enabled true}}", :ns "conjure-compliment.sources.namespaces-and-classes", :ms 0, :form "(defsource ::namespaces-and-classes :candidates #'…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "nil", :ns "conjure-compliment.sources.special-forms", :ms 4, :form "(ns conjure-compliment.sources.special-forms \"Comp…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.special-forms/special-forms", :ns "conjure-compliment.sources.special-forms", :ms 0, :form "(def ^:private special-forms (set (map name '[def …"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.special-forms/first-item-in-list?", :ns "conjure-compliment.sources.special-forms", :ms 1, :form "(defn first-item-in-list? \"If context is not nil, …"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.special-forms/candidates", :ns "conjure-compliment.sources.special-forms", :ms 3, :form "(defn candidates \"Returns list of completions for …"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.special-forms/doc", :ns "conjure-compliment.sources.special-forms", :ms 0, :form "(defn doc \"Documentation function for special form…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "{:conjure-compliment.sources.resources/resources {:candidates #'conjure-compliment.sources.resources/candidates, :doc #'conjure-compliment.sources.resources/doc, :enabled true}, :conjure-compliment.sources.ns-mappings/ns-mappings {:candidates #'conjure-compliment.sources.ns-mappings/candidates, :doc #'conjure-compliment.sources.ns-mappings/doc, :enabled true}, :conjure-compliment.sources.local-bindings/local-bindings {:candidates #'conjure-compliment.sources.local-bindings/candidates, :doc #object[clojure.core$constantly$fn__5657 0x63e35a0d \"clojure.core$constantly$fn__5657@63e35a0d\"], :enabled true}, :conjure-compliment.sources.class-members/members {:candidates #'conjure-compliment.sources.class-members/members-candidates, :tag-fn #object[conjure_compliment.sources.class_members$fn__618 0x1065732e \"conjure_compliment.sources.class_members$fn__618@1065732e\"], :doc #'conjure-compliment.sources.class-members/members-doc, :enabled true}, :conjure-compliment.sources.class-members/static-members {:candidates #'conjure-compliment.sources.class-members/static-members-candidates, :doc #'conjure-compliment.sources.class-members/static-member-doc, :enabled true}, :conjure-compliment.sources.keywords/keywords {:candidates #'conjure-compliment.sources.keywords/candidates, :doc #object[clojure.core$constantly$fn__5657 0x31fcd069 \"clojure.core$constantly$fn__5657@31fcd069\"], :enabled true}, :conjure-compliment.sources.namespaces-and-classes/namespaces-and-classes {:candidates #'conjure-compliment.sources.namespaces-and-classes/candidates, :doc #'conjure-compliment.sources.namespaces-and-classes/doc, :enabled true}, :conjure-compliment.sources.special-forms/special-forms {:candidates #'conjure-compliment.sources.special-forms/candidates, :doc #'conjure-compliment.sources.special-forms/doc, :enabled true}}", :ns "conjure-compliment.sources.special-forms", :ms 0, :form "(defsource ::special-forms :candidates #'candidate…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.sources.special-forms/literal-candidates", :ns "conjure-compliment.sources.special-forms", :ms 1, :form "(defn literal-candidates \"We define `true`, `false…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "{:conjure-compliment.sources.class-members/members {:candidates #'conjure-compliment.sources.class-members/members-candidates, :tag-fn #object[conjure_compliment.sources.class_members$fn__618 0x1065732e \"conjure_compliment.sources.class_members$fn__618@1065732e\"], :doc #'conjure-compliment.sources.class-members/members-doc, :enabled true}, :conjure-compliment.sources.resources/resources {:candidates #'conjure-compliment.sources.resources/candidates, :doc #'conjure-compliment.sources.resources/doc, :enabled true}, :conjure-compliment.sources.keywords/keywords {:candidates #'conjure-compliment.sources.keywords/candidates, :doc #object[clojure.core$constantly$fn__5657 0x31fcd069 \"clojure.core$constantly$fn__5657@31fcd069\"], :enabled true}, :conjure-compliment.sources.local-bindings/local-bindings {:candidates #'conjure-compliment.sources.local-bindings/candidates, :doc #object[clojure.core$constantly$fn__5657 0x63e35a0d \"clojure.core$constantly$fn__5657@63e35a0d\"], :enabled true}, :conjure-compliment.sources.namespaces-and-classes/namespaces-and-classes {:candidates #'conjure-compliment.sources.namespaces-and-classes/candidates, :doc #'conjure-compliment.sources.namespaces-and-classes/doc, :enabled true}, :conjure-compliment.sources.special-forms/special-forms {:candidates #'conjure-compliment.sources.special-forms/candidates, :doc #'conjure-compliment.sources.special-forms/doc, :enabled true}, :conjure-compliment.sources.special-forms/literals {:candidates #'conjure-compliment.sources.special-forms/literal-candidates, :doc #object[clojure.core$constantly$fn__5657 0x21dba236 \"clojure.core$constantly$fn__5657@21dba236\"], :enabled true}, :conjure-compliment.sources.class-members/static-members {:candidates #'conjure-compliment.sources.class-members/static-members-candidates, :doc #'conjure-compliment.sources.class-members/static-member-doc, :enabled true}, :conjure-compliment.sources.ns-mappings/ns-mappings {:candidates #'conjure-compliment.sources.ns-mappings/candidates, :doc #'conjure-compliment.sources.ns-mappings/doc, :enabled true}}", :ns "conjure-compliment.sources.special-forms", :ms 0, :form "(defsource ::literals :candidates #'literal-candid…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "nil", :ns "conjure-compliment.core", :ms 5, :form ";; ## Compliment - a completion library you deserv…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.core/all-files", :ns "conjure-compliment.core", :ms 0, :form "(def all-files \"List of all Compliment files in an…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.core/by-length-comparator", :ns "conjure-compliment.core", :ms 1, :form "(def ^:private by-length-comparator (reify Compara…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.core/sort-by-length", :ns "conjure-compliment.core", :ms 0, :form "(defn sort-by-length \"Sorts list of strings by the…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.core/ensure-ns", :ns "conjure-compliment.core", :ms 0, :form "(defn ensure-ns \"Takes either a namespace object o…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.core/completions", :ns "conjure-compliment.core", :ms 3, :form "(defn completions \"Returns a list of completions f…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "#'conjure-compliment.core/documentation", :ns "conjure-compliment.core", :ms 4, :form "(defn documentation \"Returns a documentation strin…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val ":ready", :ns "conjure-compliment.core", :ms 0, :form ":ready"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:134] - Prelude loaded
19-05-10 16:29:04 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-get-current-buf, :params nil}
19-05-10 16:29:04 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result #msgpack.core.Ext{:type 0, :data #object["[B" 0x6d8864fe "[B@6d8864fe"]}, :client :stdio}
19-05-10 16:29:04 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-call-atomic, :params [(["nvim_buf_get_name" [#msgpack.core.Ext{:type 0, :data #object["[B" 0x6d8864fe "[B@6d8864fe"]}]] ["nvim_buf_line_count" [#msgpack.core.Ext{:type 0, :data #object["[B" 0x6d8864fe "[B@6d8864fe"]}]] ["nvim_buf_get_lines" [#msgpack.core.Ext{:type 0, :data #object["[B" 0x6d8864fe "[B@6d8864fe"]} 0 25 false]] ["nvim_get_current_win" []])]}
19-05-10 16:29:04 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result [["/home/jlle/tmp/foo/foo.clj" 12 ["(ns foo)" "" "(require '[clojure.test.check.generators :as gen])" "" "(gen/sample (gen/bind gen/int #(gen/tuple %)))" "" "(inc 1)" "" "(+" " ; )" " 5)" ""] #msgpack.core.Ext{:type 1, :data #object["[B" 0x4d1e5fbb "[B@4d1e5fbb"]}] nil], :client :stdio}
19-05-10 16:29:04 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-execute-lua, :params ["return require('conjure').upsert_log(...)" ("/tmp/conjure.cljc" 40 false false)]}
19-05-10 16:29:04 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result {"win" 1001, "buf" 3}, :client :stdio}
19-05-10 16:29:04 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-buf-line-count, :params [3]}
19-05-10 16:29:04 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result 4, :client :stdio}
19-05-10 16:29:04 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-call-atomic, :params [(["nvim_buf_set_lines" [3 -1 -1 false ("; conjure/eval | (+ ; )")]] ["nvim_win_set_cursor" [1001 [5 0]]])]}
19-05-10 16:29:04 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result [[nil nil] nil], :client :stdio}
19-05-10 16:29:04 beta TRACE [conjure.prepl:89] - Writing to tag: :conjure -  (try (ns foo) (let [rdr (-> (java.io.StringReader…
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :err, :val "Syntax error reading source at (foo.clj:11:1).\nEOF while reading, starting at line 9\n\n", :form nil}
19-05-10 16:29:04 beta TRACE [conjure.prepl:141] - Read value from :conjure - {:tag :err, :val "Syntax error reading source at (foo.clj:11:1).\nEOF while reading, starting at line 9\n\n", :form nil}
19-05-10 16:29:04 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-execute-lua, :params ["return require('conjure').upsert_log(...)" ("/tmp/conjure.cljc" 40 false false)]}
19-05-10 16:29:04 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result {"win" 1001, "buf" 3}, :client :stdio}
19-05-10 16:29:04 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-buf-line-count, :params [3]}
19-05-10 16:29:04 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result 5, :client :stdio}
19-05-10 16:29:04 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-call-atomic, :params [(["nvim_buf_set_lines" [3 -1 -1 false ("; conjure/err | Syntax error reading source at (foo.clj:11:1)." "; conjure/err | EOF while reading, starting at line 9")]] ["nvim_win_set_cursor" [1001 [7 0]]])]}
19-05-10 16:29:04 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result [[nil nil] nil], :client :stdio}
19-05-10 16:29:04 beta TRACE [conjure.prepl:70] - Read from remote-prepl :conjure - {:tag :ret, :val "[:error {:via [{:type clojure.lang.Compiler$CompilerException, :message \"Syntax error reading source at (/home/jlle/tmp/foo/foo.clj:11:1).\", :data #:clojure.error{:phase :read-source, :line 11, :column 1, :source \"/home/jlle/tmp/foo/foo.clj\"}, :at [clojure.lang.Compiler load \"Compiler.java\" 7642]} {:type java.lang.RuntimeException, :message \"EOF while reading, starting at line 9\", :at [clojure.lang.Util runtimeException \"Util.java\" 221]}], :trace [[clojure.lang.Util runtimeException \"Util.java\" 221] [clojure.lang.LispReader readDelimitedList \"LispReader.java\" 1405] [clojure.lang.LispReader$ListReader invoke \"LispReader.java\" 1243] [clojure.lang.LispReader read \"LispReader.java\" 285] [clojure.lang.LispReader read \"LispReader.java\" 216] [clojure.lang.Compiler load \"Compiler.java\" 7629] [conjure_compliment.core$eval1032 invokeStatic \"NO_SOURCE_FILE\" 1250] [conjure_compliment.core$eval1032 invoke \"NO_SOURCE_FILE\" 1242] [clojure.lang.Compiler eval \"Compiler.java\" 7176] [clojure.lang.Compiler eval \"Compiler.java\" 7131] [clojure.core$eval invokeStatic \"core.clj\" 3214] [clojure.core.server$prepl$fn__8926 invoke \"server.clj\" 232] [clojure.core.server$prepl invokeStatic \"server.clj\" 228] [clojure.core.server$prepl doInvoke \"server.clj\" 191] [clojure.lang.RestFn invoke \"RestFn.java\" 425] [clojure.core.server$io_prepl invokeStatic \"server.clj\" 283] [clojure.core.server$io_prepl doInvoke \"server.clj\" 272] [clojure.lang.RestFn invoke \"RestFn.java\" 397] [clojure.lang.AFn applyToHelper \"AFn.java\" 152] [clojure.lang.RestFn applyTo \"RestFn.java\" 132] [clojure.lang.Var applyTo \"Var.java\" 705] [clojure.core$apply invokeStatic \"core.clj\" 665] [clojure.core.server$accept_connection invokeStatic \"server.clj\" 73] [clojure.core.server$start_server$fn__8864$fn__8865$fn__8867 invoke \"server.clj\" 117] [clojure.lang.AFn run \"AFn.java\" 22] [java.lang.Thread run \"Thread.java\" 748]], :cause \"EOF while reading, starting at line 9\", :phase :read-source}]", :ns "foo", :ms 6, :form "(try (ns foo) (let [rdr (-> (java.io.StringReader.…"}
19-05-10 16:29:04 beta TRACE [conjure.prepl:141] - Read value from :conjure - {:tag :ret, :val "[:error {:via [{:type clojure.lang.Compiler$CompilerException, :message \"Syntax error reading source at (/home/jlle/tmp/foo/foo.clj:11:1).\", :data #:clojure.error{:phase :read-source, :line 11, :column 1, :source \"/home/jlle/tmp/foo/foo.clj\"}, :at [clojure.lang.Compiler load \"Compiler.java\" 7642]} {:type java.lang.RuntimeException, :message \"EOF while reading, starting at line 9\", :at [clojure.lang.Util runtimeException \"Util.java\" 221]}], :trace [[clojure.lang.Util runtimeException \"Util.java\" 221] [clojure.lang.LispReader readDelimitedList \"LispReader.java\" 1405] [clojure.lang.LispReader$ListReader invoke \"LispReader.java\" 1243] [clojure.lang.LispReader read \"LispReader.java\" 285] [clojure.lang.LispReader read \"LispReader.java\" 216] [clojure.lang.Compiler load \"Compiler.java\" 7629] [conjure_compliment.core$eval1032 invokeStatic \"NO_SOURCE_FILE\" 1250] [conjure_compliment.core$eval1032 invoke \"NO_SOURCE_FILE\" 1242] [clojure.lang.Compiler eval \"Compiler.java\" 7176] [clojure.lang.Compiler eval \"Compiler.java\" 7131] [clojure.core$eval invokeStatic \"core.clj\" 3214] [clojure.core.server$prepl$fn__8926 invoke \"server.clj\" 232] [clojure.core.server$prepl invokeStatic \"server.clj\" 228] [clojure.core.server$prepl doInvoke \"server.clj\" 191] [clojure.lang.RestFn invoke \"RestFn.java\" 425] [clojure.core.server$io_prepl invokeStatic \"server.clj\" 283] [clojure.core.server$io_prepl doInvoke \"server.clj\" 272] [clojure.lang.RestFn invoke \"RestFn.java\" 397] [clojure.lang.AFn applyToHelper \"AFn.java\" 152] [clojure.lang.RestFn applyTo \"RestFn.java\" 132] [clojure.lang.Var applyTo \"Var.java\" 705] [clojure.core$apply invokeStatic \"core.clj\" 665] [clojure.core.server$accept_connection invokeStatic \"server.clj\" 73] [clojure.core.server$start_server$fn__8864$fn__8865$fn__8867 invoke \"server.clj\" 117] [clojure.lang.AFn run \"AFn.java\" 22] [java.lang.Thread run \"Thread.java\" 748]], :cause \"EOF while reading, starting at line 9\", :phase :read-source}]", :ns "foo", :ms 6, :form "(try (ns foo) (let [rdr (-> (java.io.StringReader.…"}
19-05-10 16:29:04 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-execute-lua, :params ["return require('conjure').upsert_log(...)" ("/tmp/conjure.cljc" 40 false false)]}
19-05-10 16:29:04 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result {"win" 1001, "buf" 3}, :client :stdio}
19-05-10 16:29:04 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-buf-line-count, :params [3]}
19-05-10 16:29:04 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result 7, :client :stdio}
19-05-10 16:29:04 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-call-atomic, :params [(["nvim_buf_set_lines" [3 -1 -1 false ("; Error folded, use `zo` to reveal {{{1" "; conjure/ret ⤸" "{:cause \"EOF while reading, starting at line 9\"," " :phase :read-source," " :trace [[clojure.lang.Util runtimeException \"Util.java\" 221]" "         [clojure.lang.LispReader readDelimitedList \"LispReader.java\" 1405]" "         [clojure.lang.LispReader$ListReader invoke \"LispReader.java\" 1243]" "         [clojure.lang.LispReader read \"LispReader.java\" 285]" "         [clojure.lang.LispReader read \"LispReader.java\" 216]" "         [clojure.lang.Compiler load \"Compiler.java\" 7629]" "         [conjure_compliment.core$eval1032 invokeStatic \"NO_SOURCE_FILE\" 1250]" "         [conjure_compliment.core$eval1032 invoke \"NO_SOURCE_FILE\" 1242]" "         [clojure.lang.Compiler eval \"Compiler.java\" 7176]" "         [clojure.lang.Compiler eval \"Compiler.java\" 7131]" "         [clojure.core$eval invokeStatic \"core.clj\" 3214]" "         [clojure.core.server$prepl$fn__8926 invoke \"server.clj\" 232]" "         [clojure.core.server$prepl invokeStatic \"server.clj\" 228]" "         [clojure.core.server$prepl doInvoke \"server.clj\" 191]" "         [clojure.lang.RestFn invoke \"RestFn.java\" 425]" "         [clojure.core.server$io_prepl invokeStatic \"server.clj\" 283]" "         [clojure.core.server$io_prepl doInvoke \"server.clj\" 272]" "         [clojure.lang.RestFn invoke \"RestFn.java\" 397]" "         [clojure.lang.AFn applyToHelper \"AFn.java\" 152]" "         [clojure.lang.RestFn applyTo \"RestFn.java\" 132]" "         [clojure.lang.Var applyTo \"Var.java\" 705]" "         [clojure.core$apply invokeStatic \"core.clj\" 665]" "         [clojure.core.server$accept_connection invokeStatic \"server.clj\" 73]" "         [clojure.core.server$start_server$fn__8864$fn__8865$fn__8867 invoke" "          \"server.clj\" 117] [clojure.lang.AFn run \"AFn.java\" 22]" "         [java.lang.Thread run \"Thread.java\" 748]]," " :via [{:at [clojure.lang.Compiler load \"Compiler.java\" 7642]," "        :data #:clojure.error{:column 1," "               :line 11," "               :phase :read-source," "               :source \"/home/jlle/tmp/foo/foo.clj\"}," "        :message" "          \"Syntax error reading source at (/home/jlle/tmp/foo/foo.clj:11:1).\"," "        :type clojure.lang.Compiler$CompilerException}" "       {:at [clojure.lang.Util runtimeException \"Util.java\" 221]," "        :message \"EOF while reading, starting at line 9\"," "        :type java.lang.RuntimeException}]}" "; }}}1")]] ["nvim_win_set_cursor" [1001 [49 0]]])]}
19-05-10 16:29:04 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result [[nil nil] nil], :client :stdio}

@Olical
Copy link
Owner

Olical commented May 11, 2019 via email

@Olical Olical self-assigned this May 12, 2019
@Olical Olical added the bug Something isn't working label May 12, 2019
@Olical Olical added this to the v1.0.0 milestone May 12, 2019
@Olical
Copy link
Owner

Olical commented May 12, 2019

For future me reference: This is because the "find matching pairs to select a form" code (

(defn read-form
"Read the current form under the cursor from the buffer by default. When
root? is set to true it'll read the outer most form under the cursor."
([] (read-form {}))
([{:keys [root?]}]
;; Put on your seatbelt, this function's a bit wild.
;; Could maybe be simplified a little but I doubt that much.
(let [;; Used for asking Neovim for the matching character
;; backwards and forwards.
forwards (str (when root? "r") "nzW")
backwards (str "b" forwards)
get-pair (fn [s e]
[(api/call-function :searchpairpos s "" e backwards)
(api/call-function :searchpairpos s "" e forwards)])
;; Fetch the buffer, window and all matching pairs for () [] and {}.
;; We'll then select the smallest region from those three
[buf win cur-char & positions]
(api/call-batch
(concat
[(api/get-current-buf)
(api/get-current-win)
(api/eval* (str "matchstr(getline('.'), '\\%'.col('.').'c.')"))]
(get-pair "(" ")")
(get-pair "\\[" "\\]")
(get-pair "{" "}")))
;; If the position is [0 0] we're _probably_ on the matching
;; character, so we should use the cursor position. Don't do this for
;; root though since you want to keep searching outwards.
cursor (update (api/call (api/win-get-cursor win)) 1 inc)
get-pos (fn [pos ch]
(if (or (and (= cur-char ch) (nil-pos? pos))
(and (not root?) (= cur-char ch)))
cursor pos))
;; Find all of the pairs using the fns and data above.
pairs (keep (fn [[[start sc] [end ec]]]
(let [start (get-pos start sc)
end (get-pos end ec)]
(when-not (or (nil-pos? start) (nil-pos? end))
[start end])))
(->> (interleave positions ["(" ")" "[" "]" "{" "}"])
(partition 2) (partition 2)))
;; Pull the lines from the pairs we found.
lines (api/call-batch
(map (fn [[start end]]
(api/buf-get-lines buf {:start (dec (first start))
:end (first end)}))
pairs))
;; Build the potential results containing the form text, origin in the
;; document and local cursor position within that form.
text (map-indexed
(fn [n lines]
(let [[start end] (nth pairs n)]
{:form (read-range {:lines lines
:start (dec (second start))
:end (second end)})
:origin start
:cursor [(inc (- (first cursor)
(first start)))
(- (second cursor)
(second start))]}))
lines)]
) is taking pairs that are in comments into account. The (comment ...) block is fine since it's part of the source. I think the reader version (#_) is fine too.

Just need to exclude parens that are inside line comments (;), either I check if there's one on the line of the matched pair or I use the syntax highlighting. Maybe I can ask vim if the given character is within a string or comment, in which case I'll ignore it and search again.

@Olical
Copy link
Owner

Olical commented May 13, 2019

Found a nice fix!

diff --git a/src/conjure/nvim.clj b/src/conjure/nvim.clj
index dd7f465..d02ca9f 100644
--- a/src/conjure/nvim.clj
+++ b/src/conjure/nvim.clj
@@ -56,9 +56,14 @@
          ;; backwards and forwards.
          forwards (str (when root? "r") "nzW")
          backwards (str "b" forwards)
+
+         ;; Ignore matches inside comments or strings.
+         ;; https://github.com/Olical/conjure/issues/34
+         skip "join(map(synstack(line('.'), col('.')), 'synIDattr(v:val, \"name\")')) =~? 'comment\\|string' ? 1 : 0"
+
          get-pair (fn [s e]
-                    [(api/call-function :searchpairpos s "" e backwards)
-                     (api/call-function :searchpairpos s "" e forwards)])
+                    [(api/call-function :searchpairpos s "" e backwards skip)
+                     (api/call-function :searchpairpos s "" e forwards skip)])
 
          ;; Fetch the buffer, window and all matching pairs for () [] and {}.
          ;; We'll then select the smallest region from those three

Discovered the skip argument in :h pairpos(), I now provide an expression that rejects any matches found in strings or comments.

@Olical
Copy link
Owner

Olical commented May 13, 2019

Update to 9a3f021 to give it a try.

@Olical
Copy link
Owner

Olical commented May 13, 2019

Fixed in v0.13.0... I think.

@Olical Olical closed this as completed May 13, 2019
@jlesquembre
Copy link
Contributor Author

Thanks for fixing it. I just tried it and looks good :)

@Olical
Copy link
Owner

Olical commented May 14, 2019 via email

@Olical
Copy link
Owner

Olical commented May 14, 2019

Perf should be fixed in the latest master. Also made the Deoplete source try to skip completion in comments and strings, isn't perfect but it's an improvement. You can use conjure#should_autocomplete in your plugin too if you want that extra "ready" and syntax check.

@jlesquembre
Copy link
Contributor Author

Thanks for the info, just updated CoC plugin

Olical added a commit that referenced this issue May 15, 2019
This keeps read-form snappy while keeping #34 fixed! Best of both
worlds!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants