mirror of
https://github.com/erusev/parsedown.git
synced 2023-08-10 21:13:06 +03:00
Remove meaningless interrupt check
Interrupted implies previousEmptyLines > 0 in incoming Context
This commit is contained in:
parent
6f5780abfd
commit
dac6b01d1a
@ -15,7 +15,7 @@ use Erusev\Parsedown\State;
|
|||||||
|
|
||||||
final class BlockQuote implements ContinuableBlock
|
final class BlockQuote implements ContinuableBlock
|
||||||
{
|
{
|
||||||
use ContinuableBlockDefaultInterrupt, BlockAcquisition;
|
use BlockAcquisition;
|
||||||
|
|
||||||
/** @var Lines */
|
/** @var Lines */
|
||||||
private $Lines;
|
private $Lines;
|
||||||
@ -64,7 +64,7 @@ final class BlockQuote implements ContinuableBlock
|
|||||||
*/
|
*/
|
||||||
public function advance(Context $Context)
|
public function advance(Context $Context)
|
||||||
{
|
{
|
||||||
if ($this->interrupted) {
|
if ($Context->previousEmptyLines() > 0) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ use Erusev\Parsedown\State;
|
|||||||
|
|
||||||
final class Comment implements ContinuableBlock
|
final class Comment implements ContinuableBlock
|
||||||
{
|
{
|
||||||
use ContinuableBlockDefaultInterrupt, BlockAcquisition;
|
use BlockAcquisition;
|
||||||
|
|
||||||
/** @var string */
|
/** @var string */
|
||||||
private $html;
|
private $html;
|
||||||
|
@ -1,28 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Erusev\Parsedown\Components\Blocks;
|
|
||||||
|
|
||||||
trait ContinuableBlockDefaultInterrupt
|
|
||||||
{
|
|
||||||
/** @var bool */
|
|
||||||
private $interrupted = false;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param bool $isInterrupted
|
|
||||||
*/
|
|
||||||
public function interrupted($isInterrupted)
|
|
||||||
{
|
|
||||||
$New = clone($this);
|
|
||||||
$New->interrupted = $isInterrupted;
|
|
||||||
|
|
||||||
return $New;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return bool
|
|
||||||
*/
|
|
||||||
public function isInterrupted()
|
|
||||||
{
|
|
||||||
return $this->interrupted;
|
|
||||||
}
|
|
||||||
}
|
|
@ -13,7 +13,7 @@ use Erusev\Parsedown\State;
|
|||||||
|
|
||||||
final class FencedCode implements ContinuableBlock
|
final class FencedCode implements ContinuableBlock
|
||||||
{
|
{
|
||||||
use ContinuableBlockDefaultInterrupt, BlockAcquisition;
|
use BlockAcquisition;
|
||||||
|
|
||||||
/** @var string */
|
/** @var string */
|
||||||
private $code;
|
private $code;
|
||||||
|
@ -13,7 +13,7 @@ use Erusev\Parsedown\State;
|
|||||||
|
|
||||||
final class IndentedCode implements ContinuableBlock
|
final class IndentedCode implements ContinuableBlock
|
||||||
{
|
{
|
||||||
use ContinuableBlockDefaultInterrupt, BlockAcquisition;
|
use BlockAcquisition;
|
||||||
|
|
||||||
/** @var string */
|
/** @var string */
|
||||||
private $code;
|
private $code;
|
||||||
|
@ -16,7 +16,7 @@ use Erusev\Parsedown\State;
|
|||||||
|
|
||||||
final class Markup implements ContinuableBlock
|
final class Markup implements ContinuableBlock
|
||||||
{
|
{
|
||||||
use ContinuableBlockDefaultInterrupt, BlockAcquisition;
|
use BlockAcquisition;
|
||||||
|
|
||||||
const REGEX_HTML_ATTRIBUTE = '[a-zA-Z_:][\w:.-]*+(?:\s*+=\s*+(?:[^"\'=<>`\s]+|"[^"]*+"|\'[^\']*+\'))?+';
|
const REGEX_HTML_ATTRIBUTE = '[a-zA-Z_:][\w:.-]*+(?:\s*+=\s*+(?:[^"\'=<>`\s]+|"[^"]*+"|\'[^\']*+\'))?+';
|
||||||
|
|
||||||
@ -59,7 +59,7 @@ final class Markup implements ContinuableBlock
|
|||||||
*/
|
*/
|
||||||
public function advance(Context $Context)
|
public function advance(Context $Context)
|
||||||
{
|
{
|
||||||
if ($this->interrupted) {
|
if ($Context->previousEmptyLines() > 0) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ use Erusev\Parsedown\State;
|
|||||||
|
|
||||||
final class Paragraph implements ContinuableBlock
|
final class Paragraph implements ContinuableBlock
|
||||||
{
|
{
|
||||||
use ContinuableBlockDefaultInterrupt, BlockAcquisition;
|
use BlockAcquisition;
|
||||||
|
|
||||||
/** @var string */
|
/** @var string */
|
||||||
private $text;
|
private $text;
|
||||||
@ -46,7 +46,7 @@ final class Paragraph implements ContinuableBlock
|
|||||||
*/
|
*/
|
||||||
public function advance(Context $Context)
|
public function advance(Context $Context)
|
||||||
{
|
{
|
||||||
if ($this->interrupted) {
|
if ($Context->previousEmptyLines() > 0) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ use Erusev\Parsedown\State;
|
|||||||
|
|
||||||
final class TList implements ContinuableBlock
|
final class TList implements ContinuableBlock
|
||||||
{
|
{
|
||||||
use ContinuableBlockDefaultInterrupt, BlockAcquisition;
|
use BlockAcquisition;
|
||||||
|
|
||||||
/** @var Lines[] */
|
/** @var Lines[] */
|
||||||
private $Lis;
|
private $Lis;
|
||||||
@ -152,7 +152,7 @@ final class TList implements ContinuableBlock
|
|||||||
*/
|
*/
|
||||||
public function advance(Context $Context)
|
public function advance(Context $Context)
|
||||||
{
|
{
|
||||||
if ($this->interrupted and \end($this->Lis)->isEmpty()) {
|
if ($Context->previousEmptyLines() > 0 and \end($this->Lis)->isEmpty()) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@ use Erusev\Parsedown\State;
|
|||||||
*/
|
*/
|
||||||
final class Table implements ContinuableBlock
|
final class Table implements ContinuableBlock
|
||||||
{
|
{
|
||||||
use ContinuableBlockDefaultInterrupt, BlockAcquisition;
|
use BlockAcquisition;
|
||||||
|
|
||||||
/** @var array<int, _Alignment|null> */
|
/** @var array<int, _Alignment|null> */
|
||||||
private $alignments;
|
private $alignments;
|
||||||
|
@ -11,15 +11,4 @@ interface ContinuableBlock extends Block
|
|||||||
* @return static|null
|
* @return static|null
|
||||||
*/
|
*/
|
||||||
public function advance(Context $Context);
|
public function advance(Context $Context);
|
||||||
|
|
||||||
/**
|
|
||||||
* @param bool $isInterrupted
|
|
||||||
* @return static
|
|
||||||
*/
|
|
||||||
public function interrupted($isInterrupted);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return bool
|
|
||||||
*/
|
|
||||||
public function isInterrupted();
|
|
||||||
}
|
}
|
||||||
|
@ -137,14 +137,6 @@ final class Parsedown
|
|||||||
$CurrentBlock = null;
|
$CurrentBlock = null;
|
||||||
|
|
||||||
foreach ($Lines->contexts() as $Context) {
|
foreach ($Lines->contexts() as $Context) {
|
||||||
if (
|
|
||||||
isset($CurrentBlock)
|
|
||||||
&& $CurrentBlock instanceof ContinuableBlock
|
|
||||||
&& $Context->previousEmptyLines() > 0
|
|
||||||
) {
|
|
||||||
$CurrentBlock = $CurrentBlock->interrupted(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
$Line = $Context->line();
|
$Line = $Context->line();
|
||||||
|
|
||||||
if (
|
if (
|
||||||
|
Loading…
x
Reference in New Issue
Block a user