/// <summary>
 /// Format semantic version according to current configuration
 /// </summary>
 /// <param name="version">Semantic version</param>
 /// <param name="config">Current configuration</param>
 /// <param name="isCurrentCommitTagged">Defines if current commit is tagged</param>
 public static SemanticVersion FormatVersion(this SemanticVersion version, EffectiveConfiguration config, bool isCurrentCommitTagged = false)
 {
     return(version
            .EnsurePreReleaseTag(config, isCurrentCommitTagged)
            .AppendTagNumberPattern(config)
            .PromoteNumberOfCommitsToTagNumber(config, isCurrentCommitTagged));
 }