1
0
mirror of https://github.com/irssi/irssi.git synced 2024-10-13 05:03:45 -04:00
irssi/syntax.pl
Timo Sirainen 1fca5f1c7b Using find instead of grep -r.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@555 dbcabf3a-b0e7-0310-adc4-f8d773084564
2000-07-31 12:50:57 +00:00

36 lines
1.2 KiB
Perl
Executable File

#!/usr/bin/perl
#
# This script reads the syntaces of commands from irssi source tree.
# Then it browses through all '.in' files in the current directory and
# substitutes '@SYNTAX:foo@' tags with real syntaces found. This data
# is written into the corresponding files without the '.in' extension.
# For example: help.in -> ../help
#
# This path has to be changed. It should point to your irssi/src directory
# Remember to include the asterisk ('*').
$SRC_PATH='src';
# This is quick and dirty, but works for sure :)
#$FOO = `grep -r -e '/* SYNTAX:' $SRC_PATH | sed 's/.*SYNTAX: //' > irssi_syntax`;
$FOO = `find $SRC_PATH -name '*.c' -print0 | xargs -l30 -0 grep -e '/* SYNTAX:' | sed 's/.*SYNTAX: //' > irssi_syntax`;
while (<docs/help/in/*.in>) {
open (FILE, "$_");
@data = <FILE>;
close (FILE);
foreach $DATARIVI (@data) {
if ($DATARIVI =~ /\@SYNTAX\:(.+)\@/) {
$etsittava = "\U$1 ";
$SYNTAX = `grep \'^$etsittava\' irssi_syntax`;
$SYNTAX =~ s/\*\///g; $SYNTAX =~ s/ *$//;
$DATARIVI = $SYNTAX;
}
}
$newfilename = $_; $newfilename =~ s/\.in$//;
$newfilename =~ s/\/in\//\//;
open (NEWFILE, ">$newfilename");
print NEWFILE @data;
close (NEWFILE);
}
unlink "irssi_syntax";