I quite a long discussed with @occivink about the implementation, so credits go also to him for his technical input.
how does it differ from builtin s? Automation?
It selects every object in selection.
Honestly it looks like another must-have addon for me, great job @alexherbo2
Just added support for custom objects.
Wow, I am impressed you managed to implement that. It is a feature I think should be in core at some point, but kudos for making a plugin.
I was mislead by split selection and select commands, now I got it. This is great thing to have
If we think of a selection as mathematical set, we could take the first selection as first set, and the selections after split as a subsets of the first selection. For example:
[aaa (bbb) ccc (ddd) eee]
Let’s assume that current selection is a set A. We need to save this set somewhere. After that we can split this selection by parenthesis:
aaa [(bbb)] ccc [(ddd)] eee
save current selections as set B and C, which are subsets of previous selections.
Now we need to take complement of sum of subsets B and C:
A’ = A \ (B U C)
Which results in the following sets:
[aaa ](bbb)[ ccc ](ddd)[ eee]
Since all splits are always subsets of main selection, and never exceed, I think this can be programmed without much awareness of corner cases.