PrismJS / PrismJS/prism

Perl keywords are highlighted in a here-doc

Open
#3,645 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

language-definitions
Dominant language
JavaScript
Stars
13k
Forks
1.4k
Avg merge
15h 36m
Merged PRs (30d)
3

Description

Information

  • Language: Perl
  • Plugins: "Perl"

Description

This example is from Wikipedia https://en.wikipedia.org/wiki/Here_document#Perl :

my $sender = "Buffy the Vampire Slayer";
my $recipient = "Spike";

print <<"END";

Dear $recipient,

I wish you to leave Sunnydale and never return.

Not Quite Love,
$sender

END

PrismJS highlights and and return as if the body is parsed as Perl code:

prismjsperl

The Wiki highlighting is closer to expectations:

wikipede

Both are still somewhat incorrect, but the wiki style is spiritually closer than PrismJS

Code snippet

Test page

The code being highlighted incorrectly.
my $sender = "Buffy the Vampire Slayer";
my $recipient = "Spike";

print <<"END";

Dear $recipient,

I wish you to leave Sunnydale and never return.

Not Quite Love,
$sender

END

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Perl plugin and the linked PrismJS test page, using the provided here-document example to reproduce the highlighting. Add regression coverage for the example and adjust the grammar so the here-document body is not parsed as Perl code; done means keywords such as "and" and "return" are no longer highlighted there.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, perl
Domain
tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.