While Emacs has some outline capabilities, they are not at this time
remotely as nice or as powerful as Leo, which among other things:
*) does not require that you manually specify the depth of each node
*) can automatically concatenate child nodes together so that you
don't have to insert a section heading for each child node inside of
the parent
*) has a separate navigation and editing panel, rather than doing
everything inline
*) allows you to view your whole project as an outline spanning
multiple files in multiple directories
*) automatically takes care of embedding the outline information into
the source files for you, so that you can use a single set of outline
commands for source files in any language and Leo will work out how to
translate them into comments behind-the-scenes
*) allows you to "clone" nodes so that you can have multiple views of
your project; this way, for example, when working on a feature that
spans several nodes you can clone all of the affected nodes and gather
them together in one place
*) has a special command "@ .... @c" that lets you easily put multi-
line comments in source files even if the language only supports line
comments
Don't get me wrong, I would welcome seeing Emacs have outlining
features for code development that are as powerful as Leo's, but it
isn't there yet and hacking what is there to bring it up to parity
with Leo would be highly non-trivial.
- Greg
On Oct 16, 2009, at 2:29 AM, Deniz Dogan wrote:
2009/10/16 Gregory Crosswhite <gcr...@phys.washington.edu>:
In my humble opinion, one of the best editors for development of
all time is
Leo:
http://webpages.charter.net/edreamleo/front.html
Leo takes the idea of "code folding" and gives you complete control
over it.
That is, unlike other editors which only let you fold the code
inside
if/while/for/etc. statements and which only show you an outline
consisting
of a level for files and a level for function, Leo lets you
structure the
levels of your outline arbitrarily so that you can "fold" arbitrary
chunks
of code and do things like grouping together functions and files
with a
similar purpose or implementation. By structuring your code as an
outline,
you make it easier for others and yourself both to navigate through
the code
and also to see at a glance the high-level structure.
Anyway, just wanted to use this opportunity to plug my favorite
tool. :-)
The downside about it is that the implementation sometimes feels a
bit slow
and clunky, so part of me really hopes that at the very least
people will
learn enough about this tool to take its ideas and steal them for
other
editors!
Cheers,
Greg
This should come as no surprise, but Emacs can do this as well.
--
Deniz Dogan
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe