Yes I think that is a good problem to solve. I'm working in this area right now, although I wouldn't say cross-shell compatibility the specific problem I'm solving now.
I think what would be nice is to collect examples like 'git --listcmds' and 'npm completion'
(previously mentioned), i.e. places where the binary itself helps out with completion.
In those cases, more of the logic is shell-independent. It's not 100% and will never be, but it's nice to share as much as possible.
Also, it would nice to see other ways that commands support multiple shells. For example, git has both bash and zsh completion in its tree.
Though I'm pretty sure the zsh developers wrote their own completion that is much richer than the bash-like one in upstream.
I believe the problem is that "completion" in zsh has a higher standard. You can make a lowest-common-denominator solution already. I think that is OK for now, but zsh users might disagree.
I think the other popular interactive shell is fish (based on my survey), so I'd be interested in learning more about it. However I wouldn't underestimate the fact that probably 90% of people use bash.
Feel free to e-mail me if you want to talk about it more (address in profile), or you can chat with me here:
I think what would be nice is to collect examples like 'git --listcmds' and 'npm completion' (previously mentioned), i.e. places where the binary itself helps out with completion.
In those cases, more of the logic is shell-independent. It's not 100% and will never be, but it's nice to share as much as possible.
Also, it would nice to see other ways that commands support multiple shells. For example, git has both bash and zsh completion in its tree.
Though I'm pretty sure the zsh developers wrote their own completion that is much richer than the bash-like one in upstream.
I believe the problem is that "completion" in zsh has a higher standard. You can make a lowest-common-denominator solution already. I think that is OK for now, but zsh users might disagree.
I think the other popular interactive shell is fish (based on my survey), so I'd be interested in learning more about it. However I wouldn't underestimate the fact that probably 90% of people use bash.
Feel free to e-mail me if you want to talk about it more (address in profile), or you can chat with me here:
https://oilshell.zulipchat.com/