inspircd/tools/directive

56 lines
1.4 KiB
Perl
Executable File

#!/usr/bin/env perl
#
# InspIRCd -- Internet Relay Chat Daemon
#
# Copyright (C) 2020 Sadie Powell <sadie@witchery.services>
#
# This file is part of InspIRCd. InspIRCd is free software: you can
# redistribute it and/or modify it under the terms of the GNU General Public
# License as published by the Free Software Foundation, version 2.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
# details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
BEGIN {
require 5.10.0;
unless (-f 'configure') {
print "Error: $0 must be run from the main source directory!\n";
exit 1;
}
}
use feature ':5.10';
use strict;
use warnings FATAL => qw(all);
use File::Basename qw(dirname);
use FindBin qw($RealDir);
use lib dirname $RealDir;
use make::console;
use make::directive;
if (scalar @ARGV < 2) {
print_format "<|GREEN Usage:|> $0 <<|UNDERLINE FILE|>> [<|UNDERLINE DIRECTIVES...|>]\n", *STDERR;
exit 1
}
my $file = shift;
print_error "<|GREEN $file|> does not exist and/or is not a file!" unless -f $file;
for my $directive (@ARGV) {
my $value = get_directive $file, $directive, '';
if (-t STDOUT) {
print_format "<|GREEN $directive|>: $value\n";
} else {
say $value;
}
}