Guide

Discovering forms

Completion, ghost hints, signature snippets, the keyword popup, contextual documentation, and search in Mora Studio.

Studio helps you learn an unfamiliar operator while you are writing it. This page covers name completion, argument hints, signature snippets, the keyword popup, contextual documentation, the signature registry behind them, and search.

Completion

Name completion uses the live Lisp environment with Mora-specific ranking.

Ghost hints

Ghost hints show the remaining arguments after an operator name.

Toggle ghost hints with Ctrl+Option+G. In the editor, Cmd+Shift+G means previous search match, so use Ctrl+Option+G for the ghost-hint toggle there.

Signature snippets

Signature snippets expand an operator into editable argument positions.

  • Tab advances through the positions and exits after the last one.
  • Shift+Tab moves backward.

Keyword popup

A keyword popup offers known parameters in the current call. Toggle keyword dropdowns with Cmd+Option+; or Ctrl+Option+;.

Contextual documentation

Contextual documentation distinguishes three kinds of answer:

  • an operator’s callable signature
  • a bound variable’s current value
  • a keyword’s parameter role or documented value meaning

Documentation examples are displayed as Lisp forms rather than flattened prose. Known occurrences of the focused word can be highlighted within the documentation.

The listener commands ,describe, ,sig, and ,apropos are among Studio’s comma commands.

The signature registry

The signature registry combines harvested definitions, explicit DSL signatures, and operator-provided documentation. User-defined functions can participate through ordinary Lisp docstrings and signature registration.

Documenting custom parameters

A custom parameter’s musical explanation comes from its documentation. When you define an operator with its own parameters, document both each parameter’s unit and its effect. Editor assistance depends on that documentation, and on good source provenance, from extensions as well as from Mora itself. See Extending Mora.

Search distinguishes all matches from the current match and shows the current occurrence number.

ActionBinding
SearchCmd+F or Ctrl+S
Next matchCmd+G or Ctrl+G
Previous matchAdd Shift: Cmd+Shift+G or the Ctrl equivalent
Close the entry fieldEscape
Go to lineCmd+Option+G

Escape closes the entry field while retaining the query for repeated search. Cmd+Option+G is a separate go-to-line binding, not part of search.

Other keys are listed in Keybindings and presentation.

Source references

Repository-relative paths in the Mora source where these mechanisms are implemented.

  • src/studio/commands-completion.lisp
  • src/studio/snippet.lisp
  • src/studio/form-signatures-*.lisp
  • src/studio/context-documentation.lisp
  • src/studio/render-doc.lisp
  • src/studio/commands-toggles.lisp
  • src/studio/editor-search.lisp
  • src/studio/commands-navigation.lisp
  • src/studio/render-editor.lisp

Documentation

Search the documentation

Results update as you type. Use the up and down arrow keys to choose a result and Enter to open it.