You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Charm's markdown input should more clearly define whether it aims to follow CommonMark-style block continuation behavior, and whether users should be able to opt into stricter or more Discord-like editor assistance for quotes, lists, and similar block structures.
This issue is for planning only.
No code changes are requested here.
What is CommonMark?
CommonMark is a standardized, testable specification for Markdown behavior. In practice, it defines how Markdown constructs such as blockquotes, lists, code blocks, emphasis, and lazy continuation lines should parse across implementations.
Relevant to Charm:
> test is a blockquote
consecutive > lines stay in the same blockquote
blockquotes also allow lazy continuation lines, meaning a non-> line can still remain inside the blockquote in some cases
lists and other block structures have similarly defined continuation and nesting rules
Why this matters
Right now, users may reasonably expect either:
a markdown parser that behaves close to CommonMark
a Discord-like input experience that helps keep them inside the current quote/list/code block mode
or explicit toggles that let them choose between simpler input and more structured behavior
This is especially relevant for:
single-line quotes
multi-line quotes
lazy continuation quotes such as:
> this is a test
test
test
future editor features like ASCII-to-emoji expansion or other input transforms that may also need user-facing toggles
Goals
Decide how closely Charm should follow CommonMark for markdown block parsing
Decide which behaviors are parser-level defaults versus editor-level assistive features
Avoid surprising users when quote/list/code-block continuation differs from expectations formed by Discord or standard Markdown editors
Proposed plan
Define the target behavior surface
Document whether Charm wants:
"mostly CommonMark"
"CommonMark with selected compatibility deviations"
or "Discord-inspired markdown UX layered on top of markdown parsing"
Split parser behavior from editor behavior
Parser behavior:
how markdown is interpreted when sent, edited, and round-tripped
how blockquotes, lists, and lazy continuation should parse
Editor behavior:
whether pressing Enter inside a quote/list/code block should continue that structure automatically
whether users can be "locked into" a current block until they exit it
whether toggles control assistive continuation separately from parser semantics
Add a markdown continuation preference model
Consider user-facing toggles such as:
quote continuation assist
list continuation assist
code block continuation assist
possibly a broader "structured markdown assistance" setting
Summary
Charm's markdown input should more clearly define whether it aims to follow CommonMark-style block continuation behavior, and whether users should be able to opt into stricter or more Discord-like editor assistance for quotes, lists, and similar block structures.
This issue is for planning only.
No code changes are requested here.
What is CommonMark?
CommonMark is a standardized, testable specification for Markdown behavior. In practice, it defines how Markdown constructs such as blockquotes, lists, code blocks, emphasis, and lazy continuation lines should parse across implementations.
Relevant to Charm:
> testis a blockquote>lines stay in the same blockquote>line can still remain inside the blockquote in some casesWhy this matters
Right now, users may reasonably expect either:
This is especially relevant for:
> this is a test test testGoals
Proposed plan
Suggested scope for follow-up implementation issues
Open questions
Related