Interactive TUI Inspector
symtrace tui is an interactive, full-terminal inspection workspace built with ratatui and crossterm. It allows developers to browse complex pull requests, analyze multi-file refactors, inspect transitive call graph blast radius, and review safety contract alerts with keyboard-driven navigation.
# Launch interactive TUI comparing working directory against HEADsymtrace tui
# Launch TUI for specific commit rangesymtrace tui . HEAD~1 HEAD
# Filter TUI view to specific path patternsymtrace tui . HEAD~1 HEAD -p "src/**/*.rs"Key Features
Section titled “Key Features”Split-Pane Refactor View
Section titled “Split-Pane Refactor View”- Left Pane (Refactor Tree): Displays hierarchical file tree, modified symbols (
MOVE,RENAME,MODIFY,INSERT,DELETE), confidence scores, and detected refactor patterns (extract_method,move_method,rename_variable). - Right Pane (AST Structural Diff): Renders the AST subtree comparison with color-coded node operations, line numbers, token similarity percentages, and inline contract alerts.
Interactive Blast Radius & Call Graph
Section titled “Interactive Blast Radius & Call Graph”Select any modified symbol to view its structural call graph visualization:
- Displays source function -> extracted function relationships.
- Highlights cross-file relocation origins and destinations.
- Traces downstream callers up to depth 5 with blast radius impact severity (
LOW,MEDIUM,HIGH).
Keyboard Shortcuts
Section titled “Keyboard Shortcuts”| Shortcut | Action |
|---|---|
j / k or ↑ / ↓ | Move selection up / down |
h / l or ← / → | Collapse / expand directory tree node |
Tab | Switch focus between Refactor Tree and AST Diff pane |
/ | Open symbol search bar |
f | Cycle entity filter (All, Functions, Structs/Classes, Variables, Imports) |
b | Toggle Downstream Call Graph Blast Radius view |
r | Toggle between AST Semantic View and Raw Line Diff View |
Esc | Clear search / close modal |
q | Exit TUI inspector |
Viewing Refactor Patterns & Blast Radius
Section titled “Viewing Refactor Patterns & Blast Radius”When symtrace detects multi-file refactors or impacted callers, the TUI highlights the exact semantic transformation:
┌─ Refactor Patterns & Downstream Blast Radius ──────────────────────────────┐│ ▸ Extract Method (Confidence: 95%) ││ Source: fn authenticate_user() [src/auth.rs:L42] ││ Target: fn validate_token() [src/auth.rs:L110] ││ ││ ↔ Cross-File Move (Confidence: 100%) ││ Entity: struct UserPayload ││ From: src/types.rs:L15 ││ To: src/models/user.rs:L4 ││ ││ ⚡ Downstream Callers Impacted: 2 [Severity: MEDIUM] ││ ▸ Depth 1: fn execute_request (src/server.rs:L84) ││ ▸ Depth 2: fn main_loop (src/main.rs:L12) │└────────────────────────────────────────────────────────────────────────────┘Configuration
Section titled “Configuration”TUI color schemes and default layouts can be configured in .symtracerc or symtrace.toml:
[tui]mouse_support = truelayout = "split" # "split", "single_tree", "single_diff"theme = "dark" # "dark", "light", "high_contrast"default_filter = "all" # "all", "functions", "types"