After the discussion in this thread, I spawned off a new project: ccglue. ccglue is a native application that can build cross-reference tables from cscope (and ctags, in future versions). The generated cross-reference can be traced directly from disk by the CCTree plugin without any additional load time.
ccglue is available in posix/win32 flavors and cross-reference building times are in the order of tens of seconds even for extremely large cscope database sizes. ccglue can be run in the background or as a shell command similar to updating ctags and cscope database. ccglue should make it more practical to use large-sized projects with CCTree. Project links ----------------------- ccglue: http://sourceforge.net/projects/ccglue CCTree: http://www.vim.org/scripts/script.php?script_id=2368 On Wed, Mar 30, 2011 at 9:58 PM, sinbad <[email protected]> wrote: > hi hari, > > i really appreciate your effort on this front. > i guess the only reason the script is not > being used by many hardcore programmers > is it's lack of usability for huge projects. > as it is obvious that you are clearly working > on it to make it better. i would love to give > it a try, but the only reasonable way for it > to become useful is when it gets the capability > to run in background. > > cheers > > > On Mar 30, 9:41 pm, "[email protected]" > <[email protected]> wrote: > > Version 1.21 of CCTree allows serialization of loaded cscope databases. > So, > > you could run a vim process > > in the background sourcing the script which goes something like: > > > > load_my_cscope.vim: > > :CCTreeLoadDB cscope.out > > :CCTreeSaveXRefDb cctree.out > > > > $ vim -S load_my_cscope.vim > > > > Once it's done, you can load it in your current session with > > :CCTreeLoadXRefDb cctree.out > > > > The second load will take a few minutes usually. I'm currently testing a > > version that allows tracing from disk, requiring > > no load time (If you would like to try that out, let me know). > > > > > > > > > > > > > > > > On Wed, Mar 30, 2011 at 12:35 AM, sinbad <[email protected]> > wrote: > > > i was referring to CCTree Plugin in my OP. the problem with that > > > script is it can't be run > > > in background (as none of the vim scripts can), while it is building > > > the call tree, > > > vim will not be available for editing, this is a big problem if the > > > source files are huge. > > > if vim has this capability in-built (like a pthread running in > > > background) then it will be of > > > useful. btw, i am not looking for any fancy graphical natured call > > > graphs. an ascii tree > > > like the one provided in CCTree will be enough. > > > > > On Mar 30, 12:07 pm, Sasha <[email protected]> wrote: > > > > I guess you didn't like vim's cscope support (:help cscope) or the > > > > CCTree plugin (http://www.vim.org/scripts/script.php?script_id=2368 > ). > > > > > > I assume you mean you want to generate vector/raster graphical > > > > representations of the call graph. Doing this efficiently and well > > > > realistically requires using a tool built for the purpose (e.g. > > > > codeviz, just for one example: > > >http://www.csn.ul.ie/~mel/projects/codeviz/) > > > > > > Why not find a tool which does the job as you like it, and then map > > > > keys to control that tool from vim? > > > > > > Sasha > > > > > > On Mar 30, 1:32 am, sinbad <[email protected]> wrote: > > > > > > > hi, > > > > > > > i know many of the developers must be using vim to write > > > > > their c programs, but why there isn't an effort to add this > > > > > crucial functionality to vim. some vim scripts are available > > > > > to do exactly this, but they are not efficient and can't run > > > > > in parallel like figuring out function relationship in the > > > > > background. > > > > > > > thanks > > > > > -- > > > You received this message from the "vim_use" maillist. > > > Do not top-post! Type your reply below the text you are replying to. > > > For more information, visithttp://www.vim.org/maillist.php > > -- > You received this message from the "vim_use" maillist. > Do not top-post! Type your reply below the text you are replying to. > For more information, visit http://www.vim.org/maillist.php > -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php
