Vim Tips Wiki

Changes: Script:2368


Back to page

(Comments: remove old info)
(adjust Template:ScriptComments to remove id as no longer needed; minor tweaks)
Line 1: Line 1:
{{ScriptComments|2368|CCTree: show call tree of C code}}
{{ScriptComments|CCTree: show call tree of C code}}

Revision as of 07:39, November 15, 2011

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)

Around Wikia's network

Random Wiki