summaryrefslogtreecommitdiff
path: root/perl
diff options
context:
space:
mode:
authorLibravatar Vasco Almeida <vascomalmeida@sapo.pt>2016-12-14 11:54:24 -0100
committerLibravatar Junio C Hamano <gitster@pobox.com>2016-12-14 11:00:04 -0800
commit2db87101fc3b221b1c015e763d80ee82681d8753 (patch)
tree8bd0a967344afacfe28abe80ace66dd5a11188dd /perl
parentFourth batch for 2.11 (diff)
downloadtgif-2db87101fc3b221b1c015e763d80ee82681d8753.tar.xz
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>
Diffstat (limited to 'perl')
-rw-r--r--perl/Git.pm38
1 files changed, 38 insertions, 0 deletions
diff --git a/perl/Git.pm b/perl/Git.pm
index ce7e4e8da3..f699fee9a1 100644
--- a/perl/Git.pm
+++ b/perl/Git.pm
@@ -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