Skip to content

Commit 8518f27

Browse files
docs and changelog
1 parent 1135a48 commit 8518f27

File tree

2 files changed

+30
-2
lines changed

2 files changed

+30
-2
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1010
### Added
1111
- [Sourcebot EE] Added code navigation (find all references / go to definition). [#315](https://github.com/sourcebot-dev/sourcebot/pull/315)
1212

13+
### Fixed
14+
- Improved scroll performance for large numbers of search results. [#315](https://github.com/sourcebot-dev/sourcebot/pull/315)
15+
1316
## [3.2.1] - 2025-05-15
1417

1518
### Added

docs/docs/search/code-navigation.mdx

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,36 @@ import SearchContextSchema from '/snippets/schemas/v3/searchContext.schema.mdx'
99
This feature is only available with an active Enterprise license. Please add your [license key](/self-hosting/license-key) to activate it.
1010
</Note>
1111

12-
**Code navigation** allows you to jump between symbol definition and references when viewing source files in Sourcebot.
12+
**Code navigation** allows you to jump between symbol definition and references when viewing source files in Sourcebot. This feature is enabled **automatically** when a valid license key is present and works with all popular programming languages.
1313

1414

1515
<video src="https://framerusercontent.com/assets/B9ZxrlsUeO9NJyzkKyvVV2KSU4.mp4" className="w-full aspect-video" controls></video>
1616

1717
## Features
1818

19-
todo
19+
| Feature | Description |
20+
|:--------|:------------|
21+
| **Hover popover** | Hovering over a symbol reveals the symbol's definition signature as a inline preview. |
22+
| **Go to definition** | Clicking the "go to definition" button in the popover or clicking the symbol name navigates to the symbol's definition. |
23+
| **Find references** | Clicking the "find all references" button in the popover lists all references in the explore panel. |
24+
| **Explore panel** | Lists all references and definitions for the symbol selected in the popover. |
25+
26+
## How does it work?
27+
28+
Code navigation is **search-based**, meaning it uses the same code search engine and [query language](/docs/search/syntax-reference) to estimate a symbol's references and definitions. We refer to these estimations as "search heuristics". We have two search heuristics to enable the following operations:
29+
30+
### Find references
31+
Given a `symbolName`, along with information about the file the symbol is contained within (`git_revision`, and `language`), runs the following search:
32+
33+
```bash
34+
\\b{symbolName}\\b rev:{git_revision} lang:{language}
35+
```
36+
37+
### Find definitions
38+
Given a `symbolName`, along with information about the file the symbol is contained within (`git_revision`, and `language`), runs the following search:
39+
40+
```bash
41+
sym:\\b{symbolName}\\b rev:{git_revision} lang:{language}
42+
```
43+
44+
Note that the `sym:` prefix is used to filter the search by symbol definitions. These are created at index time by [universal ctags](https://ctags.io/).

0 commit comments

Comments
 (0)