Completions =========== Context-Sensitive Completions ------------------------------ Completions appear automatically as you type, or can be triggered with ``Ctrl+Space``. The engine detects the cursor context and offers relevant suggestions: .. list-table:: :header-rows: 1 :widths: 25 75 * - Context - Suggestions * - Top-level - Keywords: ``action``, ``component``, ``struct``, ``enum``, ``package``, ``import`` * - Action body - ``rand``, ``constraint``, ``activity``, ``exec``, field types * - Struct body - ``rand``, ``constraint``, field types * - Component body - ``action``, ``struct``, ``pool``, ``bind`` * - Activity - ``do``, ``parallel``, ``schedule``, ``select``, ``repeat`` * - Constraint - ``foreach``, ``forall``, ``if``, ``unique``, field names * - Type position - All visible types — built-in and user-defined * - Member access (``.``) - Fields and functions of the resolved type * - Annotation (``@``) - Annotation type names * - Template parameter (``<``) - Valid template arguments for the enclosing parameterised type Trigger characters: ``.``, ``:``, ``@``, ``<`` Signature Help -------------- Inside a function call's argument list, signature help shows the function signature with the active parameter highlighted. Trigger characters: ``(``, ``,`` Snippets -------- Type a prefix and press ``Tab`` to expand a snippet. 44 snippets cover all major PSS constructs: - **Types**: ``action``, ``abstract action``, ``component``, ``struct``, ``buffer``, ``resource``, ``enum``, ``package``, ``monitor``, etc. - **Constraints**: ``constraint``, ``dynamic constraint``, ``constraint foreach`` - **Exec blocks**: ``exec body``, ``exec pre_solve``, ``exec post_solve`` - **Extensions**: ``extend action``, ``extend component``, ``extend struct`` - **Activity**: ``parallel``, ``schedule``, ``select``, ``replicate``, ``repeat`` Inlay Hints ----------- Inline annotations displayed in the editor (non-modifying): - **Template parameter names** at instantiation sites. - **Resolved action type** on ``do`` handle traversals. CodeLens -------- Annotations above declarations showing: - **References** — reference count across the workspace. Click to run *Find All References*. - **Subtypes** — number of inheriting/extending types. Click to open the type hierarchy.