mirror of https://github.com/nirenjan/dotfiles.git
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
parent
384060f13e
commit
91628fe781
|
@ -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;
|
Loading…
Reference in New Issue