Skip to content

adjust for quotation marks in position of attributes - #803

Merged
dqnykamp merged 4 commits into
Doenet:mainfrom
dqnykamp:attribute-position
Dec 31, 2025
Merged

adjust for quotation marks in position of attributes#803
dqnykamp merged 4 commits into
Doenet:mainfrom
dqnykamp:attribute-position

Conversation

@dqnykamp

@dqnykamp dqnykamp commented Dec 24, 2025

Copy link
Copy Markdown
Member

This PR adjusts the position of attributes so that they do not include the quotation marks. Importantly, this fixes the position of macros (or references) inside attributes.

Fixes #547

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes the position information for text and macro nodes within XML/HTML attribute values to exclude the surrounding quotation marks. Previously, the position data included the quotes, but now it correctly points only to the content inside the quotes.

Key Changes:

  • Added an adjustForQuotes parameter to the lezerNodeToPosition utility function that adjusts position offsets by +1 for start and -1 for end to skip quotation marks
  • Applied this adjustment when computing positions for attribute value children
  • Added test coverage for both text nodes and macro nodes within attribute values

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
packages/parser/src/lezer-to-dast/lezer-to-dast-utils.ts Added optional adjustForQuotes parameter to lezerNodeToPosition function with logic to adjust offsets to exclude surrounding quotes
packages/parser/src/lezer-to-dast/lezer-to-dast.ts Applied the quote adjustment when computing position for attribute value text nodes by passing true as the third argument
packages/parser/test/dast-advanced.test.ts Added two test cases verifying correct position calculation for text nodes and macros within attribute values

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@dqnykamp
dqnykamp requested a review from siefkenj December 24, 2025 04:22
@dqnykamp

Copy link
Copy Markdown
Member Author

@siefkenj, I hope it is OK if I merge this in shortly.

@dqnykamp
dqnykamp merged commit 2ee7ce9 into Doenet:main Dec 31, 2025
6 checks passed
@dqnykamp
dqnykamp deleted the attribute-position branch December 31, 2025 20:58
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.

Incorrect dast position of attribute contents

2 participants