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.
Name completion uses the live Lisp environment with Mora-specific ranking.
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 expand an operator into editable argument positions.
- Tab advances through the positions and exits after the last one.
- Shift+Tab moves backward.
A keyword popup offers known parameters in the current call. Toggle keyword dropdowns with Cmd+Option+; or Ctrl+Option+;.
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 combines harvested definitions, explicit DSL signatures, and operator-provided documentation. User-defined functions can participate through ordinary Lisp docstrings and signature registration.
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.
| Action | Binding |
|---|---|
| Search | Cmd+F or Ctrl+S |
| Next match | Cmd+G or Ctrl+G |
| Previous match | Add Shift: Cmd+Shift+G or the Ctrl equivalent |
| Close the entry field | Escape |
| Go to line | Cmd+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