diff --git a/scripts/dircolortest b/scripts/dircolortest new file mode 100755 index 0000000..f5a2db1 --- /dev/null +++ b/scripts/dircolortest @@ -0,0 +1,55 @@ +#!/usr/bin/perl +# A utility script to test out dircolors settings without reloading +# Usage: dircolortest + +if ($#ARGV < 0) { + die "Usage: $0 \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 = ) { + 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;