Draft
Conversation
Breaking between two text nodes might result in different HTML whether indentation is enabled or not.
Member
|
Sorry for the very late answer. I don't like the solution of inserting I think the solution is indeed to have a list of "elements where white space matters" and "elements where it does not", make the printer take those list as arguments, and define the list in the respective modules. What do you think about that ? |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
I've attempted a fix to #288 but it isn't working in every cases, for example this example is still problematic:
There's an extra space before the
.when indentation is enabled. Also happens in a more common example (in Odoc):I don't think this can be solved on the printer side without adding metadata to node definitions, for example whether it is a "block" or "inline" element (defined for HTML only). Would this be reasonable ?
An other idea is to implicitly add
txt " "nodes at the end of every block elements, which the printer could detect and decide how to break.