Git.pm: add subroutines for commenting lines

Add subroutines prefix_lines and comment_lines.

Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Vasco Almeida 2016-12-14 11:54:24 -01:00 committed by Junio C Hamano
parent 6fe1b1407e
commit 2db87101fc
1 changed files with 38 additions and 0 deletions

View File

@ -1421,6 +1421,44 @@ sub END {

} # %TEMP_* Lexical Context

=item prefix_lines ( PREFIX, STRING [, STRING... ])

Prefixes lines in C<STRING> with C<PREFIX>.

=cut

sub prefix_lines {
my $prefix = shift;
my $string = join("\n", @_);
$string =~ s/^/$prefix/mg;
return $string;
}

=item get_comment_line_char ( )

Gets the core.commentchar configuration value.
The value falls-back to '#' if core.commentchar is set to 'auto'.

=cut

sub get_comment_line_char {
my $comment_line_char = config("core.commentchar") || '#';
$comment_line_char = '#' if ($comment_line_char eq 'auto');
$comment_line_char = '#' if (length($comment_line_char) != 1);
return $comment_line_char;
}

=item comment_lines ( STRING [, STRING... ])

Comments lines following core.commentchar configuration.

=cut

sub comment_lines {
my $comment_line_char = get_comment_line_char;
return prefix_lines("$comment_line_char ", @_);
}

=back

=head1 ERROR HANDLING