[MonoDevelop] Managed Line Editor

Matej Urbas matej.urbas at gmail.com
Tue Oct 31 15:31:49 EST 2006


On Tue, 2006-10-31 at 20:27 +0100, Kamil Skalski wrote:
> > things? Better integrate parsers with editors?
> >
> 
> An extremely cool idea would be to build editor based from the
> beginning on abstract-syntax-trees. The internal representation of
> presented text would be the tree of nodes structured according to the
> syntax of the language given text is written in.
> Ok, this is more of a research / experiment idea, but the consequences
> are interesting.
> 
> Cons:
> - it would be quite hard to design a flexible enough, yet still
> usable, tree representation which would be suitable for every possible
> language / text type to be presented and edited
> - it would be generally harder to implement, at least at the beginning
> where we need to map user input into code structure changes
> - similar to the previous point, arbitrary text pastes and cuts would
> be more expansive and harder to implement
> 
> Pros:
> - syntax highlighting, code folding, refactoring, etc. would be almost
> "core features" of the editor itself
> - code formatting features would be... hm, just a tiny issue of presentation
> - faster (because one layer closer to the implementation) code
> analysis and advanced programming assistance features - language
> bindings could easily analyze existing AST and track its changes
> instead of re-parsing text all the time
> 
> 

Yep, I was thinking about this a while back, but such an editor would
really be too specialized for what would be needed in MonoDevelop and
Mono world.

You are right, a lot of things would open up.

For example, one could introduce totally different approaches to coding:

   imagine: you wouldn't type words anymore - you would mostly insert
snippets.
   for example: you don't use random words in C# - you use keywords or
defined variables - defined tokens. The editor would instantly know what
you can do at which place in your code - like code completion, but much
more integrated. You would not code through typing names, but through
refactoring.
   A totally different coding paradigm...

Stuff like that - a perfect research work! But I'd like something more
'tried' for MonoDevelop and Mono :)

But hey, nothing is hindering you to start such a project! (Except maybe
the lack of time - if you are experiencing it - I certainly do :) )



More information about the Monodevelop-list mailing list