You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
anon d7bf07886a fixed broken img links 1 day ago
config . 1 month ago
documentation renamed folders 1 week ago
object renamed folders 1 week ago
scripts renamed folders 1 week ago
source renamed folders 1 week ago
.gdb_history proper resizing 1 month ago
.gitignore renamed folders 1 week ago
Makefile visual replace artifact fix 2 days ago fixed broken img links 1 day ago


Fork of Cscope version 15.9, with various improvements, because cscope is good and shall not be forgotten. While the original's mainentence seems abandoned and as far as I can tell you need a PhD in autoconf to compile the latest version, Csope is alive and well.









Search for

  • symbol
  • global definition
  • assignments to specified symbol
  • functions called by specified function
  • functions calling specified function
  • text string
  • egrep pattern
  • file
  • files #including specified file

...and open with your editor.

Batch change search results interactively.

Save/load/pipe results.

It fully supports:

  • C
  • Lex
  • Yacc

Partially supports

  • C++
  • Java


            <-- Tab -->
  +--Version-----------------Case--+           +--------------------------------+
A |+--------------+---------------+|           |+------------------------------+|
| || Input Window | Result window ||           ||                              ||
| |+--------------+               ||     ?     ||                              ||
  || Mode  Window |               ||   ---->   ||            Help              ||
% ||              |               ||   <----   ||                              ||
  ||              |               ||    ...    ||                              ||
| ||              |               ||           ||                              ||
| ||              |               ||           ||                              ||
V |+--------------+---------------+|           |+------------------------------+|
  +---------------------Tool Tips--+           +--------------------------------+


Csope shines at exploring stranger and obsecure code bases due to its TUI. It sometimes gets mislabeled as a code navigation tool, but the original documentation describes it best as a “code browsing tool”. Many tools can jump you to a definition or grep for patterns, but Csope is unqie in that it allows for those and many other functionalities while providing you with a very comprehansible list of all results, ready to fire up your editor at just the spot. An example of its excelence is this project. The Cscope codebase used to be a total mess, fixing it would have been a lost cause, if not for Cscope itself. Well, Csope now.


User side

  • Renamed the program, because “cscope” is annoying to type
  • Improved tui
  • GNU Readline/History integration

To the code

  • Nuked autoconf, replaced with single Makefile
  • Reorganized the control flow
  • Encapsulated changes to the TUI into display.c
  • Encapsulated searching into find.c
  • Removed “scanner.l” which seems to be an anchient version (and redundant copy) of “fscanner.l” forgotten by all
  • Removed macro hell put in place to allow compiling on a dead badger
  • Use stdbool instead of YES/NO macros
  • Saved kilobytes by stripping trailing whitespace
  • ...and much more


You will have to compile from source.

After you made sure you have the following (dev) libraries installed:

GNU Readline
GNU History (should come with Readline)

Just run:


This will yield the executable “csope”, which you are free to do whatever with.


cp csope /usr/bin/



The readline integratoin should be complete -please let us know if not-, except for your prompt being used, which could easily break the TUIs display.

The rl_readline_name variable will be set to “Csope”, so you may have conditional configurations in your .inputrc with the following format:

$if Csope
    # <whatever>


All can be configured sucklessly under “config/colors.h”. Hopefully the comments are self evident.

Future features / contributor wishlist

  • providing support for other languages by integrating new lexers (e.g. ctag's)