mirror of
https://github.com/EQEmu/Server.git
synced 2026-02-19 20:02:25 +00:00
Add initial perl-doc-parser.pl for Client
This commit is contained in:
parent
4d87216ec6
commit
0786b1158a
64
utils/scripts/perl-doc-parser.pl
Executable file
64
utils/scripts/perl-doc-parser.pl
Executable file
@ -0,0 +1,64 @@
|
||||
use File::Find;
|
||||
use Data::Dumper;
|
||||
|
||||
my @files;
|
||||
my $start_dir = "zone/";
|
||||
find(
|
||||
sub { push @files, $File::Find::name unless -d; },
|
||||
$start_dir
|
||||
);
|
||||
for my $file (@files) {
|
||||
|
||||
#::: Skip non Perl files
|
||||
if($file!~/perl_/i){
|
||||
next;
|
||||
}
|
||||
|
||||
@methods = ();
|
||||
|
||||
#::: Open File
|
||||
print "Opening '" . $file . "'\n";
|
||||
open (FILE, $file);
|
||||
while (<FILE>) {
|
||||
chomp;
|
||||
$line = $_;
|
||||
|
||||
if ($line=~/Client::/i) {
|
||||
|
||||
$split_key = "Client::";
|
||||
$object_prefix = "\$client->";
|
||||
|
||||
#::: Split on croak usage
|
||||
@data = split($split_key, $line);
|
||||
$usage = trim($data[1]);
|
||||
|
||||
#::: Split out param borders and get method name
|
||||
@params_begin = split('\(', $usage);
|
||||
$method_name = trim($params_begin[0]);
|
||||
|
||||
#::: Get params string built
|
||||
@params_end = split('\)', $params_begin[1]);
|
||||
$params_string = trim($params_end[0]);
|
||||
$params_string =~s/THIS\,//g;
|
||||
$params_string =~s/THIS//g;
|
||||
$params_string = trim($params_string);
|
||||
|
||||
$method = $object_prefix . $method_name . "(" . lc($params_string) . ")\n";
|
||||
|
||||
push @methods, $method;
|
||||
}
|
||||
}
|
||||
|
||||
@methods = sort @methods;
|
||||
foreach $method (@methods) {
|
||||
print $method;
|
||||
}
|
||||
}
|
||||
|
||||
#::: Trim Whitespaces
|
||||
sub trim {
|
||||
my $string = $_[0];
|
||||
$string =~ s/^\s+//;
|
||||
$string =~ s/\s+$//;
|
||||
return $string;
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user