Code intelligence
Read-only language-server navigation, go to definition, references, implementations, call hierarchy, hover, symbols, and problems.
stet navigates code through read-only language-server requests, the same servers that drive diagnostics. Every request here is a read: it never writes to the repo.
No language server installed? stet fetches one on first use (preferring the repo's own, then your
PATH), so this works out of the box. Pass --no-lsp-download to turn that off.
Go to definition
Put the caret on a symbol and press F12 to jump to its definition. A
cross-file jump records your spot, so < returns to the call site. When more
than one definition matches, the targets open in a results list to pick from.
Find references
Press Shift+F12 to list everywhere a symbol is used. The results open in an
overlay grouped by file, each row showing path:line:col and its source line.
↑/↓ move, enter or a click jumps, esc closes.
Find implementations
Put the caret on an interface or abstract member and press Shift+I to jump
past the abstraction to its concrete bodies. A single implementation jumps
straight there; more than one opens the same overlay as find-references.

Call hierarchy
Put the caret on a function or method and press Shift+H to list its callers.
Tab flips direction between incoming calls (who calls this) and outgoing calls
(what this calls), with the footer showing which way you are looking.

Hover
Press K with the caret on a symbol to show its type and docs in a small card
anchored at the caret. The type signature is syntax-highlighted with the same
theme as the diff. The card clears as soon as you move the caret, scroll, switch
files, or press esc.

Find symbols
Press S to list the open file's symbols, classes, functions, methods, and the
rest, each with its kind icon and line:col, nested to mirror the file's
structure. Unlike go-to-definition it needs no caret, only an open file.

Problems
Diagnostics from the repo's language servers stream into a problems panel as
checks finish: type errors from TypeScript, lint findings from oxlint, Biome
where it is configured, and schema-aware JSON and YAML validation. Each is
tagged with its source and pinpointed to its line:col. Press p to open the
panel and enter to jump to a finding.
