X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fgit-codeowners;a=blobdiff_plain;f=lib%2FApp%2FCodeowners.pm;h=efe86f7e88e428bb76108d78c17183300844b12e;hp=eebe058be5e9e61a1d6ecb29e0f8f8a4f406b698;hb=25372f260d4e7e1919a9dfec018476321d1df8e3;hpb=67e86f990f2556f12465052911eb7b96a03b8dcc diff --git a/lib/App/Codeowners.pm b/lib/App/Codeowners.pm index eebe058..efe86f7 100644 --- a/lib/App/Codeowners.pm +++ b/lib/App/Codeowners.pm @@ -275,7 +275,7 @@ sub _expand_filter_args { for (my $i = 0; $i < @filters; ++$i) { my $filter = $filters[$i] or next; - if ($filter =~ /^(?:nocolor|color:([0-9a-fA-F]{6}))$/) { + if ($filter =~ /^(?:nocolor|color:([0-9a-fA-F]{3,6}))$/) { $color_override = $1 || ''; splice(@filters, $i, 1); redo; @@ -292,6 +292,12 @@ sub _colored { # ansifg honors NO_COLOR already, but ansi_reset does not. return $text if $ENV{NO_COLOR}; + $rgb =~ s/^(.)(.)(.)$/$1$1$2$2$3$3/; + if ($rgb !~ m/^[0-9a-fA-F]{6}$/) { + warn "Color value must be in 'ffffff' or 'fff' form.\n"; + return $text; + } + my ($begin, $end) = (ansifg($rgb), ansi_reset); return "${begin}${text}${end}"; }