Skip to content

Latest commit

 

History

History
45 lines (34 loc) · 2.13 KB

README.md

File metadata and controls

45 lines (34 loc) · 2.13 KB

About

This is a fork of http://www.vim.org/scripts/script.php?script_id=2368

Description:

Plugin generates symbol dependency tree (aka call tree, call graph) in real-time inside Vim. 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. Project details/Screenshots. Requires cscope to generate a cscope database; the complementary utility ccglue can be used to convert cscope databases to native cctree databases for instant loading.

Complementary tools

  • ccglue Generate cross-reference cctree database files from cscope and/or ctags database files.

##Features

  • Symbol dependency tree analyzer for C using cscope database
  • Basic support for functions, and macros
  • Extended support for global variables, macros, enum members, typedefs, and also symbols cscope might not detect.
  • Native Vim 7 plugin
  • Supports using external tools, or perl interpreter to overcome VimScript memory limitations for loading large databases
  • Leverages Vim features and Integrates into typical programming work-flow
  • Dynamic syntax highlighting for real-time dependency tree flow (customizable)
  • Cscope like default short-cuts (customizable)
  • Folding support
  • Preview/Tag loading
  • Manipulate call-tree windows
  • Save buffers
  • Export to HTML with syntax highlighting (with +conceal)
  • Serialization of cross-reference tables
  • Similar to Vim's session feature, CCTree can save the built cross-references into a file for reloading any time later
  • Can be complemented with native tools [ccglue] for faster cross-reference building in larger projects

Supported languages:

Requirements:

Vim installation

To use with vundle (recommended) simply add:

Plugin 'hari-rangarajan/CCTree' 

in your .vimrc