From d23b160b390298a961029bd9ccb8f6ef0e45a98b Mon Sep 17 00:00:00 2001 From: Andrey Savchenko Date: Tue, 8 Sep 2020 20:30:31 +0300 Subject: [PATCH] Colorized file name and line in console output Fixes #4129 --- src/Psalm/Report/ConsoleReport.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Psalm/Report/ConsoleReport.php b/src/Psalm/Report/ConsoleReport.php index 7689adb8f1f..9dfff79c5dc 100644 --- a/src/Psalm/Report/ConsoleReport.php +++ b/src/Psalm/Report/ConsoleReport.php @@ -5,6 +5,8 @@ use Psalm\Report; use Psalm\Internal\Analyzer\TaintNodeData; use function substr; +use function basename; +use function strlen; class ConsoleReport extends Report { @@ -34,10 +36,12 @@ private function format(\Psalm\Internal\Analyzer\IssueData $issue_data): string } $issue_reference = ' (see ' . $issue_data->link . ')'; + $file_basename = basename($issue_data->file_name); + $file_path = substr($issue_data->file_name, 0, -strlen($file_basename)); $issue_string .= ': ' . $issue_data->type - . ' - ' . $issue_data->file_name . ':' . $issue_data->line_from . ':' . $issue_data->column_from - . ' - ' . $issue_data->message . $issue_reference . "\n"; + . ' - ' . $file_path . "\e[1;31m" . $file_basename . ':' . $issue_data->line_from . "\e[0m" + . ':' . $issue_data->column_from . ' - ' . $issue_data->message . $issue_reference . "\n"; if ($issue_data->taint_trace) {