chiark
/
gitweb
/
~mdw
/
disorder
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge tag 'branchpoint-5.1' into release
[disorder]
/
scripts
/
macro-docs
diff --git
a/scripts/macro-docs
b/scripts/macro-docs
index 30ad91fa76e656a862f0df0784d29beaf32aba0d..265ee350506c322312a04fad81ce7e594fd5e95d 100755
(executable)
--- a/
scripts/macro-docs
+++ b/
scripts/macro-docs
@@
-6,7
+6,7
@@
my $name;
my $docs;
while(defined($_ = <>)) {
chomp;
my $docs;
while(defined($_ = <>)) {
chomp;
- if(!defined $name and m,^/\*
(\@
([a-z\-]+).*),) {
+ if(!defined $name and m,^/\*
\$ (\@?
([a-z\-]+).*),) {
$name = $2;
my $heading = $1;
$docs = [$heading];
$name = $2;
my $heading = $1;
$docs = [$heading];
@@
-27,6
+27,7
@@
while(defined($_ = <>)) {
}
# Generate docs in name order
}
# Generate docs in name order
+my $indented = 0;
for my $m (sort keys %macros) {
my @docs = @{$macros{$m}};
my $heading = shift @docs;
for my $m (sort keys %macros) {
my @docs = @{$macros{$m}};
my $heading = shift @docs;
@@
-40,17
+41,38
@@
for my $m (sort keys %macros) {
print ".TP\n";
print ".B $heading\n";
for my $d (@docs) {
print ".TP\n";
print ".B $heading\n";
for my $d (@docs) {
+ if($d =~ /^-\s*([^:]+):\s+(.*)/) {
+ if(!$indented) {
+ print ".RS\n";
+ $indented = 1;
+ }
+ print ".TP 8\n";
+ print ".B $1\n";
+ $d = $2;
+ }
if($d =~ /^- /) {
$d = $';
if($d =~ /^- /) {
$d = $';
+ if(!$indented) {
+ print ".RS\n";
+ $indented = 1;
+ }
print ".TP\n";
print ".B .\n";
}
if($d eq '') {
print ".TP\n";
print ".B .\n";
}
if($d eq '') {
- print ".PP\n";
+ if($indented) {
+ print ".RE\n";
+ $indented = 0;
+ }
+ print ".IP\n";
} else {
# Keep sentence-ending full stops at end of line
$d =~ s/\. /\.\n/g;
print "$d\n";
}
}
} else {
# Keep sentence-ending full stops at end of line
$d =~ s/\. /\.\n/g;
print "$d\n";
}
}
+ if($indented) {
+ print ".RE\n";
+ $indented = 0;
+ }
}
}