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:

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.