8000 [Console] SymfonyStyle: Fix alignment/prefixing of multi-line comments · symfony/symfony@71dfb1f · GitHub
[go: up one dir, main page]

Skip to content

Commit 71dfb1f

Browse files
committed
[Console] SymfonyStyle: Fix alignment/prefixing of multi-line comments
CS Fixes Add tests Add docblock
1 parent 56b5f41 commit 71dfb1f

File tree

4 files changed

+31
-7
lines changed

4 files changed

+31
-7
lines changed

src/Symfony/Component/Console/Style/SymfonyStyle.php

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -170,16 +170,18 @@ public function text($message)
170170
}
171171

172172
/**
173-
* {@inheritdoc}
173+
* Formats a command comment.
174+
*
175+
* @param string|array $message
174176
*/
175177
public function comment($message)
176178
{
177-
$this->autoPrependText();
178-
179179
$messages = is_array($message) ? array_values($message) : array($message);
180-
foreach ($messages as $message) {
181-
$this->writeln(sprintf(' // %s', $message));
180+
foreach ($messages as &$message) {
181+
$message = $this->getFormatter()->format($message);
182182
}
183+
184+
$this->block($messages, null, null, ' // ');
183185
}
184186

185187
/**
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?php
2+
3+
use Symfony\Component\Console\Input\InputInterface;
4+
use Symfony\Component\Console\Output\OutputInterface;
5+
use Symfony\Component\Console\Tests\Style\SymfonyStyleWithForcedLineLength;
6+
7+
//Ensure that all lines are aligned to the begin of the first one and start with '//' in a very long line comment
8+
return function (InputInterface $input, OutputInterface $output) {
9+
$output = new SymfonyStyleWithForcedLineLength($input, $output);
10+
$output->comment(
11+
'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum'
12+
);
13+
};
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
2+
// Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
3+
// aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
4+
// Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur
5+
// sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum
6+

src/Symfony/Component/Console/Tests/Fixtures/Style/SymfonyStyle/output/output_5.txt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,8 @@ Lorem ipsum dolor sit amet
1111
consectetur adipiscing elit
1212

1313
Lorem ipsum dolor sit amet
14-
// Lorem ipsum dolor sit amet
15-
// consectetur adipiscing elit
14+
15+
// Lorem ipsum dolor sit amet
16+
//
17+
// consectetur adipiscing elit
18+

0 commit comments

Comments
 (0)
0