> > You may also consider building a plugin architecture for Clooj. For
> > example, Leiningen support can be built by writing a plugin.
>
> That's an interesting idea. How do you envision a plugin architecture
> should work?

>From the top of my head it looks like it should be possible to safely
maintain a global state. The global state can change when you switch
from project to project or create/remove projects. Since it is
Clojure, safety (due to concurrency) is less of a concern. Based on
the Global state, you can choose to render different things for the
various controls on screen. For example, if the current project
contains project.clj and Leiningen plugin is installed then include a
Leiningen menu in the menu bar (which should act on the "current"
project). Similarly, if Marginalia plugin is installed then show a
Marginalia menu item under "Tools".

A "TextMate theme" plugin may work by taking into account less amount
of global states -- it should rather modify the way controls are
rendered. So, the look-n-feel should be theme-able. The keyword here
seems to be "well defined global state properties," which could be
hierarchical in order to be extensible.

Regards,
Shantanu

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to