Utilities for parsing and storing the current completion context.
Utilities for parsing and storing the current completion context.
(cache-context context-string)
Parses the context, or returns one from cache if it was unchanged.
Parses the context, or returns one from cache if it was unchanged.
(parse-context context)
Takes a context which is a Lisp form and returns a transformed context.
The result is a list of maps, each map represents a level of the context from
inside to outside. Map has :idx
and :form
values, and :map-role
if the
level is a map. :idx
defines the position of prefix (or the form containing
prefix) on the current level (number for lists and vectors, key or value for
maps).
Example: (dotimes [i 10] ({:foo {:baz __prefix__}, :bar 42} :quux))
Transformed it looks like:
({:idx :baz, :map-role :value, :form {:baz __prefix__}} {:idx :foo, :map-role :key, :form {:foo {:baz __prefix__}, :bar 42}} {:idx 0, :form ({:foo {:baz __prefix__}, :bar 42} :quux)} {:idx 2, :form (dotimes [i 10] ({:foo {:baz __prefix__}, :bar 42} :quux))})
.
Takes a context which is a Lisp form and returns a transformed context. The result is a list of maps, each map represents a level of the context from inside to outside. Map has `:idx` and `:form` values, and `:map-role` if the level is a map. `:idx` defines the position of prefix (or the form containing prefix) on the current level (number for lists and vectors, key or value for maps). Example: `(dotimes [i 10] ({:foo {:baz __prefix__}, :bar 42} :quux))` Transformed it looks like: `({:idx :baz, :map-role :value, :form {:baz __prefix__}} {:idx :foo, :map-role :key, :form {:foo {:baz __prefix__}, :bar 42}} {:idx 0, :form ({:foo {:baz __prefix__}, :bar 42} :quux)} {:idx 2, :form (dotimes [i 10] ({:foo {:baz __prefix__}, :bar 42} :quux))})`.
Special symbol which substitutes prefix in the context, so the former can be found unambiguously.
Special symbol which substitutes prefix in the context, so the former can be found unambiguously.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close