freeride-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [FR-devel] Newbie to freeride.


From: Curt Hibbs
Subject: RE: [FR-devel] Newbie to freeride.
Date: Mon, 6 May 2002 13:48:02 -0700

Yohanes Santoso wrote:

> My main motive in joining this team is to create an remacs. As some of
> you may notice, I am the person who asked about existance of emacs in
> ruby language in ruby-talk.

[snip]

> I hope by the time rubyride is ready for release, there is already a
> lisp->ruby converter so that all those rich libraries from emacs are
> not wasted.
>
> Does my motive run against Curt's and Rich's vision?

I'm not really sure, as I don't know emacs. Hopefully, someone else can give
a better read than this. However, read my next comment below.

> If not then I'd like to start by creating a new plugin: BufferFactory
> and Buffer. Buffer will be character-addressable, and serve as the
> model in the MVC model. Modification to the content of the buffer will
> result in two notifications, pre and post change notifications, to all
> subscriber. The notification will be quite detailed so as to allow the
> next plugin: BufferUndo.
>
> Each Buffer can optionally be associated with a BufferUndo which will
> record changes made to Buffer.
>
> Perhaps notification is not a good name. 'Hook' seems more appropriate
> as modification to content by other plugin is allowed. For example, if
> there is an AutoIndent plugin, it would subscribe to the pre-change
> notification of buffer A; then when A changes, it will send a
> pre-change notification to the AutoIndent plugin. At that time
> AutoIndent can opt to modify the nature of the changes (add/extract a
> few space).
>
> Then there can be another plugin, Mode, which associates several
> plugin to the appropriate hook from Buffer. For example, editing a C
> code would require CAutoIndent, CHighlighting, etc, to be associated
> with Buffer.
>
> Basically Buffer will be a 'dumb' storage with very few native
> functionalities such as determining min point, max point, curr
> point. Other plugins are added to provide functionalities: AutoIndent,
> LineAddressable, LineCounter, Undo, Redo, Region, Rectangle, Mode,
> etc.
>
> How dumb is a Buffer? Could be so dumb that it uses array as the
> storage method, or could be as smart as having virtual memory manager
> so that it can handle terabytes of data. But whatever the underlying
> storage method, the outside world shouldn't be too concerned.
>
> Very emacs-ish? Well, that's the most flexible editor out there. It'd
> be hard to find anything more flexible than it. Very complicated? Not
> really.

This sounds like it would be a replacement for the Scintilla code-editing
control that we are using.

Because FreeRIDE is designed to be completely flexible and extensible with a
100% plugin architecture, there's no reason you couldn't write a plugin that
creates a whole new type of EditPane that could plug-in and replace and/or
complement the existing Scintilla-based plugin.

At best, this might be great and wonderful, and at worst it could be a
needless duplication of effort. No judgments here -- I just have no idea (I
concentrating too hard on getting out the initial GUI Framework to put much
thought into it at the moment).

Anyone else have any thoughts on this?

Curt




reply via email to

[Prev in Thread] Current Thread [Next in Thread]