Skip to content

Plumb settings.parser.fancyLists through myst.yml (project-level opt-out for fancy-list parsing) #75

Description

@mmcky

Split out from #51 (now closed) so it isn't orphaned.

PR #50 registers fancy lists as a parser extension with an off switch — mystParse(content, { extensions: { fancyLists: false } }) — but that option isn't reachable from a project's myst.yml: getMystParserOptions only passes frontmatter and math (packages/myst-cli/src/process/myst.ts), and the settings schema's PARSER_SETTINGS only knows dollarmath (packages/myst-frontmatter/src/settings/validatorsParser.ts).

That matters for the silent-downgrade class of document surfaced in #74: prose that uses literal (a) / (i) as text (not list markers) gets consumed by the fancy-list parser, and the only current escape is escaping every marker (\(a\)). Rendering is fixed as of quantecon-theme v2.2.0, but a project-level opt-out is still the right tool for documents that never want fancy-list parsing.

Proposed: plumb settings.parser.fancyLists: false through, mirroring the existing dollarmath plumbing — add fancyLists to PARSER_SETTINGS / ParserSettings, and have getMystParserOptions forward it into the parser's extensions. Small, self-contained; worth folding into the fancy-lists upstream candidate in quantecon/UPSTREAM-PRS.yml when that PR goes up, since upstream reviewers will reasonably ask for a config off switch on a default-on parser change.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions