Aha. I see the refreshEditor should update everything in the UI to be
in sync with the internal structures in the core. In this case I
propose to add support for general treeviews in the editor. It could
have a structure like this:

type TreeViews = Map String (Forest Item)
data Item = ItemClass a => Item a

class ItemClass a where
  itemLabel :: a -> String
  itemIcon   :: a -> Icon
  itemSource :: a -> Maybe (FilePath, Line, Col)

Proposals for better names for Item and ItemClass are welcome. The
idea is that the editor can have any number of trees on the left hand
side with very general content. Some items may have associated source
locations and can be used for navigation. In the concrete case we can
use them to show the Cabal project content. Another tree view can show
the list of currently opened buffers for example.

Does this make sense?

Regards,
   Krasimir

On Fri, Apr 18, 2008 at 5:59 PM, Krasimir Angelov <[EMAIL PROTECTED]> wrote:
> On 4/18/08, Jean-Philippe Bernardy <[EMAIL PROTECTED]> wrote:
> > The way you called loadProject broke this convention though. Maybe we
> > should fix this?
> > Maybe even better, we should enforce the convention through the typesystem?
> > (I don't know how though).
>
> Ok. I wasn't aware of this convention. I am going to add more UI
> features. For example it would be nice to show the possible word
> completions in a dropdown list instead of in the status bar. We should
> discuss how this could be implemented nicely.
>
> Regards,
>  Krasimir
>

--~--~---------~--~----~------------~-------~--~----~
Yi development mailing list
[email protected]
http://groups.google.com/group/yi-devel
-~----------~----~----~----~------~----~------~--~---

Reply via email to