/starscope

Smart code search for Ruby, Go, and JavaScript

Primary LanguageRubyMIT LicenseMIT

Starscope

Gem Version Build Status Code of Conduct

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.

Quick Start

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

More Documentation

Other Uses

  • Starscope is a supported backend for CodeQuery.