Cbrowser is a front end to the popular source code indexing and querying program cscope.� The cscope code has been released as Open Source by Santa Cruz Operation, Inc. (SCO) under the BSD license.
Development of cbrowser and cscope is now hosted by Sourceforge.� This will allow anyone to improve upon this software, and make it usable to a much wider audience.� You can get help, or contribute to the development by visiting the project page.� Many thanks to the folks at VA-Linux for providing this service.
Both of these tools have text based user interfaces, and have limited file viewing capabilities.� Cbrowser provides a full featured source code viewer with syntax highlighing and full text searching.� The file viewer can be detached so multiple files can be viewed simultaneously.
Cbrowser helps manage the recursive process of searching through source code by providing a history mechanism. Every query is recorded and can be recalled at any time, without the need of re-querying the database.
Cbrowser allows you to build and use multiple source code databases for individual software projects.� Switching databases is as simple as selecting the file, and a history of all databases used is kept at all times.
Best of all, cbrowser provides a hierarchical function call tree. Functions may be expanded and contracted to show or hide the functions they call.� The function's code itself is shown in an adjoining viewer.� This feature is implemented using the megawidget Library by Jeff Hobbs which luckily for me comes with an unrestricted license.
Cbrowser is implemented in Tcl/Tk. It requires at least Tcl7.6/Tk4.2. It is now primarily tested with Tcl/Tk 8.3, and Tcl/Tk 8.0p2.� I found a few minor problems with alpha releases of Tcl 8.0, so I strongly recommend using at least version 8.0p2.
Cbrowser was designed to be used in a UNIX or UNIX-like environment, but it should be usable under Windows if that's what you really want...� You may be able to adapt cs to function properly under Windows, but cscope is a UNIX tool only.� Primarily cbrowser has been tested on a GNU-Linux x86 PC, but it has also been tested on SPARC Solaris 2.5.1 and x86 Solaris 2.6.� There are no specific features of these operating systems used that should require any porting effort to other UNIX OSes or platforms.� See Tcl/Tk Platforms for the complete list of supported platforms.
I have chosen to distribute cbrowser under the GNU General Public License (aka "copyleft").� This means you can use it and abuse it as long as you don't try to sell it to someone else as if it were yours.
You can see a tclet demo of the program here.� If you don't have the Tcl/Tk plugin go here to get it.
Now without further ado, you can obtain the full source code and executable here:
Cbrowser is distributed as a gzip compressed UNIX tar file. It contains all of the necessary Tcl/Tk source for cbrowser, including the megawidgets provided by Jeff Hobbs.� To install, extract the archive into your preferred installation directory, and follow the instructions in the README file.