Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1157800
| From | Joe Perches <joe@perches.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH 2/3] checkpatch: colorize output to terminal |
| Date | 2015-06-03 18:00 +0200 |
| Message-ID | <pxjfc-5DK-19@gated-at.bofh.it> (permalink) |
| References | <pxjfb-5DK-1@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
Add optional colors to make seeing message types a bit easier.
Add --color command line switch, default:on
Error is RED, warning is YELLOW, check is GREEN.
The message type, if shown, is BLUE.
Signed-off-by: Joe Perches <joe@perches.com>
---
scripts/checkpatch.pl | 27 +++++++++++++++++++++------
1 file changed, 21 insertions(+), 6 deletions(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index eaa76bd..cef2cd4 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -9,6 +9,7 @@ use strict;
use POSIX;
use File::Basename;
use Cwd 'abs_path';
+use Term::ANSIColor qw(:constants);
my $P = $0;
my $D = dirname(abs_path($P));
@@ -49,6 +50,7 @@ my $min_conf_desc_length = 4;
my $spelling_file = "$D/spelling.txt";
my $codespell = 0;
my $codespellfile = "/usr/local/share/codespell/dictionary.txt";
+my $color = 1;
sub help {
my ($exitcode) = @_;
@@ -93,6 +95,7 @@ Options:
--codespell Use the codespell dictionary for spelling/typos
(default:/usr/local/share/codespell/dictionary.txt)
--codespellfile Use this codespell dictionary
+ --color Use colors when output is STDOUT (default: on)
-h, --help, --version display this help and exit
When FILE is - read standard input.
@@ -153,6 +156,7 @@ GetOptions(
'test-only=s' => \$tst_only,
'codespell!' => \$codespell,
'codespellfile=s' => \$codespellfile,
+ 'color!' => \$color,
'h|help' => \$help,
'version' => \$help
) or help(1);
@@ -1672,15 +1676,26 @@ sub report {
(defined $tst_only && $msg !~ /\Q$tst_only\E/)) {
return 0;
}
- my $line;
+ my $output = '';
+ if (-t STDOUT && $color) {
+ if ($level eq 'ERROR') {
+ $output .= RED;
+ } elsif ($level eq 'WARNING') {
+ $output .= YELLOW;
+ } else {
+ $output .= GREEN;
+ }
+ }
+ $output .= $prefix . $level . ':';
if ($show_types) {
- $line = "$prefix$level:$type: $msg\n";
- } else {
- $line = "$prefix$level: $msg\n";
+ $output .= BLUE if (-t STDOUT && $color);
+ $output .= "$type:";
}
- $line = (split('\n', $line))[0] . "\n" if ($terse);
+ $output .= RESET if (-t STDOUT && $color);
+ $output .= ' ' . $msg . "\n";
+ $output = (split('\n', $output))[0] . "\n" if ($terse);
- push(our @report, $line);
+ push(our @report, $output);
return 1;
}
--
2.1.2
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH 0/3] checkpatch: output style changes Joe Perches <joe@perches.com> - 2015-06-03 18:00 +0200
[PATCH 2/3] checkpatch: colorize output to terminal Joe Perches <joe@perches.com> - 2015-06-03 18:00 +0200
Re: [PATCH 2/3] checkpatch: colorize output to terminal Petr Mladek <pmladek@suse.cz> - 2015-06-04 14:10 +0200
[PATCH 1/3] checkpatch: Improve output with multiple command-line files Joe Perches <joe@perches.com> - 2015-06-03 18:00 +0200
Re: [PATCH 1/3] checkpatch: Improve output with multiple command-line files Petr Mladek <pmladek@suse.cz> - 2015-06-04 14:10 +0200
Re: [PATCH 1/3] checkpatch: Improve output with multiple command-line files Joe Perches <joe@perches.com> - 2015-06-04 14:20 +0200
[PATCH 3/3] checkpatch: Add --showfile to allow input via pipe to show filenames Joe Perches <joe@perches.com> - 2015-06-03 18:00 +0200
Re: [PATCH 3/3] checkpatch: Add --showfile to allow input via pipe to show filenames Petr Mladek <pmladek@suse.cz> - 2015-06-04 14:20 +0200
csiph-web