Conditional condition text objects

Super weird question but:
for loops and conditionals in most languages take the following form:
for (content) {
// body
}
if (content) {
// body
}
in this case, it’s easy to manipulate content in vim/neovim, with something like yi(, ya), di(, etc
however in rust and python and it’s more like this
if content {
// body
}
for content {
//body
}

how would I manipulate content in neovim in a fluid motion? would I need to use treesitter or some other plugin? How I normally do it is F to the first letter of the first part of content then f last letter, but this is kinda weird, and totally not fluid. In treesitter playground for example, this is directly called a condition, but I can’t find any method to select something like it in the Treesitter plugin. Thanks!