stetv0.7.0
Guides

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.

The find-implementations overlay listing an interface's concrete implementations

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.

The call hierarchy overlay listing the callers of a function, with a direction hint

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.

A hover card anchored at the caret showing a syntax-highlighted type signature above its docs

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.

The symbol outline overlay listing the open file's functions and methods

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.

The problems panel docked below a diff, listing diagnostics with their file locations

On this page