Created
January 23, 2013 05:08
-
-
Save nirenjan/4602208 to your computer and use it in GitHub Desktop.
A utility script to test out dircolors settings without reloading LS_COLORS
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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 following lines, we don't care about them here | |
next if (($type eq 'TERM') || ($type eq 'COLOR') || | |
($type eq 'OPTIONS') || ($type eq 'EIGHTBIT')); | |
# 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; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment