unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* Is there some package that manages various tree structure?
@ 2014-11-02  6:49 Young Ju Song
  2014-11-03 16:51 ` Doug Lewan
  0 siblings, 1 reply; 2+ messages in thread
From: Young Ju Song @ 2014-11-02  6:49 UTC (permalink / raw)
  To: help-gnu-emacs

Hello!
I'm a newbie Emacs user who migrated from vim about 4 months ago.
This is first time for me to mail here and I'm not sure if this is right
place for my question...

Inside Emacs, I work with various tree structures, such as
- undo-tree
- directory structure (direx, neo-tree, etc. nerdtree in vim)
- org mode (I haven't seen tree visualization of org document, but it
basically can be seen as a tree structure with each headline as a node)

Also, I think following can be presented as a tree inside Emacs even though
I haven't seen yet
- proof tree (http://askra.de/software/prooftree/)
- buffer. I really love Firefox's tree-style tab plugin and I think similar
idea can be applied to Emacs. (can be well defined as follows : if buffer A
is opened inside buffer B, A is children of B) I usually open various
buffers including Coq&ProofGeneral things, Octopress blogging things,
sshing to machine and C/C++ programming things, etc which can be well
organized with tree structure.
- git commits. If we impose edge to both parents in merge operation, this
can be seen as a tree.

I think it would be great to have some layer which grants unity while
representing/manipulating tree structure.
Representing (data level) may include original data, contracted data
(minimal graph homeomorphic to original graph, smoothing out all vertices
with degree 2. It may be useful for undo-tree), etc.
Representing (visual level) may include nerdtree style, (growing
horizontal)  undo-tree style, (growing vertical), etc.
Manipulating may include moving cursor from node to node(to parent, to
child, to sibling), visiting current node,
(&optional) moving a node, moving a node and its children recursively, etc.
I found this package (https://github.com/kiwanami/emacs-ctable) which looks
like having similar idea with me except that this is for table.
If there is something like what I have described, please let me know.
If there is not, does it sound realistic to make one?
Any comments or advices are welcome!
Thanks for reading.

Frederick Song


^ permalink raw reply	[flat|nested] 2+ messages in thread

* RE: Is there some package that manages various tree structure?
  2014-11-02  6:49 Is there some package that manages various tree structure? Young Ju Song
@ 2014-11-03 16:51 ` Doug Lewan
  0 siblings, 0 replies; 2+ messages in thread
From: Doug Lewan @ 2014-11-03 16:51 UTC (permalink / raw)
  To: Young Ju Song, help-gnu-emacs@gnu.org

Frederick,

I don't know of a package that does just the things you're talking about. However, the extension language of emacs is LISP, and trees are very natural structures in LISP. So, it wouldn't be too hard to do. (I suspect many of these things have been implemented many times, but in a specific context, just because trees are so natural.)

There is also the tree-widget package, which might provide some of the more visual things you're interested in.

I hope this helps.

-- 
,Doug
Douglas Lewan
Shubert Ticketing
(201) 489-8600 ext 224 or ext 4335

"This is a slow pup," he said continuing his ascent.

> -----Original Message-----
> Behalf Of Young Ju Song
> Sent: Sunday, 2014 November 02 01:50
> Subject: Is there some package that manages various tree structure?
> 
> Hello!
> I'm a newbie Emacs user who migrated from vim about 4 months ago.
> This is first time for me to mail here and I'm not sure if this is
> right
> place for my question...
> 
> Inside Emacs, I work with various tree structures, such as
> - undo-tree
> - directory structure (direx, neo-tree, etc. nerdtree in vim)
> - org mode (I haven't seen tree visualization of org document, but it
> basically can be seen as a tree structure with each headline as a node)
> 
> Also, I think following can be presented as a tree inside Emacs even
> though
> I haven't seen yet
> - proof tree (http://askra.de/software/prooftree/)
> - buffer. I really love Firefox's tree-style tab plugin and I think
> similar
> idea can be applied to Emacs. (can be well defined as follows : if
> buffer A
> is opened inside buffer B, A is children of B) I usually open various
> buffers including Coq&ProofGeneral things, Octopress blogging things,
> sshing to machine and C/C++ programming things, etc which can be well
> organized with tree structure.
> - git commits. If we impose edge to both parents in merge operation,
> this
> can be seen as a tree.
> 
> I think it would be great to have some layer which grants unity while
> representing/manipulating tree structure.
> Representing (data level) may include original data, contracted data
> (minimal graph homeomorphic to original graph, smoothing out all
> vertices
> with degree 2. It may be useful for undo-tree), etc.
> Representing (visual level) may include nerdtree style, (growing
> horizontal)  undo-tree style, (growing vertical), etc.
> Manipulating may include moving cursor from node to node(to parent, to
> child, to sibling), visiting current node,
> (&optional) moving a node, moving a node and its children recursively,
> etc.
> I found this package (https://github.com/kiwanami/emacs-ctable) which
> looks
> like having similar idea with me except that this is for table.
> If there is something like what I have described, please let me know.
> If there is not, does it sound realistic to make one?
> Any comments or advices are welcome!
> Thanks for reading.
> 
> Frederick Song

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-11-03 16:51 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-02  6:49 Is there some package that manages various tree structure? Young Ju Song
2014-11-03 16:51 ` Doug Lewan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).