Runic
AUTOCOMPLETE

It knows your commands and your process names

Type a dot for the command menu, .do for your processes, .back for the steps in this document.

Try it free →Read the docs

What it is

The language has ten commands and the editor never makes you remember them. Type . at the start of a line and a menu lists every command with a one-line description; keep typing to filter. The same menu becomes a reference completer when a command needs a target.

How it works

The menu opens when the text before the caret is only a dot-prefix and nothing follows on the line. It lists .if, .then, .go, .do, .input, .wait, .back, .note, .fail and .end. Picking .if inserts a scaffold with .then Yes and .then No and puts the caret after .if . Picking .end inserts the line and opens a fresh one.

After .go or .do the menu lists your other processes, up to eight, prefix matches first, with each one’s line count. Once the target exactly matches a process the menu closes so Enter opens a new line as usual.

After .back it lists the plain steps and .input lines of the current document, deduplicated, captions stripped, the caret’s own line excluded, each marked “line N · above” or “below”, because a return arrow can point either way.

Esc dismisses the menu for the current prefix; it returns when the prefix changes. Any Ctrl, ⌘ or Alt combination closes it and passes through, so ⌘+Down still means end of document.

Why it matters

References match by exact name, so one mistyped character is a broken link. Picking from a list removes that failure mode instead of flagging it later.

Ghost suggestions

Signed in, a second completion appears: after 700ms idle at the end of a line, a gray continuation may show with a TAB chip. Tab accepts it; Esc or any keystroke dismisses it. The “✦ Suggest on/off” chip in the footer turns it off and remembers the choice. Tab prefers a visible ghost over indenting.

How to use it

  1. Open the command menu
    At the start of a line type .. The “Commands” menu lists each command with its description. Keep typing to filter, for example .i leaves .if and .input.
  2. Pick one
    Use ↑ and ↓ to move, then Enter or Tab to insert. The footer reminds you: “↑↓ navigate · ↵ insert · esc dismiss”.
  3. Complete a process name
    Type .do and the menu switches to your processes. Type part of a name to filter; Enter inserts the exact name.
  4. Complete a .back target
    Type .back and the menu lists this document’s steps with their line numbers and whether they sit above or below the caret.
  5. Dismiss
    Press Esc. The menu stays away until you change what you typed, then offers again.

Commands & shortcuts

.At line start: open the Commands menu
↑ / ↓Move the highlight
Enter / TabInsert the highlighted item
EscDismiss for the current prefix
.go / .doThen a space: your other processes, up to 8
.backThen a space: this document’s steps and .input lines, up to 8
TabAccept a gray ghost suggestion (signed in)
✦ Suggest on/offFooter chip that disables ghost suggestions

Tips

  • Pressing Enter on a bare . without moving the highlight closes the menu and opens a new line instead of inserting .if; keep typing after the dot when you want a command by hand.
  • Pick .if from the menu to get both branches scaffolded. Pressing Enter at the end of a typed .if line does the same.
  • The .do list shows how many non-empty lines each process has, so an empty stub reads “0 lines”.
  • Sequence diagrams have their own menu with .actor, .alt, .loop and actor-name completion after ->.

Questions

Why does the process menu not show the document I am in?

A process calling itself is rarely what you want, so the current document is excluded. Use .back for loops inside a document.

Why did the menu close while I was typing a name?

Your text now matches a process exactly, so there is nothing left to suggest. Enter opens a new line.

Does the menu need the AI?

No. Command and reference completion run locally in the editor. Only the gray ghost suggestions call the AI, so they need a signed-in account.