Add a flag that allows for compact output
As of now, all commit messages seem to be spaced out:
ci(CircleCI)!: Renamed main build job
Renamed main build job from `build-base` to `base`
BREAKING CHANGE: The `build-base` is now named `base`
123
Allowing the user to generate a more compact message with -c/--compact would be neat:
ci(CircleCI)!: Renamed main build job
Renamed main build job from `build-base` to `base`
BREAKING CHANGE: The `build-base` is now named `base`
123
This could be taken further by introducing some kind of template where a user can define their own template and formatting (commits.template):
{type}{if has_scope: ({scope})}{if is_breaking: !}: {short_msg}
{long_msg}
{if is_breaking: BREAKING CHANGES: {breaking_changes}}
{if are_affected: issues_affected}
Just an idea :)
Are you alright with adding structopt for command-line arguments parsing?
I've worked with both structopt and clap. Since structopt does rely on clap anyway and has been merged into the 3.0-alpha I'd rather use that version of clap.
I am working on #12, so this could be solved with it. Not sure if I want to add a flag for it or just provide an alternative template inside the repo that people can use, as my main goal is to follow the conventional commits specification.
While it makes sense for the spec to separate the title, body, and footer, on shorter commit messages it's a pity to have 2 newlines for 3 lines of content. I agree that it's important to follow a specification for the commits, but if only the commits were pretty to look at as well!
So I have thinking about this for a while and I will probably include a compact version of the current template without the new lines. However, the help screen will have a note that it is not compliant with the specification.
That sounds great!