My thoughts, in no particular order:
- '!' can be a pain in the neck to supply on the bash command line.
Single quotes and backslash quoting work while double quotes do
not, unless 'set +H' has been run. But that's not a huge deal and
arguably it's a bash misfeature.
- What is the intended use for this family of modifiers? I sort
of understand ^{:i/... } for people that forget what case they
have used, but why the :nth and others? - Why do we have to carve out the namespace right away, anyway? If
we just ^{/... } for the ordinary "start here" search, that leaves
room for anything after the { other than "/<pattern>" and a few
fixed strings like "upstream", "tree", etc, right? It might be
easier to anticipate what syntax will be useful when there is
functionality to go with it.