Rename `Generate` to something clearer, e.g. `PrintMarksAndExit`
Just a minor suggestion. PrintMarksAndExit could be bound to x or to p. That would make it obvious that the command exits, and that it does two things.
I'm not sure I understand, why would the key binding being x or p instead of g make it obvious that it exits?
I just meant that if you rename the command to PrintMarksAndExit (which would make it obvious that the command exits), this would introduce the issue that the g key binding might not make sense anymore. However, I think p or x would still work.
I think it's a fair point that just seeing Generate written in the keybinding UI section does not make it obvious that this will exit and might surprise some people.
It could still be GenerateAndExit though, and avoid changing the keybind (which is annoying for existing users).
I agree that GenerateAndExit is a lot better than the current Generate. Good point!
To me, PrintMarksAndExit is still clearer than GenerateAndExit for new users, but the benefit is less than the benefit from adding "AndExit", and you are right that there is also a cost to such a change. OTOH, this cost is smaller today than it will be at any time in the future (assuming the tool gains users over time)
You could also change the official keybinding, but keep g working and documented in --help for a few releases, to help people transition. Up to you.