You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
1.1 KiB
69 lines
1.1 KiB
#!/usr/bin/perl |
|
|
|
%terms=(); |
|
|
|
while(<>) { |
|
if(/^(\S.*)::$/) { |
|
my $term=$1; |
|
if(defined($terms{$term})) { |
|
die "$1 defined twice\n"; |
|
} |
|
$terms{$term}=""; |
|
LOOP: while(<>) { |
|
if(/^$/) { |
|
last LOOP; |
|
} |
|
if(/^ \S/) { |
|
$terms{$term}.=$_; |
|
} else { |
|
die "Error 1: $_"; |
|
} |
|
} |
|
} |
|
} |
|
|
|
sub format_tab_80 ($) { |
|
my $text=$_[0]; |
|
my $result=""; |
|
$text=~s/\s+/ /g; |
|
$text=~s/^\s+//; |
|
while($text=~/^(.{1,72})(|\s+(\S.*)?)$/) { |
|
$result.=" ".$1."\n"; |
|
$text=$3; |
|
} |
|
return $result; |
|
} |
|
|
|
sub no_spaces ($) { |
|
my $result=$_[0]; |
|
$result=~tr/ /_/; |
|
return $result; |
|
} |
|
|
|
print 'GIT Glossary |
|
============ |
|
|
|
This list is sorted alphabetically: |
|
|
|
'; |
|
|
|
@keys=sort {uc($a) cmp uc($b)} keys %terms; |
|
$pattern='(\b(?<!link:git-)'.join('\b|\b(?<!link:git-)',reverse @keys).'\b)'; |
|
foreach $key (@keys) { |
|
$terms{$key}=~s/$pattern/sprintf "<<ref_".no_spaces($1).",$1>>";/eg; |
|
print '[[ref_'.no_spaces($key).']]'.$key."::\n" |
|
.format_tab_80($terms{$key})."\n"; |
|
} |
|
|
|
print ' |
|
|
|
Author |
|
------ |
|
Written by Johannes Schindelin <Johannes.Schindelin@gmx.de> and |
|
the git-list <git@vger.kernel.org>. |
|
|
|
GIT |
|
--- |
|
Part of the link:git.html[git] suite |
|
'; |
|
|
|
|