Modified markdown-regex-header to require a space between # and heading text #35
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.
When a markdown document contains a code block for a language that uses # as a comment character, folding is broken. For example, in the following markdown text:
Folding the first header produces the following:
In effect, my code comment is treated as a heading for the folding algorithm.
A simple fix is updating the heading regexp to require a space (\s-+), rather than allow a space (\s-*), after the opening # symbols. This appears to be consistent with the markdown specification, in which all headlines are of the form "# Heading 1" rather than "#Heading 1".
As a consequence, in code blocks we cannot use a space between the # and the code. The alternative would require detecting and ignoring lines that occur in a code block, which would be more involved.
Thanks for your time,
Tyler