52 lines
1.2 KiB
PHP
52 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace dokuwiki\Parsing\ParserMode;
|
|
|
|
class Quotes extends AbstractMode
|
|
{
|
|
|
|
/** @inheritdoc */
|
|
public function connectTo($mode)
|
|
{
|
|
global $conf;
|
|
|
|
$ws = '\s/\#~:+=&%@\-\x28\x29\]\[{}><"\''; // whitespace
|
|
$punc = ';,\.?!';
|
|
|
|
if ($conf['typography'] == 2) {
|
|
$this->Lexer->addSpecialPattern(
|
|
"(?<=^|[$ws])'(?=[^$ws$punc])",
|
|
$mode,
|
|
'singlequoteopening'
|
|
);
|
|
$this->Lexer->addSpecialPattern(
|
|
"(?<=^|[^$ws]|[$punc])'(?=$|[$ws$punc])",
|
|
$mode,
|
|
'singlequoteclosing'
|
|
);
|
|
$this->Lexer->addSpecialPattern(
|
|
"(?<=^|[^$ws$punc])'(?=$|[^$ws$punc])",
|
|
$mode,
|
|
'apostrophe'
|
|
);
|
|
}
|
|
|
|
$this->Lexer->addSpecialPattern(
|
|
"(?<=^|[$ws])\"(?=[^$ws$punc])",
|
|
$mode,
|
|
'doublequoteopening'
|
|
);
|
|
$this->Lexer->addSpecialPattern(
|
|
"\"",
|
|
$mode,
|
|
'doublequoteclosing'
|
|
);
|
|
}
|
|
|
|
/** @inheritdoc */
|
|
public function getSort()
|
|
{
|
|
return 280;
|
|
}
|
|
}
|