topgit_msg: expose bare branches
[topgit/pro.git] / polish-help-txt.pl
blobbc5aa6995e0b0706cd1c8008b614ea768bcfb364
1 #!/usr/bin/env perl
3 # create-html-usage.pl -- insert usage lines into README
4 # Cpoyright (C) 2015,2017 Kyle J. McKay.
5 # All rights reserved.
6 # License GPLv2 or, at your option, any later version.
8 use strict;
9 use warnings;
11 sub wrap
13 my ($w, $i, $s) = @_;
14 my $h = ' ' x $i;
15 my $ans = '';
16 while (length($s) > $w && $s =~ /^(.{1,$w})(?<=\w)\b[ \t]+(.+)$/s) {
17 $ans .= $1."\n";
18 $s = "$h$2";
20 $ans .= $s if $s !~ /^\s*$/;
21 return $ans;
24 while (<>) {
25 s/(?:\r\n|\n|\r)$//;
26 # From the Perl camel book "Fluent Perl" section (slightly modified)
27 s/(.*?)(\t+)/$1 . ' ' x (length($2) * 8 - length($1) % 8)/eg;
28 s'^``(.*)``$'wrap(78, 4, $1)'e;
29 s'^(\s*):`(.+?)`_:'"$1$2 "'e;
30 s'^(\s*):(\w+?)_?:'"$1$2"'e;
31 printf "%s\n", $_;
33 exit 0;