What it is
Processes call each other with .go (jump and stop) and .do (run, then return). The reference index turns those lines into a symbol table: who calls whom, from which line, and whether the target exists. The same index drives autocomplete, rename, the broken-link quick fix and the sidebar’s nesting.
How it works
A process row in the sidebar shows a violet pill with a count when other processes reference it; the tooltip reads “Referenced by N places — click to list”. Click it and a panel titled “References to “Name”” opens beside the sidebar, one row per call site: the calling process, “line N”, and the line itself in monospace.
Click a row to switch to that document, scroll to the line, place the caret there and flash it green. Esc or a click outside closes the panel.
The index also shapes the sidebar. A process nests under its caller only when exactly one other process references it; anything called from two places stays top-level with its badge. When two processes call each other, one of the pair is kept at the top level so the pair never vanishes from the list. Matching is by full name, case-insensitive and trimmed; an arrow caption after the name is not part of the target.
Why it matters
“What breaks if I change this?” is the question before every edit. The badge answers it at a glance and the panel walks you through each caller in context, instead of a search across every document.
Limits
References inside the same process do not count toward the badge. Sequence diagrams are not indexed. The sidebar indents nesting up to three levels; deeper rows stay at the third indent.
How to use it
- Find the badgeIn the Processes list, look for the violet pill with a number on the right of a row. No pill means nothing calls it yet.
- Open the panelClick the pill. A panel titled “References to “Name”” lists every calling process with “· line N” and the exact .go or .do line.
- Jump to a call siteClick a row. The editor switches to that document, scrolls to the line, and flashes it green with the caret placed there.
- Jump from the textHold ⌘ (Ctrl on Windows) and click a .go or .do line to open the process it names. Clicking a Go or Do card in the diagram does the same.
- Close itPress Esc or click anywhere outside the panel.
Commands & shortcuts
| .go Name | Jump to another process; the path ends here |
| .do Name | Run another process, then return |
| Referenced by N places | Sidebar badge tooltip; click to list |
| ⌘ / Ctrl + click | On a .go/.do line, opens the referenced process |
| Esc | Closes the References panel |
Tips
- A row that is indented under another in the sidebar has exactly one caller. Collapse the caller’s chevron to hide its subprocesses.
- Before renaming or deleting a process, open its References panel and walk the list.
- Drop a sidebar row onto another row and the target document gains a
.doline calling the dropped one; the nesting appears the moment the panel re-renders. - An amber dot on a sidebar row means the document contains a reference to a process that does not exist.
Questions
Why does a .do to itself not show in the badge?
The badge counts call sites in other processes; a process referencing itself is excluded. Two .do lines in the same caller count as two. The panel lists every site, including self-references.
Why is a called process still at the top level?
It has two or more distinct callers, or it is the member of a two-way cycle that Runic keeps at the top so the cycle stays reachable. Only single-parent processes nest, so the tree never misrepresents shared subprocesses.
Does the index see sequence diagrams?
No. References are a process-document feature; sequence diagrams have their own actors and messages.