Skip to content

Commit 5ce17e2

Browse files
authored
Merge pull request #533 from phpDocumentor/bugfix-code-role
[BUGFIX] Content of the code role must not be escaped
2 parents 0d852c6 + 786a040 commit 5ce17e2

File tree

6 files changed

+17
-7
lines changed

6 files changed

+17
-7
lines changed

packages/guides-restructured-text/src/RestructuredText/Parser/Productions/InlineRules/TextRoleRule.php

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,7 @@ public function apply(DocumentParserContext $documentParserContext, InlineLexer
7070
break;
7171
case InlineLexer::ESCAPED_SIGN:
7272
$part .= substr($token->value, 1);
73-
if ($token->value === '\`') {
74-
$rawPart .= '`';
75-
} else {
76-
$rawPart .= $token->value;
77-
}
73+
$rawPart .= $token->value;
7874

7975
break;
8076
default:

packages/guides-restructured-text/src/RestructuredText/TextRoles/LiteralTextRole.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,12 @@ class LiteralTextRole extends BaseTextRole
1111
{
1212
protected string $name = 'literal';
1313

14+
/** @return string[] */
15+
public function getAliases(): array
16+
{
17+
return ['code'];
18+
}
19+
1420
public function processNode(
1521
DocumentParserContext $documentParserContext,
1622
string $role,

packages/guides-restructured-text/tests/unit/Parser/Productions/InlineRules/TextRoleRuleTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public static function roleFormatProvider(): Generator
3939
':role:`con\`tent`',
4040
'role',
4141
'con`tent',
42-
'con`tent',
42+
'con\`tent',
4343
];
4444
}
4545

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<p><code>Backslashes are not escaped \\ \` \&lt; in literals</code></p>
2+
<p><code>Backslashes are not escaped \\ \` \&lt; in default text roles</code></p>
3+
<p><code>Backslashes are not escaped \\ \` \&lt; in code</code></p>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
``Backslashes are not escaped \\ \` \< in literals``
2+
3+
`Backslashes are not escaped \\ \` \< in default text roles`
4+
5+
:code:`Backslashes are not escaped \\ \` \< in code`
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<p>Testing that this is escaped: &lt;script&gt;</p>
22
<p>*4, class_, *args, **kwargs, `TeX-quoted&#039;, *ML, *.txt, ``random``</p>
3-
<p>Literals containing backslashes: <code>App\Entity\Example</code>, <code>some`thing</code>.</p>
3+
<p>Literals containing backslashes: <code>App\Entity\Example</code>, <code>some\`thing</code>.</p>
44
<p>Escaped whitespaces are removed, like <strong>re</strong>Structured.</p>
55
<p>Other escape characters are <strong>ignored</strong>, but these ones aren&#039;t: \stdClass, <strong>\stdClass</strong></p>

0 commit comments

Comments
 (0)