clj-ns-browser icon indicating copy to clipboard operation
clj-ns-browser copied to clipboard

Use ns-tracker for dynamic/real-time update

Open franks42 opened this issue 12 years ago • 2 comments

https://github.com/weavejester/ns-tracker

franks42 avatar May 14 '12 16:05 franks42

It appears from a brief skim of this that it is intended to help detect when source files have been updated since the last time the file was loaded into the running JVM. Are you thinking that we would add this feature to clj-ns-browser?

If you were hoping that it would help detect changes to a namespace's contents, i.e. which symbols were defined, or tracking when their definitions have changed, I suspect that the polling method used now is as good a method as any.

jafingerhut avatar May 14 '12 17:05 jafingerhut

Correct, but there is more hidden in the source…

It has private functions that allow you to build-up the dependency graph for namespaces, like:

#<Var@33dce164: {:dependencies {clj-ns-browser.utils #{cd-client.core clj-info.doc2txt clojure.tools.namespace clojure.java.shell clj-info.doc2map clojure.string clojure.set seesaw.core clojure.tools.trace clojure.java.io clojure.pprint clj-info.doc2html}, clj-ns-browser.sdoc #{clj-ns-browser.browser}, clj-ns-browser.core #{seesaw.dev clj-ns-browser.sdoc clj-info seesaw.core clj-ns-browser.browser}, clj-ns-browser.browser #{clojure.java.browse cd-client.core seesaw.bind seesaw.selector clojure.java.shell seesaw.dev seesaw.clipboard seesaw.mig clj-info.doc2map seesaw.dnd clj-ns-browser.utils clojure.string seesaw.meta clj-info seesaw.border clojure.set seesaw.core clojure.java.javadoc clj-ns-browser.inspector clojure.tools.trace clojure.java.io seesaw.rsyntax clojure.pprint}}, :dependents {clojure.java.browse #{clj-ns-browser.browser}, cd-client.core #{clj-ns-browser.utils clj-ns-browser.browser}, seesaw.bind #{clj-ns-browser.browser}, clj-info.doc2txt #{clj-ns-browser.utils}, clojure.tools.namespace #{clj-ns-browser.utils}, seesaw.selector #{clj-ns-browser.browser}, clojure.java.shell #{clj-ns-browser.utils clj-ns-browser.browser}, seesaw.dev #{clj-ns-browser.core clj-ns-browser.browser}, clj-ns-browser.sdoc #{clj-ns-browser.core}, seesaw.clipboard #{clj-ns-browser.browser}, seesaw.mig #{clj-ns-browser.browser}, clj-info.doc2map #{clj-ns-browser.utils clj-ns-browser.browser}, seesaw.dnd #{clj-ns-browser.browser}, clj-ns-browser.utils #{clj-ns-browser.browser}, clojure.string #{clj-ns-browser.utils clj-ns-browser.browser}, seesaw.meta #{clj-ns-browser.browser}, clj-info #{clj-ns-browser.core clj-ns-browser.browser}, seesaw.border #{clj-ns-browser.browser}, clojure.set #{clj-ns-browser.utils clj-ns-browser.browser}, seesaw.core #{clj-ns-browser.utils clj-ns-browser.core clj-ns-browser.browser}, clojure.java.javadoc #{clj-ns-browser.browser}, clj-ns-browser.inspector #{clj-ns-browser.browser}, clojure.tools.trace #{clj-ns-browser.utils clj-ns-browser.browser}, clojure.java.io #{clj-ns-browser.utils clj-ns-browser.browser}, clj-ns-browser.browser #{clj-ns-browser.sdoc clj-ns-browser.core}, seesaw.rsyntax #{clj-ns-browser.browser}, clojure.pprint #{clj-ns-browser.utils clj-ns-browser.browser}, clj-info.doc2html #{clj-ns-browser.utils}}}>

which shows you what other namespaces a certain namespace depends on and what other namespaces depend on a specific one.

The idea was that it could be an interesting additional doc-pane for a namespace.

If only we could easily add the version numbers and the namespaces in the jars (currently only source files).

On May 14, 2012, at 10:38 AM, Andy Fingerhut wrote:

It appears from a brief skim of this that it is intended to help detect when source files have been updated since the last time the file was loaded into the running JVM. Are you thinking that we would add this feature to clj-ns-browser?

If you were hoping that it would help detect changes to a namespace's contents, i.e. which symbols were defined, or tracking when their definitions have changed, I suspect that the polling method used now is as good a method as any.


Reply to this email directly or view it on GitHub: https://github.com/franks42/clj-ns-browser/issues/44#issuecomment-5696620

franks42 avatar May 14 '12 18:05 franks42