Starscope is a code indexer, search and navigation tool for Ruby, Golang, and JavaScript with a design intended to make it easy to add support for other languages.
Inspired by the extremely popular Ctags and Cscope utilities, Starscope can answer a lot of questions about your code. It can tell you:
- where methods are defined
- where methods are called
- where variables are assigned
- where symbols are used
- where files and libraries are imported or required
While Ctags already supports many languages, it can only tell you where things are defined. Cscope can answer a lot more of your questions, but it is limited to just the C language family. Starscope was written to combine the power of Cscope with the flexibility of Ctags, bringing full code indexing to as many developers as possible.
Install it as a gem:
$ gem install starscope
Build your database by just running it in the project directory:
$ cd ~/my-project
$ starscope
Ask it things directly:
$ starscope -q calls,new # Lists all callers of new
Export it to various existing formats for automatic integration with your editor:
$ starscope -e ctags
$ starscope -e cscope
- Starscope is a supported backend for CodeQuery.