Skip to content

feat: highlight concise backtick text - #609

Draft
LuLaValva wants to merge 1 commit into
mainfrom
llavalva-M451495HWX-marko-concise-vxgunp
Draft

LuLaValva wants to merge 1 commit into
mainfrom
llavalva-M451495HWX-marko-concise-vxgunp

Conversation

@LuLaValva

Copy link
Copy Markdown
Member

Highlights backtick text in concise mode (htmljs-parser#260): both the one-line form and the block form closed by a line of the same backticks, for html, script, style, less, scss and html-comment tags.

The grammar change is mostly widening existing rules. The -- block rules accept a backtick run too, and the line rules for each tag kind got a backtick counterpart. The two line forms now share one rule for their content, which is why part of the diff is a move.

Two behaviors worth knowing:

  • A tag no longer stays open across a line that starts with a backtick, so a new text block can start at the left edge. script and JS/TS style tags are the exception, because there such a line can continue a template literal.
  • In plain CSS style tags, backtick text on the very first selector line can't be told apart from the selector and stays unhighlighted.

I compared it with the old grammar on every .marko file across the workspace and the docs samples, and checked the highlighted text lines against the parser on generated templates. Existing files highlight the same as before.

Generated with Claude Code

Backticks begin concise text like hyphens do, as a line form and as a block
form that a line of the same backticks closes, for html, script, style, less,
scss and html-comment tags. The line forms share one rule for their content.
The unenclosed attribute list ends at a backtick that follows whitespace. A
tag no longer stays open across a line that starts with a backtick, except
script and js/ts style tags, where such a line can continue a template literal.

Co-Authored-By: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant