| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [View Raw Code] [Original HTTPS Page] |
Using our integrations, all code intelligence features are available everywhere you read code! This includes in browsers and GitHub pull requests.
Popovers allow you to quickly glance at the type signature and accompanying documentation of a symbol definition without having to context switch to another source file (which may or may not be available while browsing code).
When you click on the 'Go to definition' button in the popover or click on a symbol's name (in the sidebar or code view), you will be navigated directly to the definition of the symbol.
When you select 'Find references' from the popover, a panel will be shown at the bottom of the page that lists all of the references found for both precise (LSIF or language server) and search-based results (from search heuristics). This panel will separate references by repository, and you can optionally group them by file.
NOTE: When a particular token returns a large number of references, we truncate the results to < 500 to optimize for browser loading speed. We are planning to improve this in the future with the ability to view it as a search so that users can utilize the powerful filtering of Sourcegraph's search to find the references they are looking for.
Dependency navigation enables "Find references" and "Go to definition" to show usages across multiple repositories, including transitive dependencies. For example, the animation below demonstrates how to trigger "Find references" in the repository github.com/Netflix/Hystrix and navigate to results in the Java standard library (JDK).
The instructions to setup dependency navigation are different depending on what language ecosystem you use.
NOTE: This feature is in Experimental phase and is not available for other language ecosystems at the moment.
If precise code intelligence is enabled for your repositories, you can click on “Find Implementations” to navigate to a symbol’s interface definition. If you’re at the interface definition itself, clicking on “Find Implementations” will show all the places where the interface is being implemented, allowing you to explore how it’s being used by other users across repositories. It can also show which interfaces a struct implements.
NOTE: See this table for an overview of which languages support this feature.
We use Ctags to index the symbols of a repository on-demand. These symbols are used to implement symbol search, which will match declarations instead of plain-text.
We use Ctags to index the symbols of a repository on-demand. These symbols are also used for the symbol sidebar, which categorizes declarations by type (variable, function, interface, etc). Clicking on a symbol in the sidebar jumps you to the line where it is defined.
Here is the query path for symbol searches:
Once the symbols service has built an index for a commit, here's the query performance:
Search-based code intelligence uses exact matches ^foo$ and the symbols sidebar uses prefix matches on paths file:^cmd/ to respond quickly.
| Back | FazBrowse Home | New Git URL |