lppedd / idea-conventional-commit

Context and template-based completion for conventional/semantic commits.
https://plugins.jetbrains.com/plugin/13389-conventional-commit
MIT License
327 stars 19 forks source link

Support commit body and footer #13

Closed lppedd closed 4 years ago

lppedd commented 4 years ago

One or more footers MAY be provided one blank line after the body. Each footer MUST consist of a word token, followed by either a : or # separator, followed by a string value (this is inspired by the git trailer convention).

A footer’s token MUST use - in place of whitespace characters, e.g., Acked-by (this helps differentiate the footer section from a multi-paragraph body). An exception is made for BREAKING CHANGE, which MAY also be used as a token.

A footer’s value MAY contain spaces and newlines, and parsing MUST terminate when the next valid footer token/separator pair is observed.

Breaking changes MUST be indicated in the type/scope prefix of a commit, or as an entry in the footer.

If included as a footer, a breaking change MUST consist of the uppercase text BREAKING CHANGE, followed by a colon, space, and description, e.g., BREAKING CHANGE: environment variables now take precedence over config files.


"Support" means completion for the BREAKING CHANGE token is available in the right contexts, as per specification.

The : (colon) character will be automatically inserted and the caret will be placed one space after it.

lppedd commented 4 years ago

@notbear it was you interested in this right? I will have a prototype by tomorrow, can I send you the plugin JAR by itself?

lppedd commented 4 years ago

Example of how it behaves now.

example

notbear commented 4 years ago

Hello Edoardo,

Sure, let me be your tester :-)

Cheers Paweł

pt., 27 mar 2020, 14:08 użytkownik Edoardo Luppi notifications@github.com napisał:

@notbear https://github.com/notbear it was you interested in this right? I will have a prototype by tomorrow, can I send you the plugin JAR by itself?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/lppedd/idea-conventional-commit/issues/13#issuecomment-604990914, or unsubscribe https://github.com/notifications/unsubscribe-auth/AANWPUS32HE55BE62KJPDQLRJSQNRANCNFSM4LUTEQ3Q .

lppedd commented 4 years ago

@notbear Here is the zip file you can use to Install plugin from disk. idea-conventional-commit-0.7.0.zip

You will be able to insert only footer types (e.g BREAKING CHANGE), but footer values and bodies are supported too, via external Providers.

Just let me know if everything works and if the UX is good :) Thanks!

lppedd commented 4 years ago

@notbear Here is an updated version. You're now allowed to try commit bodies and footer values, besides footer types. The parser and completion handle multiline bodies and footer values, you can try that too.

idea-conventional-commit-0.7.0.zip

lppedd commented 4 years ago

@notbear I have only one test failing prior to release 0.8.0. This is the last build: idea-conventional-commit-0.7.0.zip

notbear commented 4 years ago

@lppedd Works as a charm. Well done, thanks!

lppedd commented 4 years ago

@notbear awesome! You can also set custom footers!

lppedd commented 4 years ago

@notbear btw, now that I handle body, footer type and footer value differently I'm open to integrations such as with Github Issues