Place text objects (dyntext floaters) displaying the name of wire-nets and symbols if they don't have it already.
The action creates a list of objects using query(), including only selected or all objects, depending on scope. This list is then searched through for:
Matching groups are collected in GRPS[] by their idpath. When child objects are found, they are checked for two things:
At the end of the action a second loop iterates over the collected GRPS[] and calls the helper function autolabel_grp() on the ones that need a label. The helper function then will create the text object for the label. The new text object is created within the (symbol or wirenet) group.
How to test: