sponsor Vim development Vim logo Vim Book Ad

CCTree : C Call-Tree Explorer -- Cscope based source-code browser; code flow analyzer

 script karma  Rating 398/142, Downloaded by 17738  Comments, bugs, improvements  Vim wiki

created by
Hari Rangarajan
script type
       Plugin generates symbol dependency tree (aka call tree, call graph) in real-time inside Vim using a Cscope database. Basic support for functions and macros; global variables, enums, typedefs can be cross-reference with additional processing. Functionality similar to that of tools and IDE's like CBrowser, Kscope, Source navigator, Eclipse, Source Insight.

Currently supported language: C.
Requirements: Cscope, Vim 7.xx

Project details/Screenshots:  http://sites.google.com/site/vimcctree/
Check out  http://sourceforge.net/projects/ccglue/ for an external tool that can produce cross-reference files from cscope [and ctags] databases that CCTree can load directly from disk.

Contributions or discussions are welcome at https://github.com/hari-rangarajan/CCTree/
install details
Install details
               Copy this file to ~/.vim/plugins/
               or to /vimfiles/plugins/  (on Win32 platforms)

               It might also be possible to load it as a filetype plugin

               Need to set :filetype plugin on
A help file is now available here: http://sites.google.com/site/vimcctree/cctree.txt . Refer to help on building help tags.


rate this script Life Changing Helpful Unfulfilling 
script versions (upload new version)

Click on the package to download.

package script version date Vim version user release notes
cctree.vim 1.61 2012-06-10 7.0 Hari Rangarajan Compatibility patch to allow use with change in xref tag file format as of of ccglue version 0.6.0.
cctree.vim 1.60 2011-07-14 7.0 Hari Rangarajan Performance speed-up for tree depth manipulation using incremental updates.
cctree.vim 1.55 2011-06-20 7.0 Hari Rangarajan Speed-up syntax highlighting (Note: To export to HTML, run TOhtml command on cctree window copy to get complete highlighted call-tree)
cctree.vim 1.53 2011-06-17 7.0 Hari Rangarajan 1. Fix bugs related to database append, xrefdb load
cctree.vim 1.51 2011-05-18 7.0 Hari Rangarajan Robust error reporting when external utils (split/cat) fail.
cctree.vim 1.50 2011-05-11 7.0 Hari Rangarajan Supports cross-referencing  of global variables, enums, typedefs, and macros.
cctree.vim 1.40 2011-04-23 7.0 Hari Rangarajan Maintain order of function calls during forward traces.
cctree.vim 1.39 2011-04-20 7.0 Hari Rangarajan Add support for (+conceal) feature.

cctree.vim 1.33 2011-04-06 7.0 Hari Rangarajan 1. Load and trace CCTree native XRefDb directly from disk ( :CCTreeLoadXRefDBFromDisk )
(Note: Earlier saved xref db's had an issue with tabs in the tag file; its probably better to  use xref db's generated by version 1.33).
2. Fix AppendDB command when 'ignorecase' is set.
cctree.vim 1.26 2011-03-29 7.0 Hari Rangarajan 1. Fix macro cross-referencing limitation
2. Correct native xref file format
cctree.vim 1.21 2011-03-21 7.0 Hari Rangarajan 1. Support serialization of loaded cscope databases (for faster loading)
cctree.vim 1.07 2011-03-10 7.0 Hari Rangarajan 1. Fix new keymaps incorrectly applied to buffer
2. CCTreeOptsToggle command for toggling options
cctree.vim 1.04 2011-03-07 7.0 Hari Rangarajan 1. Customization for key mappings
2. Dynamic configuration of UI variables
3. Folding long call-trees to show current path dynamically
cctree.vim 1.00 2011-03-04 7.0 Hari Rangarajan 1. Staging release for upcoming features
          - Complete refactoring of code to take advantage of VimScript's OO features
2. Faster decompression of symbols
3. Display related changes
          - Use of unicode symbols for tree
4. Bugfixes related to multi-database loading
cctree.vim 0.90 2011-02-19 7.0 Hari Rangarajan 1. Support for large database files using external split utility or in-built perl interpreter interface
cctree.vim 0.85 2011-02-14 7.0 Hari Rangarajan Major increase in database loading/decompression speeds
cctree.vim 0.80 2011-02-07 7.0 Hari Rangarajan Reduce memory usage by removing unused xref symbols
Minor bug fixes
cctree.vim 0.75 2010-06-27 7.0 Hari Rangarajan Allow CCTree windows to be "saved".
Multiple instances of CCTree preview windows can now exist.
Use "<Ctrl-\>y" or ":CCTreeWindowSaveCopy" to save the current view.
cctree.vim 0.71 2010-05-11 7.0 Hari Rangarajan Obsoletes 0.70 which had a script bug.
Added support for multiple cscope databases.
cctree.vim 0.65 2009-07-13 7.0 Hari Rangarajan Added CCTree preview window toggle function (shortcut: <C-\>w )
cctree.vim .61 2008-12-29 7.0 Hari Rangarajan Bug fix release
cctree.vim 0.60 2008-11-28 7.0 Hari Rangarajan Added support for source-file dependency tree
cctree.vim 0.50 2008-10-19 7.0 Hari Rangarajan Optimizations for compact memory foot-print and improved compressed-database load speeds
cctree.vim 0.41 2008-10-07 7.0 Hari Rangarajan (Minor fix) Compressed cscope databases will load incorrectly if encoding is not 8-bit
cctree.vim 0.4 2008-10-04 7.0 Hari Rangarajan 1. Rewrite of "tree-display" code
2. New syntax hightlighting
3. Dynamic highlighting for call-trees
4. Support for new window modes (vertical, horizontal)  
5. New display format option for compact or wide call-trees
cctree.vim 0.3 2008-09-23 7.0 Hari Rangarajan 1. Support compressed cscope databases
2. Display window related bugs fixed
3. More intuitive display and folding capabilities
cctree.vim 0.2 2008-09-12 7.0 Hari Rangarajan Patch from Yegappan Lakshmanan
1. Support for using the plugin in Vi-compatible mode.
2. Filtering out unwanted lines before processing the db.
3. Command-line completion for the commands.
4. Using the cscope db from any directory.

(Disables perl interface; native VIM database loads are very fast, thanks to
fix #2)

cctree.vim 0.1 2008-09-02 6.0 Hari Rangarajan Initial upload
ip used for rating:

If you have questions or remarks about this site, visit the vimonline development pages. Please use this site responsibly.
Questions about Vim should go to the maillist. Help Bram help Uganda.