Add --tags CLI option for atomic tag wrapping mode #20
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.
Summary
--tagsCLI option to control how template tags (Markdoc/Jinja/HTML comments) are handled during line wrappingatomic(default): Tags are never broken across lineswrap: Tags can wrap like normal text (legacy behavior)Key Changes
TagWrappingenum withatomicandwrapvalues--tagsCLI argument to flowmark commandtagsparameter throughfill_markdown()and related functionstest_multiline_tag_through_pipelinefor correct expectationsImplementation Notes
The implementation uses coalescing-based word splitting for both modes, allowing long tags to wrap at internal whitespace boundaries while keeping tag contents together where possible. Closing tags are placed on their own line when the opening tag spans multiple lines.
Specs:
Test Plan
Automated Testing (Completed)
make test)make lint)test_tag_formatting.pycover:Manual Validation
CLI Option Verification
flowmark --help | grep -A2 tagsshows new option--tags=wrapVerify Testdoc Output
Backward Compatibility - Format existing Markdown files with Markdoc tags and verify they format correctly
🤖 Generated with Claude Code