---
feature_story: FS_71_87_33_52
feature_title: envelope with `help_hint`
feature_status: PARTIAL
---

There are two parts of `help_hint` feature:
*   `help_hint_func` is part of `HelpDelegator` which lists `help_hint` provided by each loaded func.
*   General `help_hint` per `arg_type`.

Help hint is a single line explanation which can be shown:
*   next to suggested arg type during completion
*   in listing of `data_envelope`-s found as varargs (FS_18_64_57_18)

The trick is to keep providing extended string when there are multiple arg value options,<br/>
then, when only single options is available,<br/>
`help_hint` (everything after first space: FS_99_81_19_25 ) is removed.

While `help_doc` (FS_94_30_49_28) can be shown on request,
`help_hint` shows up automatically during completion.

Implementation will likely involve a separate query
for `help_hint`-s per arg type.

Currently, as a demo for `help_hint` during completion,
all help hints are stored once on startup (and do not change until server restarts)
into a dict with this structure:

```python
{
    f"{arg_type}": {
        f"{arg_value}": f"{help_hint}",
    },
}
```

At the startup, `data_envelope`-s of this class and values will populate dict above:

```python
{
    f"{ReservedArgType.EnvelopeClass.name}": f"{ReservedEnvelopeClass.ClassHelp.name}",
    f"{ReservedArgType.ArgType.name}": f"{arg_type}",
    f"{ReservedArgType.ArgValue.name}": f"{arg_value}",
    f"{ReservedArgType.HelpHint.name}": f"{help_text}",
}
```

