On Wed, 6 Dec 2000, Holden Glova wrote:

> On Wed, 06 Dec 2000 22:14, I think Conrad Schneiker wrote:
> > an Emacs-only solution would exclude (very loosely speaking) something on
> > the order 90% of the potential users of a Ruby refactoring browser.
> 
> I've tried emacs before got bogged down with the step learning curve on 
> becoming efficient with it. 

The trick with this sort of thing is to seperate the GUI from the engine.
ie. Whether you use wxWindows or ELisp, its a bad thing to have the GUI
code totally entwangled with the code that does the work. A Model View
Controller paradigm here would be A Good Thing.

I proposed Emacs as the GUI from the usuability point of view. I would
propose writing the "Model" GUI neutral. It makes sense to use the same
"Model" to act as a source navigator with a HTML "View" say. It makes
sense to have a wxWindows displaying inheritance structure etc. etc.

Thus there is A model that...
 * Understands Ruby syntax.
 * Can do searches and very basic transforms on Ruby syntax with screwing
   up things like comments and spacing.
 * Can ingest and operate on _all_ files in a system.
 * Find dependencies of a piece of text.

There are multiple Views that that display parts of the the Model. eg..
 * One to display Inheritance structure 
    - textually
    - graphically
 * By class name alphabetically.
 * By method alphabetically.
 * Display Method text in an edit buffer on editor of your choice.

Then there are multiple controllers...
 * Search.
 * Query Search and Replace.
 * Transforms eg. Extract Method.
 * Reingest an edited file.

On top of that is the GUI layer...
 * Display on HTML
 * Display on wxWindows.
 * Display using ELisp.
 * Control from HTML
 * Control from wxWindows
 * Control from ELisp.

John Carter

Work Email : john / netsys.co.za Private email : cyent / mweb.co.za 
Yell Phone : 083-543-6915      Phone         : 27-12-348-4246

Carter's Compass...

   I know I'm on the right track when by deleting code I'm adding
   functionality.