Merge pull request #3627 from Icinga/fix/doc-files-must-not-end-with-line-feed
Doc: Respect last line if it does not end with a line feed too
This commit is contained in:
commit
7e749d8c53
|
@ -158,19 +158,19 @@ class DocParser
|
||||||
$tree = new SimpleTree();
|
$tree = new SimpleTree();
|
||||||
foreach (new RecursiveIteratorIterator($this->docIterator) as $filename) {
|
foreach (new RecursiveIteratorIterator($this->docIterator) as $filename) {
|
||||||
$file = new SplFileObject($filename);
|
$file = new SplFileObject($filename);
|
||||||
$lastLine = null;
|
$file->setFlags(SplFileObject::READ_AHEAD);
|
||||||
$stack = new SplStack();
|
$stack = new SplStack();
|
||||||
$cachingIterator = new CachingIterator($file, CachingIterator::TOSTRING_USE_CURRENT);
|
$cachingIterator = new CachingIterator($file);
|
||||||
$insideFencedCodeBlock = false;
|
$insideFencedCodeBlock = false;
|
||||||
|
|
||||||
for ($cachingIterator->rewind(); $line = $cachingIterator->valid(); $cachingIterator->next()) {
|
for ($cachingIterator->rewind(); $cachingIterator->valid(); $cachingIterator->next()) {
|
||||||
$fileIterator = $cachingIterator->getInnerIterator();
|
|
||||||
$line = $cachingIterator->current();
|
$line = $cachingIterator->current();
|
||||||
$header = null;
|
$header = null;
|
||||||
|
|
||||||
if (substr($line, 0, 3) === '```') {
|
if (substr($line, 0, 3) === '```') {
|
||||||
$insideFencedCodeBlock = ! $insideFencedCodeBlock;
|
$insideFencedCodeBlock = ! $insideFencedCodeBlock;
|
||||||
} elseif (! $insideFencedCodeBlock) {
|
} elseif (! $insideFencedCodeBlock) {
|
||||||
|
$fileIterator = $cachingIterator->getInnerIterator();
|
||||||
$header = $this->extractHeader($line, $fileIterator->valid() ? $fileIterator->current() : null);
|
$header = $this->extractHeader($line, $fileIterator->valid() ? $fileIterator->current() : null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue