Add script to test dircolors file

This Perl script reads a valid dircolors configuration file and prints
the colorscheme used by 'ls --color' for each file type (and extension).

Error checking is non-existent. The script assumes that your dircolors
file is valid input for the dircolors program.
vimbundler
nirenjan 2013-01-21 22:09:50 -08:00
parent 384060f13e
commit 91628fe781
1 changed files with 55 additions and 0 deletions

View File

@ -0,0 +1,55 @@
#!/usr/bin/perl
# A utility script to test out dircolors settings without reloading
# Usage: dircolortest <dircolors file>
if ($#ARGV < 0) {
die "Usage: $0 <dircolors file>\n";
}
if ($#ARGV > 0) {
warn "Ignoring additional command line arguments\n";
}
# Open the file and get the handle
open DCFILE, $ARGV[0] or
die "Cannot open dircolors file $ARGV[0]! $!\n";
$line_counter = 0;
while ($line = <DCFILE>) {
chomp $line;
# Strip off any comments
$line =~ s/#.*$//;
# Strip off leading and trailing whitespace
$line =~ s/^\s*//;
$line =~ s/\s*$//;
if ($line ne '') {
($type, $format) = split /\s+/, $line;
# Ignore the TERM lines, we don't care about them here
next if ($type eq 'TERM');
# Just a little enhancement, if the type begins with a .
if ($type =~ m/^\./) {
$type = "*$type";
}
print "\033[${format}m$type\033[m";
$line_counter = $line_counter + 1;
if ($line_counter == 8) {
print "\n";
$line_counter = 0;
} else {
print "\t";
}
}
}
print "\n" if ($line_counter != 0);
close DCFILE;