Skip to content

(PHP Template) A single apostrophe ' breaks php-template highlighting #4152

Open
@samuelgfeller

Description

Describe the issue
An apostrophe ' that exists on its own without being closed seems to break highlighting of everything that comes after it even if it's in a comment or escaped but only with the language php-template. With php it works fine as it should.

Funnily if anywhere later this ' is "closed" it works again.

Which language seems to have the issue?
php-template

Are you using highlight or highlightAuto?
Highlight, not auto.

Sample Code to Reproduce
Code: See expected behaviour

Not highlighted:

<?php
// This won't be highlighted unless there is another 
// single apostrophe later.
?>
<p>Some HTML <?= '\code' ?></p>

image

Correctly highlighted:

<?php
// This won't be highlighted unless there is another 
// single apostrophe later.
?>
<p>Some HTML <?= '\'code' ?></p>

image

Expected behavior
Github highlights the php bits:

<?php
// This won't be highlighted unless there is another 
// single apostrophe later.
?>
<p>Some HTML <?= '\code' ?></p>

I expect it to highlight the code correctly even if not every ' is closed. In a comment for instance, English words allow for shortcuts with ' for instance "don't" or "can't".

Additional observations
Its breaks only if the apostrophe is in PHP code (not HTML) and if it's not in a code block comment /* such as this, that won't cause any troubles */.
It's always everything that comes after it that is broken not before so if half the file doesn't contain a ' and then suddenly a php part with a ' either in a // comment ' or in a string 'string \' with an apostrophe' the bottom half of the file is not highlighted.

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions