-
Notifications
You must be signed in to change notification settings - Fork 1
Plan 197 PoC: goldmark link-ref BlockReader reuse, +plan 198 #369
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
201 commits
Select commit
Hold shift + click to select a range
afd918c
Plan 197: PoC reusable BlockReader in link-ref transformer
claude a6cfc40
Address PR #369 review: clear pinned source on Put, preserve defaults
claude c3986e5
Raise linkrefparagraph coverage to 90.5 % for codecov/patch gate
claude d3ddbb9
Push linkrefparagraph patch coverage past 96 % project baseline
claude a958f38
Close codecov patch gap: substituteLinkRef + angle-then-title
claude ffad6a5
Add goldmark MIT license to top-level LICENSE third-party section
claude 13fce79
Vendor goldmark@v1.8.2 into internal/goldmark via go.mod replace
claude 38fb9f8
Patch CodeQL alerts in vendored goldmark entity decoders
claude 4bc9b90
CodeQL: use math.MaxInt32 form so the rule recognises the bound
claude 5d1fbc7
CodeQL: extract the cast into a proven-safe else branch
claude 73e35ce
Move goldmark fork to pkg/, add unit tests for fork-specific changes
claude 4efc5bd
Restore upstream goldmark test suite and fixture corpora
claude 990c55f
Cover ast & extension/ast Type/Kind/Dump/marker methods
claude 407ef4b
Cover util.go helper funcs: WriteString, IsEscapedPunctuation, Visual…
claude 68d32c8
Cover html.With* options + IsDangerousURL
claude 7ab029e
Cover parser internals: Delimiter, Reference, Context, AddOptions
claude ffa038d
Cover text.Reader: FindClosure, PrecendingCharacter, Match/FindSubMat…
claude 1434c19
Slim goldmark vendor: drop testutil, unused extensions, upstream tests
claude 6236d81
Cover retained extensions + parser corpus
claude 7e65b7c
Cover util_cjk, html5entities, HTML block + raw HTML parsers
claude b4520a6
Cover renderer/html: comprehensive node-renderer corpus
claude 1a4063f
Cover footnote/table options + attribute syntax
claude c18d838
Address Copilot review comments: typos + Unshift panic + hex overflow
claude 340ff6d
Fix util_test docstring: 'somewhere in result' was misleading
claude a401637
Address review: stale go:generate, link_ref offset rationale, multi-d…
claude c3ccfb1
Clarify sameByteSlice doc: it also checks length equivalence
claude 4cb3f89
Assert BlockReader reuse and reallocation in link_ref unit tests
claude a1b4b1f
Optimise Segments.Unshift; drop dead tab branch in parseListItem
claude e3ea872
Cover renderer/html options + parser link reference forms
claude 3183cef
Cover parser.Context surface + util misc helpers
claude a010668
Cover markdown top-level Convert + table option dispatchers
claude 844ec6a
Cover HTML block multi-line close patterns
claude 46b7f92
Cover AST node methods + raw-html/setext/code-span/attribute edge cases
claude 56ab5cd
Cover footnote-options-as-renderer-options + East Asian widths + sete…
claude 031aef8
Cover util.go heavy hitters: URLEscape, case folding, entity names, e…
claude d98593a
Cover more AST inline marker methods
claude e28a94f
Cover list edge cases + AST Dump branches
claude 219f614
Cover extension predicates and AST Dump
claude abbeb27
Cover renderer/html renderString via manual AST String node
claude de563be
Cover renderer attribute paths via manual AST nodes
claude 213ab3f
Cover blockReader direct API: LineOffset, AdvanceToEOL, SkipBlankLine…
claude 84ca0cc
Cover parser predicates + attributes.Find + WithAutoHeadingID
claude f7864a5
Cover footnote block-parser predicates and NewFootnote Extender
claude ba4d13d
Cover util.FindClosure across nesting/escape/code-span branches
claude 17ceadf
Cover ast.BaseNode OwnerDocument nested + SortChildren + SetAttribute
claude a448833
Cover footnote template slow path + attribute string escapes + AutoLi…
claude b147bf2
Cover Segment.TrimLeftSpaceWidth branches + delimiter clearing on unc…
claude 9243ec7
Cover Document.Meta/SetMeta/AddMeta + HTMLBlock.Dump + TextBlock.Pos
claude f7be00b
Cover extension renderer Attributes() != nil branches
claude 1837cf5
Add direct ParagraphParser predicate test + tab-indented code-block c…
claude 8465750
Cross 90% coverage: setext heading Attribute + AutoHeadingID branches
claude 028b54d
Cover escapeRune branches + Table.Dump non-empty alignments
claude 6cf7a21
Cover renderHTMLBlock safe/unsafe x entering/exiting matrix
claude bf54623
Cover CSS3Draft East Asian line-break Rule 1/2/3/4 branches
claude c498cbb
Add WithHeadingAttribute to direct-constructor heading-option test an…
claude 67a9da5
Cover Attributes.findUpdate hit/miss via multi-class heading attributes
claude ae5bf45
Cover Context.String + IsInLinkLabel after parse
claude d8b7aa6
Cover NewTable Extender + table options as renderer.Option
claude 38537fe
Cover blockquote process branches + footnote Open early-return paths
claude 2b6cdc0
Cover List.Dump ordered branch + LinkReferenceDefinition.Pos + Docume…
claude 34e386d
Add blockReader LineOffset tab-expansion test
claude f3c0663
Cover util.DedentPositionPadding + FindEmailIndex
claude 527482a
Cover Text.Dump flag-string branches (Soft/Hard/Raw)
claude 9a90d48
Cover taskCheckBoxParser.Parse early-return branches
claude 0045b0b
Cover extension HTML renderer constructors with options + empty defin…
claude 0147902
Cover code-span newline-trailing branch in renderCodeSpan
claude 1ec6603
Cover renderRawHTML safe/unsafe inline branches
claude 1d562bb
Cover renderTexts recursive branch + autolink email/mailto branches
claude 3748a38
Add blank-after-empty-list-item test corpus
claude e1209ba
Cover SetOptioner-cast branches via custom inline/transformer registr…
claude d83a387
Add direct tests for Segment.ConcatPadding + Segment.Between
claude ee7edc4
Cover WithFootnoteIDPrefixFunction.SetConfig via AddOptions
claude dfd1f19
Cover deeply-nested link/image patterns for pushLinkBottom stack
claude 59677f9
Cover multi-line reference label + overlong label rejection
claude ab836cd
Add comprehensive Markdown corpus test
claude 0f530c4
Cover URLEscape edge UTF-8 byte branches
claude afccf17
Cover FindEmailIndex all return-minus-1 branches
claude 91c107e
Add rare-syntax + edge-shape corpora to comprehensive test
claude 2c70635
Cover IndentPositionPadding branches: zero-width, tab, padding, insuf…
claude 910cf7f
Add ATX heading edge-case corpus (7+ hashes, trailing close)
claude 6a47a86
Add attribute parsing edge-case corpus (empty, invalid identifier, ne…
claude 118e95d
Direct-call predicate coverage for fenced code, html block, list item…
claude 3445d6f
Cover renderer.WithOption.SetConfig
claude 9126e8c
Cover String.SetRaw(false) branch
claude 36c1d08
Cover rare emphasis delimiter patterns in ProcessDelimiters
claude 43795c8
Add nested-bracket link corpus for linkLabelState linked-list
claude a71775a
Extend East Asian Simple mode test with text-emphasis-text across breaks
claude 415c91c
Cover RenderAttributes filter-miss + string value + data-prefix branches
claude d9121d3
Cover renderThematicBreak + renderAutoLink Attributes() != nil branches
claude dad571a
Cover Attribute() miss + no-attributes-map branches
claude e643ca9
Cover BlockParser SetOptioner cast via recordingBlockParser
claude 7e3b16d
Thread WithOption into the second NewParser to drive SetOptioner.SetO…
claude 84d8fc1
Add direct Reader.Peek test (EOF + first-byte)
claude 9b648d1
Extend rawHTML comment corpus with empty/3-line/unclosed variants
claude 2a08f36
Add fenced code block indentation corpus
claude a157dc6
Cover renderTextBlock NextSibling branch via nested tight list
claude 4683297
Add direct NewTableASTTransformer call
claude 090a9aa
Cross 94 % coverage: DefinitionTerm/Description Pos populated branch
claude 23b9795
Cover blockReader.Peek padding and EOF branches
claude c27d543
Add parseListItem not-list branch corpus
claude b80357e
Cover parseLastLineAttributes escape branches
claude fbcffd9
Cover parseLink early-return branches via malformed inline links
claude bbca9b4
Cover renderTableCell align/style override branches
claude d362f78
Cover renderFootnoteList Attributes branch via manual AST
claude fe0a214
Cover applyFootnoteTemplate %% branch separately
claude fa1e25a
Cover IDs.Generate multi-byte + empty-result default branches
claude d1fd396
Cover findClosureReader option combinations not reached via parse flow
claude efeb447
Cover NewSetextHeadingParser opts loop body
claude 70994fe
Add deep-indent list-item -> offseted-codeblock test corpus
claude 7c84ce7
Cover renderCodeSpan Attributes() != nil branch via manual AST
claude 3d9cd52
Extend Write entity test with overflow and malformed inputs
claude 47ec9c5
Cross 95 % coverage: String.Dump with-flags branch
claude d4d44a5
Cover parseUntil EOF-without-closer branch via unclosed PI/CDATA/decl…
claude 1847b08
Cover strikethroughParser.Parse early returns
claude 2ec23db
Add table column-mismatch corpus
claude 54641fc
Cover blockReader.PrecendingCharacter branches: line start, mid-line,…
claude d5e1e7d
Add DumpHelper block-node + nested-children tests
claude 5ddc62d
Cover definitionListParser.Open edge cases
claude 6353726
Extend attribute number shapes with capital E, +sign, and bail cases
claude 1e616c7
Add list-interrupts-paragraph rule tests
claude 716496d
Cover renderList start!=1 + renderLink Attributes branches
claude 09f4ba4
Add reader.Advance with-padding + newline-crossing test
claude 2df740f
Add ReplaceSpaces test corpus
claude 0d3d186
Cover DoFullUnicodeCaseFolding RuneError + continuation-byte branches
claude 5f74afe
Extend FirstNonSpacePosition tests with newline cases
claude e47aea1
Add quadruple-nested link corpus for popLinkBottom default branch
claude a1210f9
Add varied-shapes corpus covering heading/setext/list/code/HTML variants
claude ce6caea
Add empty-item-then-dedent + non-empty-item-then-dedent list tests
claude 654b496
Cover footnoteParser.Parse early-return paths
claude 888feaf
Add listItemParser.Continue branch corpus
claude 5205827
Add FindURLIndex smoke test corpus
claude d2c2701
Add footnote multi-ref + setext heading edge cases corpus
claude e8c6209
Add deep-edge-case corpus (HR variants, 999/1000-char ref labels, etc)
claude ed6192b
Add internal unit tests + panic-branch unit tests (test pyramid base)
claude 97e46d0
Add parser package internal_test for unit-level branch coverage
claude 2395867
Add direct parseListItem branch coverage unit test
claude 6d8d0fb
Add calcListOffset direct branch coverage
claude d53e969
Cross 96 % coverage: removeLinkLabelState all linked-list branches
claude ff9f724
Add internal ast tests for OwnerDocument-no-doc + Text-with-softbreak
claude bbaa2b7
Add containsLink + popLinkBottom direct unit tests
claude 39971c6
Add isTableDelim internal unit test
claude 604f828
Add applyFootnoteTemplate internal unit test (all 3 placeholder paths)
claude e263257
Cover setextHeadingParser.Close empty-tmp-paragraph branch
claude e7f0321
Add Delimiter.CalcComsumption all-branch unit test
claude 51cb07a
Cover Alignment.String default arm via internal test
claude f5ce418
Cover ReferenceLinkType.String default arm
claude 2fde072
Cover preserveLeadingTabInCodeBlock via direct unit test
claude 499ec81
Drive both preserveLeadingTabInCodeBlock branches via t.Run subtests
claude d830850
Cover paragraphParser.Close empty-paragraph removal branch
claude b91902b
Cover emphasisParser.Parse nil-return branch via direct call
claude f902bc0
Cover listItemParser.Open non-List-parent defensive branch
claude 4364dc0
Cover Segment.Between panic-on-stop-mismatch branch via recover
claude b982de6
Cover BaseNode.Text SoftLineBreak branch via Heading + mixed children
claude f40710c
Add link reference definition edge-shape corpus
claude 3ddd7cd
Cover isBlankLine all-branches via direct unit test
claude 4a1556c
Add footnoteBlockParser.Open no-block-offset internal test
claude 5b147c0
Cover ParseAttributes direct unit tests + clean up unused util import
claude 946e314
Cover renderTexts ast.String + recursive branches via internal test
claude e5385d9
Fix List.Dump ordered branch test by using '.' marker (IsOrdered chec…
claude a73d88b
Cover walkHelper all return paths via custom walker callbacks
claude 56a8106
Cover readRuneReader all branches: empty, invalid UTF-8, normal rune
claude ca6588e
Add findSubMatchReader internal test with no-match + optional-group c…
claude ce2929b
Drive listParser.Continue blank-line branches via direct state synthesis
claude 88b9113
Cover reader.Peek with-padding branch (returns space)
claude bf7f12d
Add blockReader.LineOffset tab+non-tab mixed branch test
claude 44df8dd
Cross 97 % coverage: atxHeadingParser.Open pos<0 defensive branch
claude 5edd72a
Cover blockReader.AdvanceToEOL no-trailing-newline branch
claude 88ba549
Cover EastAsianWidth N (Neutral) case via Devanagari Ha
claude 88c8f10
Add more listParser.Continue branch tests (marker change, blank-lines…
claude 0a578be
Cover eastAsianLineBreaksCSS3DraftSoftLineBreak all 4 CSS rules
claude 9cc29d7
Cover renderImage dangerous-URL + Title + Attributes + XHTML branches
claude f2742c5
Cover CodeBlock.Text and HTMLBlock.Text direct calls
claude 0cd7170
Cover HTMLBlock.Text with-ClosureLine branch
claude c207510
Cover Segment.Value padding + ForceNewline branches
claude 280acf6
Cover blockReader.PrecendingCharacter empty-segments branch
claude 08b1a59
Cover CRLF line-break branches in parseBlock
claude 76c8fa9
Add htmlBlockParser.Open all-types direct unit test
claude a6e7cab
Cover strikethrough/tasklist CloseBlock + definitionList Close (dead …
claude 1bb7acc
Drive listItemParser.Continue branches via direct synthesis
claude 4b88714
Drive listParser.Open early-return branches via direct synthesis
claude 5d3fb86
Cover htmlBlockParser.Open type 6/7 variants
claude aca2687
Add listItemParser.Open all-branches direct test
claude f3643ae
Cover ATX heading empty-content + all-hashes branches
claude 6486616
Cover parseComment empty-1/empty-2/multi-line/unclosed branches
claude 0f561b3
Cover URLEscape truncated multi-byte UTF-8 stop>len branch
claude e32ed03
Cover parser.NewReference + reference accessors (public-but-unused-in…
claude 8e62692
Address Copilot review threads: URLEscape hex-digit bug + test assert…
claude 2a584f6
Expose NewPooledParser for safe pool reuse + apply to index/schema pools
claude aef3efb
ci: add goldmark-fork-test job for the nested pkg/goldmark module
claude 44acdb7
test: cover NewPooledParser to satisfy codecov/patch gate
claude d275288
test: cover lint.NewPooledParser forwarder for codecov/patch
claude dbb575d
Address final review threads: cjk entity UTF-8 decode + parser_defaul…
claude 19f84cc
test: cover lint.NewParser forwarder (was 0%, now 100%)
claude 3edcfe3
Cover link.Parse defensive branches + malformed reference/title cases
claude 27df761
Cover ATX heading 'no space after hash' rejection branch
claude 06c24e8
Cover Writer.Write NUL-byte -> U+FFFD branch
claude 927230a
Cover URLEscape u8len-adjusted-to-0 + ATX no-space defensive branches
claude 212a132
Cover footnoteBlockParser.Open empty-body branch via no-newline input
claude e12bda5
Add table prefix-paragraph + delimiter split test
claude 571207b
Cover thematic-break-in-list-continuation branches
claude ee75a8f
test(schema): remove unreachable resetter nil-check (was patch covera…
claude File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| # Binaries for programs and plugins | ||
| *.exe | ||
| *.exe~ | ||
| *.dll | ||
| *.so | ||
| *.dylib | ||
|
|
||
| # Test binary, build with `go test -c` | ||
| *.test | ||
| *.pprof | ||
|
|
||
| # Output of the go coverage tool, specifically when used with LiteIDE | ||
| *.out | ||
|
|
||
| .DS_Store | ||
| fuzz/corpus | ||
| fuzz/crashers | ||
| fuzz/suppressions | ||
| fuzz/fuzz-fuzz.zip | ||
|
|
||
| cmd |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.