---
feature_story: FS_72_40_53_00
feature_title: plugin `fill_control` for default values
feature_status: TODO
---

When all explicit and implicit values are assigned,
there are still defaults ones which can be assigned
(without interrogating user via Tab-completion on the command line).

*   If it is completion or function invocation,
    defaults are simply populated and final search is done in attempt to select smaller `data_envelope` set.

*   If it is argument description, there are options.

    *   On one hand, we want to show both default and set of possible args from which default was selected.

    *   On the other hand, we want to show final `data_envelope` set
        (which is result of a search with defaults assigned).

        This is where we perform double search:
        *   before assigning defaults (to collect options)
        *   after assigning defaults (to select final `data_envelope` set)

        Argument description is supposed to show those defaults.


There should not be branching queries (one assuming some values are given and another without these values):
*   `init_control` (see FS_46_96_59_05) gives non-overrideable values<br/>
     for some keys in the next `data_envelope` (before the query).
*   `fill_control` (this FS_72_40_53_00) populates values for keys which are still ambiguous<br/>
     after all arg processing is done (simply to avoid prompting user for that).

Default values are never interrogated on the command line.

