oxidecomputer / oxidecomputer/prettier-plugin-asciidoc

trailingPlusPolicy recognises a refused passthrough from word count and glue instead of a recorded refusal

Open
#338 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

mechanism:inline-vocabulary obligation:model-fidelity
Dominant language
TypeScript
Stars
0
Forks
1
PR merge metrics
No merged PRs in 30d

Description

Split from #325, row R8 (verified at main ffdc1860).

The question: was this passthrough refused?

The reader's answer: nothing is recorded. scanPassthroughs (src/parse/inline/passthrough.ts) knows which candidates it refused and discards that.

The second answerer: src/print/text-edges.ts l.601, gluedToPredecessor = words.length === 1 && lead === "glue", which recognises "this + is the leftover of a passthrough the scan refused" from the shape of the surrounding words. The comment in passthrough.ts says the escape's correctness for \\+*b*+ DEPENDS on this arm.

Closes when: the reader records the refusal on the text node (a new recorded fact: fact-inventory row and parity family owed) and the printer reads it, with the word-shape test deleted; or a written reason the refusal is not a fact of the source (in which case the arm stays and this closes by decision). Red-first pin: a one-word glued text that is not a refused passthrough.

Related: #325 (the catalog), #90 (the class), #256 (escaped mark normal form).

Contributor guide

Open the contributing guide

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 in src/parse/inline/passthrough.ts and src/print/text-edges.ts, tracing the refused-candidate path and the gluedToPredecessor arm. Add the red-first coverage for a one-word glued text that is not a refused passthrough, then determine whether the refusal is recorded and consumed as a fact. Done means the word-shape test is deleted, or a written decision explains why the existing arm remains.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
tooling
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.