Sounds like treesitter will have more flexibility, but for now the vim-angry plugin does what I need it to :-)
In an expression such as (foo, ba|r, baz), where | is the cursor, it does the following:
via - (foo, |bar|, baz)
vaa - (foo|, bar|, baz)
vaA - (foo, |bar, |baz)
In an expression such as (foo, ba|r, baz), where | is the cursor, it does the following:
via - (foo, |bar|, baz)
vaa - (foo|, bar|, baz)
vaA - (foo, |bar, |baz)