Vim Tips Wiki


1,624pages on
this wiki
Add New Page

Use this page to discuss script 2368 CCTree: show call tree of C code

  • Add constructive comments, bug reports, or discuss improvements (see the guideline).
  • Do not document the script here (the author should do that on
  • This page may be out of date: check the script's page above, and its release notes.


This is useful:

" CCTree auto-add of all Cscope databases
command! -bar CCTreeLoadCurrentDBs call MyCCTreeLoadDBs()

function! MyCCTreeLoadDBs()
  let save_more = &more

  set nomore
  redir => csc_dbs
  cscope show
  redir END

  let csc_db_list = split(csc_dbs, "\n")
  let csc_db_list = csc_db_list[2:] " remove header line and spacing line

  " get just the DB file path, assumes no spaces in file path, probably this can
  " be tweaked to allow spaces if needed.
  call map(csc_db_list, 'split(v:val)[2]')

  " load the first DB if there are any
  if len(csc_db_list) > 0
    echomsg 'Loading' fnameescape(csc_db_list[0])
    exec 'CCTreeLoadDB' fnameescape(csc_db_list[0])

  " append all the others if there are any more
  if len(csc_db_list) > 1
    for csc_db in csc_db_list[1:]
      echomsg 'Loading' fnameescape(csc_db)
      exec 'CCTreeAppendDB' fnameescape(csc_db)

  let &more = save_more

Perhaps something similar could be built in, in a future release?

--Fritzophrenic 15:36, June 23, 2011 (UTC)

Win32 bug, CCTreeLoadDb cannot parse windows filenames with colon,

  e.g.  @C:/src/hello.c     ... CCTree load error on windows.
        @   src/hello.c     ... CCTree works fine on windows.

will error out, workaround is to use only relative paths on windows.

Ad blocker interference detected!

Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Also on Fandom

Random Wiki